paperback 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/tests.yml +46 -0
  3. data/.rubocop-disables.yml +26 -9
  4. data/CHANGELOG.md +7 -0
  5. data/README.md +4 -1
  6. data/lib/paperback/cli.rb +17 -0
  7. data/lib/paperback/document.rb +74 -11
  8. data/lib/paperback/preparer.rb +76 -21
  9. data/lib/paperback/version.rb +2 -1
  10. data/lib/paperback.rb +12 -0
  11. data/paperback.gemspec +10 -7
  12. data/sorbet/config +3 -0
  13. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  14. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  15. data/sorbet/rbi/gems/chunky_png@1.4.0.rbi +4498 -0
  16. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  17. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  18. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  19. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  20. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  21. data/sorbet/rbi/gems/parser@3.2.0.0.rbi +6963 -0
  22. data/sorbet/rbi/gems/pdf-core@0.4.0.rbi +1682 -0
  23. data/sorbet/rbi/gems/prawn@1.3.0.rbi +5567 -0
  24. data/sorbet/rbi/gems/pry@0.14.1.rbi +9990 -0
  25. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +408 -0
  26. data/sorbet/rbi/gems/rake@13.0.6.rbi +3023 -0
  27. data/sorbet/rbi/gems/rbi@0.0.16.rbi +3008 -0
  28. data/sorbet/rbi/gems/regexp_parser@2.6.1.rbi +3481 -0
  29. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4717 -0
  30. data/sorbet/rbi/gems/rqrcode@0.10.1.rbi +617 -0
  31. data/sorbet/rbi/gems/rspec-core@3.12.0.rbi +10791 -0
  32. data/sorbet/rbi/gems/rspec-expectations@3.12.1.rbi +8106 -0
  33. data/sorbet/rbi/gems/rspec-mocks@3.12.1.rbi +5305 -0
  34. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +1617 -0
  35. data/sorbet/rbi/gems/rspec@3.12.0.rbi +88 -0
  36. data/sorbet/rbi/gems/rubocop-ast@1.24.1.rbi +6617 -0
  37. data/sorbet/rbi/gems/rubocop@0.93.1.rbi +40848 -0
  38. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1234 -0
  39. data/sorbet/rbi/gems/sixword@0.4.0.rbi +536 -0
  40. data/sorbet/rbi/gems/spoom@1.1.15.rbi +2383 -0
  41. data/sorbet/rbi/gems/subprocess@1.5.6.rbi +391 -0
  42. data/sorbet/rbi/gems/tapioca@0.10.5.rbi +3207 -0
  43. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  44. data/sorbet/rbi/gems/ttfunk@1.4.0.rbi +1951 -0
  45. data/sorbet/rbi/gems/unicode-display_width@1.8.0.rbi +40 -0
  46. data/sorbet/rbi/gems/unparser@0.6.7.rbi +4524 -0
  47. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2555 -0
  48. data/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi +441 -0
  49. data/sorbet/rbi/gems/yard@0.9.28.rbi +17816 -0
  50. data/sorbet/tapioca/config.yml +13 -0
  51. data/sorbet/tapioca/require.rb +4 -0
  52. data/spec/functional/paperback/cli_spec.rb +54 -25
  53. data/spec/spec_helper.rb +1 -0
  54. data/spec/unit/paperback_spec.rb +1 -0
  55. metadata +89 -13
  56. data/sample/aes.key +0 -1
  57. data/sample/aes.pdf +0 -14413
  58. data/sample/aes.pdf.passphrase.txt +0 -1
  59. data/sample/rsa2048.pdf +0 -106803
  60. data/sample/rsa2048.pdf.passphrase.txt +0 -1
  61. data/sample/rsa2048.pem +0 -27
@@ -0,0 +1,3207 @@
1
+ # typed: false
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `tapioca` gem.
5
+ # Please instead update this file by running `bin/tapioca gem tapioca`.
6
+
7
+ class Bundler::Dependency < ::Gem::Dependency
8
+ include ::Tapioca::Gemfile::AutoRequireHook
9
+ end
10
+
11
+ # We need to do the alias-method-chain dance since Bootsnap does the same,
12
+ # and prepended modules and alias-method-chain don't play well together.
13
+ #
14
+ # So, why does Bootsnap do alias-method-chain and not prepend? Glad you asked!
15
+ # That's because RubyGems does alias-method-chain for Kernel#require and such,
16
+ # so, if Bootsnap were to do prepend, it might end up breaking RubyGems.
17
+ #
18
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#68
19
+ class Module
20
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#101
21
+ def append_features(constant); end
22
+
23
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#71
24
+ def autoload(const_name, path); end
25
+
26
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#111
27
+ def extend_object(obj); end
28
+
29
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#91
30
+ def prepend_features(constant); end
31
+ end
32
+
33
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#4
34
+ module RBI; end
35
+
36
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
37
+ class RBI::Tree < ::RBI::NodeWithComments
38
+ # source://rbi/0.0.16/lib/rbi/model.rb#115
39
+ sig do
40
+ params(
41
+ loc: T.nilable(::RBI::Loc),
42
+ comments: T::Array[::RBI::Comment],
43
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
44
+ ).void
45
+ end
46
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
47
+
48
+ # source://rbi/0.0.16/lib/rbi/model.rb#122
49
+ sig { params(node: ::RBI::Node).void }
50
+ def <<(node); end
51
+
52
+ # source://rbi/0.0.16/lib/rbi/printer.rb#224
53
+ sig { override.params(v: ::RBI::Printer).void }
54
+ def accept_printer(v); end
55
+
56
+ # source://rbi/0.0.16/lib/rbi/rewriters/add_sig_templates.rb#66
57
+ sig { params(with_todo_comment: T::Boolean).void }
58
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
59
+
60
+ # source://rbi/0.0.16/lib/rbi/rewriters/annotate.rb#48
61
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
62
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
63
+
64
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#38
65
+ sig do
66
+ params(
67
+ name: ::String,
68
+ superclass_name: T.nilable(::String),
69
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
70
+ ).returns(::RBI::Scope)
71
+ end
72
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
73
+
74
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#45
75
+ sig { params(name: ::String, value: ::String).void }
76
+ def create_constant(name, value:); end
77
+
78
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#55
79
+ sig { params(name: ::String).void }
80
+ def create_extend(name); end
81
+
82
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#50
83
+ sig { params(name: ::String).void }
84
+ def create_include(name); end
85
+
86
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#89
87
+ sig do
88
+ params(
89
+ name: ::String,
90
+ parameters: T::Array[::RBI::TypedParam],
91
+ return_type: ::String,
92
+ class_method: T::Boolean,
93
+ visibility: ::RBI::Visibility,
94
+ comments: T::Array[::RBI::Comment]
95
+ ).void
96
+ end
97
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
98
+
99
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#60
100
+ sig { params(name: ::String).void }
101
+ def create_mixes_in_class_methods(name); end
102
+
103
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#25
104
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
105
+ def create_module(name, &block); end
106
+
107
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#9
108
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).void }
109
+ def create_path(constant, &block); end
110
+
111
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#74
112
+ sig do
113
+ params(
114
+ name: ::String,
115
+ type: ::String,
116
+ variance: ::Symbol,
117
+ fixed: T.nilable(::String),
118
+ upper: T.nilable(::String),
119
+ lower: T.nilable(::String)
120
+ ).void
121
+ end
122
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
123
+
124
+ # source://rbi/0.0.16/lib/rbi/rewriters/deannotate.rb#40
125
+ sig { params(annotation: ::String).void }
126
+ def deannotate!(annotation); end
127
+
128
+ # source://rbi/0.0.16/lib/rbi/model.rb#128
129
+ sig { returns(T::Boolean) }
130
+ def empty?; end
131
+
132
+ # source://rbi/0.0.16/lib/rbi/rewriters/group_nodes.rb#38
133
+ sig { void }
134
+ def group_nodes!; end
135
+
136
+ # source://rbi/0.0.16/lib/rbi/index.rb#64
137
+ sig { returns(::RBI::Index) }
138
+ def index; end
139
+
140
+ # source://rbi/0.0.16/lib/rbi/rewriters/merge_trees.rb#318
141
+ sig do
142
+ params(
143
+ other: ::RBI::Tree,
144
+ left_name: ::String,
145
+ right_name: ::String,
146
+ keep: ::RBI::Rewriters::Merge::Keep
147
+ ).returns(::RBI::MergeTree)
148
+ end
149
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
150
+
151
+ # source://rbi/0.0.16/lib/rbi/rewriters/nest_non_public_methods.rb#45
152
+ sig { void }
153
+ def nest_non_public_methods!; end
154
+
155
+ # source://rbi/0.0.16/lib/rbi/rewriters/nest_singleton_methods.rb#35
156
+ sig { void }
157
+ def nest_singleton_methods!; end
158
+
159
+ # source://rbi/0.0.16/lib/rbi/model.rb#106
160
+ sig { returns(T::Array[::RBI::Node]) }
161
+ def nodes; end
162
+
163
+ # source://rbi/0.0.16/lib/rbi/printer.rb#231
164
+ sig { override.returns(T::Boolean) }
165
+ def oneline?; end
166
+
167
+ # source://rbi/0.0.16/lib/rbi/rewriters/sort_nodes.rb#107
168
+ sig { void }
169
+ def sort_nodes!; end
170
+
171
+ private
172
+
173
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#116
174
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
175
+ def create_node(node); end
176
+
177
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#111
178
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
179
+ def nodes_cache; end
180
+ end
181
+
182
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#126
183
+ class RBI::TypedParam < ::T::Struct
184
+ const :param, ::RBI::Param
185
+ const :type, ::String
186
+
187
+ class << self
188
+ # source://sorbet-runtime/0.5.10607/lib/types/struct.rb#13
189
+ def inherited(s); end
190
+ end
191
+ end
192
+
193
+ # source://rbi/0.0.16/lib/rbi/version.rb#5
194
+ RBI::VERSION = T.let(T.unsafe(nil), String)
195
+
196
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
197
+ module T::Generic
198
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
199
+ def [](*types); end
200
+
201
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
202
+ def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
203
+
204
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37
205
+ def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
206
+ end
207
+
208
+ # This module intercepts calls to generic type instantiations and type variable definitions.
209
+ # Tapioca stores the data from those calls in a `GenericTypeRegistry` which can then be used
210
+ # to look up the original call details when we are trying to do code generation.
211
+ #
212
+ # We are interested in the data of the `[]`, `type_member` and `type_template` calls which
213
+ # are all needed to generate good generic information at runtime.
214
+ #
215
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#12
216
+ module T::Generic::TypeStoragePatch
217
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
218
+ def [](*types); end
219
+
220
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
221
+ def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
222
+
223
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37
224
+ def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
225
+ end
226
+
227
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28
228
+ module T::Private::Methods
229
+ class << self
230
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30
231
+ def finalize_proc(decl); end
232
+ end
233
+ end
234
+
235
+ # source://sorbet-runtime/0.5.10607/lib/types/private/methods/_methods.rb#29
236
+ T::Private::Methods::ARG_NOT_PROVIDED = T.let(T.unsafe(nil), Object)
237
+
238
+ class T::Private::Methods::Declaration < ::Struct
239
+ def bind; end
240
+ def bind=(_); end
241
+ def checked; end
242
+ def checked=(_); end
243
+ def finalized; end
244
+ def finalized=(_); end
245
+ def mod; end
246
+ def mod=(_); end
247
+ def mode; end
248
+ def mode=(_); end
249
+ def on_failure; end
250
+ def on_failure=(_); end
251
+ def override_allow_incompatible; end
252
+ def override_allow_incompatible=(_); end
253
+ def params; end
254
+ def params=(_); end
255
+ def raw; end
256
+ def raw=(_); end
257
+ def returns; end
258
+ def returns=(_); end
259
+ def type_parameters; end
260
+ def type_parameters=(_); end
261
+
262
+ class << self
263
+ def [](*_arg0); end
264
+ def inspect; end
265
+ def keyword_init?; end
266
+ def members; end
267
+ def new(*_arg0); end
268
+ end
269
+ end
270
+
271
+ class T::Private::Methods::DeclarationBlock < ::Struct
272
+ def blk; end
273
+ def blk=(_); end
274
+ def final; end
275
+ def final=(_); end
276
+ def loc; end
277
+ def loc=(_); end
278
+ def mod; end
279
+ def mod=(_); end
280
+ def raw; end
281
+ def raw=(_); end
282
+
283
+ class << self
284
+ def [](*_arg0); end
285
+ def inspect; end
286
+ def keyword_init?; end
287
+ def members; end
288
+ def new(*_arg0); end
289
+ end
290
+ end
291
+
292
+ # source://sorbet-runtime/0.5.10607/lib/types/private/methods/_methods.rb#30
293
+ T::Private::Methods::PROC_TYPE = T.let(T.unsafe(nil), Object)
294
+
295
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#29
296
+ module T::Private::Methods::ProcBindPatch
297
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30
298
+ def finalize_proc(decl); end
299
+ end
300
+
301
+ # source://sorbet-runtime/0.5.10607/lib/types/private/methods/_methods.rb#581
302
+ T::Private::Methods::TOP_SELF = T.let(T.unsafe(nil), Object)
303
+
304
+ class T::Types::Proc < ::T::Types::Base; end
305
+
306
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#6
307
+ module T::Types::ProcBindPatch
308
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#7
309
+ def initialize(arg_types, returns, bind = T.unsafe(nil)); end
310
+
311
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#15
312
+ def name; end
313
+ end
314
+
315
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#6
316
+ class T::Types::Simple < ::T::Types::Base
317
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
318
+ def name; end
319
+ end
320
+
321
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#59
322
+ module T::Types::Simple::GenericPatch
323
+ # This method intercepts calls to the `name` method for simple types, so that
324
+ # it can ask the name to the type if the type is generic, since, by this point,
325
+ # we've created a clone of that type with the `name` method returning the
326
+ # appropriate name for that specific concrete type.
327
+ #
328
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
329
+ def name; end
330
+ end
331
+
332
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#7
333
+ module T::Types::Simple::NamePatch
334
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#10
335
+ def name; end
336
+
337
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#16
338
+ def qualified_name_of(constant); end
339
+ end
340
+
341
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#8
342
+ T::Types::Simple::NamePatch::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
343
+
344
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#84
345
+ module T::Utils::Private
346
+ class << self
347
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
348
+ def coerce_and_check_module_types(val, check_val, check_module_type); end
349
+ end
350
+ end
351
+
352
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#85
353
+ module T::Utils::Private::PrivateCoercePatch
354
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
355
+ def coerce_and_check_module_types(val, check_val, check_module_type); end
356
+ end
357
+
358
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4
359
+ module Tapioca
360
+ class << self
361
+ # source://tapioca//lib/tapioca.rb#19
362
+ sig do
363
+ type_parameters(:Result)
364
+ .params(
365
+ blk: T.proc.returns(T.type_parameter(:Result))
366
+ ).returns(T.type_parameter(:Result))
367
+ end
368
+ def silence_warnings(&blk); end
369
+ end
370
+ end
371
+
372
+ # source://tapioca//lib/tapioca.rb#37
373
+ Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
374
+
375
+ # source://tapioca//lib/tapioca.rb#60
376
+ Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
377
+
378
+ # source://tapioca//lib/tapioca.rb#59
379
+ Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
380
+
381
+ # source://tapioca//lib/tapioca.rb#58
382
+ Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
383
+
384
+ # source://tapioca//lib/tapioca/cli.rb#5
385
+ class Tapioca::Cli < ::Thor
386
+ include ::Tapioca::CliHelper
387
+ include ::Tapioca::ConfigHelper
388
+ include ::Tapioca::EnvHelper
389
+
390
+ # source://tapioca//lib/tapioca/cli.rb#332
391
+ def __print_version; end
392
+
393
+ # source://tapioca//lib/tapioca/cli.rb#312
394
+ def annotations; end
395
+
396
+ # source://tapioca//lib/tapioca/cli.rb#282
397
+ def check_shims; end
398
+
399
+ # source://tapioca//lib/tapioca/cli.rb#41
400
+ def configure; end
401
+
402
+ # source://tapioca//lib/tapioca/cli.rb#133
403
+ def dsl(*constants); end
404
+
405
+ # source://tapioca//lib/tapioca/cli.rb#234
406
+ def gem(*gems); end
407
+
408
+ # source://tapioca//lib/tapioca/cli.rb#27
409
+ def init; end
410
+
411
+ # source://tapioca//lib/tapioca/cli.rb#52
412
+ def require; end
413
+
414
+ # source://tapioca//lib/tapioca/cli.rb#71
415
+ def todo; end
416
+
417
+ private
418
+
419
+ # source://tapioca//lib/tapioca/cli.rb#346
420
+ def print_init_next_steps; end
421
+
422
+ class << self
423
+ # source://tapioca//lib/tapioca/cli.rb#338
424
+ def exit_on_failure?; end
425
+ end
426
+ end
427
+
428
+ # source://tapioca//lib/tapioca/cli.rb#10
429
+ Tapioca::Cli::FILE_HEADER_OPTION_DESC = T.let(T.unsafe(nil), String)
430
+
431
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#5
432
+ module Tapioca::CliHelper
433
+ requires_ancestor { Thor::Shell }
434
+
435
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#33
436
+ sig { params(options: T::Hash[::Symbol, T.untyped]).returns(T.nilable(::String)) }
437
+ def netrc_file(options); end
438
+
439
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#26
440
+ sig { params(options: T::Hash[::Symbol, T.untyped]).returns(::Tapioca::RBIFormatter) }
441
+ def rbi_formatter(options); end
442
+
443
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#12
444
+ sig { params(message: ::String, color: T.any(::Symbol, T::Array[::Symbol])).void }
445
+ def say_error(message = T.unsafe(nil), *color); end
446
+ end
447
+
448
+ # source://tapioca//lib/tapioca/commands.rb#5
449
+ module Tapioca::Commands; end
450
+
451
+ # source://tapioca//lib/tapioca/commands/annotations.rb#6
452
+ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
453
+ # source://tapioca//lib/tapioca/commands/annotations.rb#18
454
+ sig do
455
+ params(
456
+ central_repo_root_uris: T::Array[::String],
457
+ auth: T.nilable(::String),
458
+ netrc_file: T.nilable(::String),
459
+ central_repo_index_path: ::String,
460
+ typed_overrides: T::Hash[::String, ::String]
461
+ ).void
462
+ end
463
+ def initialize(central_repo_root_uris:, auth: T.unsafe(nil), netrc_file: T.unsafe(nil), central_repo_index_path: T.unsafe(nil), typed_overrides: T.unsafe(nil)); end
464
+
465
+ # source://tapioca//lib/tapioca/commands/annotations.rb#36
466
+ sig { override.void }
467
+ def execute; end
468
+
469
+ private
470
+
471
+ # source://tapioca//lib/tapioca/commands/annotations.rb#191
472
+ sig { params(name: ::String, content: ::String).returns(::String) }
473
+ def add_header(name, content); end
474
+
475
+ # source://tapioca//lib/tapioca/commands/annotations.rb#209
476
+ sig { params(name: ::String, content: ::String).returns(::String) }
477
+ def apply_typed_override(name, content); end
478
+
479
+ # source://tapioca//lib/tapioca/commands/annotations.rb#132
480
+ sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
481
+ def fetch_annotation(repo_uris, gem_name); end
482
+
483
+ # source://tapioca//lib/tapioca/commands/annotations.rb#109
484
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
485
+ def fetch_annotations(gem_names); end
486
+
487
+ # source://tapioca//lib/tapioca/commands/annotations.rb#150
488
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
489
+ def fetch_file(repo_uri, path); end
490
+
491
+ # source://tapioca//lib/tapioca/commands/annotations.rb#167
492
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
493
+ def fetch_http_file(repo_uri, path); end
494
+
495
+ # source://tapioca//lib/tapioca/commands/annotations.rb#98
496
+ sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
497
+ def fetch_index(repo_uri, repo_number:); end
498
+
499
+ # source://tapioca//lib/tapioca/commands/annotations.rb#77
500
+ sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
501
+ def fetch_indexes; end
502
+
503
+ # source://tapioca//lib/tapioca/commands/annotations.rb#159
504
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
505
+ def fetch_local_file(repo_uri, path); end
506
+
507
+ # source://tapioca//lib/tapioca/commands/annotations.rb#46
508
+ sig { returns(T::Array[::String]) }
509
+ def list_gemfile_gems; end
510
+
511
+ # source://tapioca//lib/tapioca/commands/annotations.rb#221
512
+ sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
513
+ def merge_files(gem_name, contents); end
514
+
515
+ # source://tapioca//lib/tapioca/commands/annotations.rb#56
516
+ sig { params(project_gems: T::Array[::String]).void }
517
+ def remove_expired_annotations(project_gems); end
518
+
519
+ # source://tapioca//lib/tapioca/commands/annotations.rb#248
520
+ sig { returns(T::Hash[::String, T.nilable(::String)]) }
521
+ def repo_tokens; end
522
+
523
+ # source://tapioca//lib/tapioca/commands/annotations.rb#276
524
+ sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
525
+ def say_http_error(path, repo_uri, message:); end
526
+
527
+ # source://tapioca//lib/tapioca/commands/annotations.rb#260
528
+ sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
529
+ def token_for(repo_uri); end
530
+ end
531
+
532
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#6
533
+ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
534
+ include ::Tapioca::SorbetHelper
535
+ include ::Tapioca::RBIFilesHelper
536
+
537
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#22
538
+ sig do
539
+ params(
540
+ gem_rbi_dir: ::String,
541
+ dsl_rbi_dir: ::String,
542
+ annotations_rbi_dir: ::String,
543
+ shim_rbi_dir: ::String,
544
+ todo_rbi_file: ::String,
545
+ payload: T::Boolean,
546
+ number_of_workers: T.nilable(::Integer)
547
+ ).void
548
+ end
549
+ def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
550
+
551
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#42
552
+ sig { override.void }
553
+ def execute; end
554
+ end
555
+
556
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
557
+ #
558
+ # source://tapioca//lib/tapioca/commands/command.rb#6
559
+ class Tapioca::Commands::Command
560
+ include ::Thor::Base
561
+ include ::Thor::Invocation
562
+ include ::Thor::Shell
563
+ include ::Tapioca::CliHelper
564
+ extend ::Thor::Base::ClassMethods
565
+ extend ::Thor::Invocation::ClassMethods
566
+
567
+ abstract!
568
+
569
+ # source://tapioca//lib/tapioca/commands/command.rb#20
570
+ sig { void }
571
+ def initialize; end
572
+
573
+ # @abstract
574
+ #
575
+ # source://tapioca//lib/tapioca/commands/command.rb#25
576
+ sig { abstract.void }
577
+ def execute; end
578
+
579
+ # source://thor/1.2.1/lib/thor/base.rb#139
580
+ sig { returns(::Thor::Actions) }
581
+ def file_writer; end
582
+
583
+ private
584
+
585
+ # source://tapioca//lib/tapioca/commands/command.rb#46
586
+ sig do
587
+ params(
588
+ path: T.any(::Pathname, ::String),
589
+ content: ::String,
590
+ force: T::Boolean,
591
+ skip: T::Boolean,
592
+ verbose: T::Boolean
593
+ ).void
594
+ end
595
+ def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
596
+
597
+ # source://tapioca//lib/tapioca/commands/command.rb#30
598
+ sig { params(command: ::Symbol, args: ::String).returns(::String) }
599
+ def default_command(command, *args); end
600
+
601
+ # source://tapioca//lib/tapioca/commands/command.rb#56
602
+ sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
603
+ def remove_file(path, verbose: T.unsafe(nil)); end
604
+ end
605
+
606
+ # source://tapioca//lib/tapioca/commands/command.rb#10
607
+ class Tapioca::Commands::Command::FileWriter < ::Thor
608
+ include ::Thor::Actions
609
+ extend ::Thor::Actions::ClassMethods
610
+ end
611
+
612
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
613
+ #
614
+ # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6
615
+ class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
616
+ abstract!
617
+
618
+ # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
619
+ sig { void }
620
+ def initialize; end
621
+ end
622
+
623
+ # source://tapioca//lib/tapioca/commands/configure.rb#6
624
+ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
625
+ # source://tapioca//lib/tapioca/commands/configure.rb#14
626
+ sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
627
+ def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
628
+
629
+ # source://tapioca//lib/tapioca/commands/configure.rb#30
630
+ sig { override.void }
631
+ def execute; end
632
+
633
+ private
634
+
635
+ # source://tapioca//lib/tapioca/commands/configure.rb#78
636
+ sig { void }
637
+ def create_binstub; end
638
+
639
+ # source://tapioca//lib/tapioca/commands/configure.rb#68
640
+ sig { void }
641
+ def create_post_require; end
642
+
643
+ # source://tapioca//lib/tapioca/commands/configure.rb#40
644
+ sig { void }
645
+ def create_sorbet_config; end
646
+
647
+ # source://tapioca//lib/tapioca/commands/configure.rb#49
648
+ sig { void }
649
+ def create_tapioca_config; end
650
+
651
+ # source://tapioca//lib/tapioca/commands/configure.rb#91
652
+ sig { returns(::Bundler::Installer) }
653
+ def installer; end
654
+
655
+ # source://tapioca//lib/tapioca/commands/configure.rb#96
656
+ sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
657
+ def spec; end
658
+ end
659
+
660
+ # source://tapioca//lib/tapioca/commands/dsl.rb#6
661
+ class Tapioca::Commands::Dsl < ::Tapioca::Commands::CommandWithoutTracker
662
+ include ::Tapioca::SorbetHelper
663
+ include ::Tapioca::RBIFilesHelper
664
+
665
+ # source://tapioca//lib/tapioca/commands/dsl.rb#28
666
+ sig do
667
+ params(
668
+ requested_constants: T::Array[::String],
669
+ outpath: ::Pathname,
670
+ only: T::Array[::String],
671
+ exclude: T::Array[::String],
672
+ file_header: T::Boolean,
673
+ tapioca_path: ::String,
674
+ should_verify: T::Boolean,
675
+ quiet: T::Boolean,
676
+ verbose: T::Boolean,
677
+ number_of_workers: T.nilable(::Integer),
678
+ auto_strictness: T::Boolean,
679
+ gem_dir: ::String,
680
+ rbi_formatter: ::Tapioca::RBIFormatter,
681
+ app_root: ::String
682
+ ).void
683
+ end
684
+ def initialize(requested_constants:, outpath:, only:, exclude:, file_header:, tapioca_path:, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil)); end
685
+
686
+ # source://tapioca//lib/tapioca/commands/dsl.rb#90
687
+ sig { override.void }
688
+ def execute; end
689
+
690
+ # source://tapioca//lib/tapioca/commands/dsl.rb#63
691
+ sig { void }
692
+ def list_compilers; end
693
+
694
+ private
695
+
696
+ # source://tapioca//lib/tapioca/commands/dsl.rb#317
697
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
698
+ def build_error_for_files(cause, files); end
699
+
700
+ # source://tapioca//lib/tapioca/commands/dsl.rb#241
701
+ sig do
702
+ params(
703
+ constant_name: ::String,
704
+ rbi: ::RBI::File,
705
+ outpath: ::Pathname,
706
+ quiet: T::Boolean
707
+ ).returns(T.nilable(::Pathname))
708
+ end
709
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
710
+
711
+ # source://tapioca//lib/tapioca/commands/dsl.rb#179
712
+ sig { params(constant_names: T::Array[::String]).returns(T::Array[::Module]) }
713
+ def constantize(constant_names); end
714
+
715
+ # source://tapioca//lib/tapioca/commands/dsl.rb#202
716
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
717
+ def constantize_compilers(compiler_names); end
718
+
719
+ # source://tapioca//lib/tapioca/commands/dsl.rb#153
720
+ sig { returns(::Tapioca::Dsl::Pipeline) }
721
+ def create_pipeline; end
722
+
723
+ # source://tapioca//lib/tapioca/commands/dsl.rb#280
724
+ sig { params(constant_name: ::String).returns(::Pathname) }
725
+ def dsl_rbi_filename(constant_name); end
726
+
727
+ # source://tapioca//lib/tapioca/commands/dsl.rb#166
728
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
729
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
730
+
731
+ # source://tapioca//lib/tapioca/commands/dsl.rb#370
732
+ sig { params(constant: ::String).returns(::String) }
733
+ def generate_command_for(constant); end
734
+
735
+ # source://tapioca//lib/tapioca/commands/dsl.rb#259
736
+ sig { params(dir: ::Pathname).void }
737
+ def perform_dsl_verification(dir); end
738
+
739
+ # source://tapioca//lib/tapioca/commands/dsl.rb#268
740
+ sig { params(files: T::Set[::Pathname]).void }
741
+ def purge_stale_dsl_rbi_files(files); end
742
+
743
+ # source://tapioca//lib/tapioca/commands/dsl.rb#365
744
+ sig { params(constant: ::String).returns(::String) }
745
+ def rbi_filename_for(constant); end
746
+
747
+ # source://tapioca//lib/tapioca/commands/dsl.rb#346
748
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
749
+ def rbi_files_in(path); end
750
+
751
+ # source://tapioca//lib/tapioca/commands/dsl.rb#326
752
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
753
+ def report_diff_and_exit_if_out_of_date(diff, command); end
754
+
755
+ # source://tapioca//lib/tapioca/commands/dsl.rb#221
756
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
757
+ def resolve(name); end
758
+
759
+ # source://tapioca//lib/tapioca/commands/dsl.rb#353
760
+ sig { params(class_name: ::String).returns(::String) }
761
+ def underscore(class_name); end
762
+
763
+ # source://tapioca//lib/tapioca/commands/dsl.rb#285
764
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
765
+ def verify_dsl_rbi(tmp_dir:); end
766
+ end
767
+
768
+ # source://tapioca//lib/tapioca/commands/gem.rb#6
769
+ class Tapioca::Commands::Gem < ::Tapioca::Commands::Command
770
+ include ::Tapioca::SorbetHelper
771
+ include ::Tapioca::RBIFilesHelper
772
+
773
+ # source://tapioca//lib/tapioca/commands/gem.rb#28
774
+ sig do
775
+ params(
776
+ gem_names: T::Array[::String],
777
+ exclude: T::Array[::String],
778
+ prerequire: T.nilable(::String),
779
+ postrequire: ::String,
780
+ typed_overrides: T::Hash[::String, ::String],
781
+ outpath: ::Pathname,
782
+ file_header: T::Boolean,
783
+ include_doc: T::Boolean,
784
+ include_loc: T::Boolean,
785
+ include_exported_rbis: T::Boolean,
786
+ number_of_workers: T.nilable(::Integer),
787
+ auto_strictness: T::Boolean,
788
+ dsl_dir: ::String,
789
+ rbi_formatter: ::Tapioca::RBIFormatter
790
+ ).void
791
+ end
792
+ def initialize(gem_names:, exclude:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end
793
+
794
+ # source://tapioca//lib/tapioca/commands/gem.rb#67
795
+ sig { override.void }
796
+ def execute; end
797
+
798
+ # source://tapioca//lib/tapioca/commands/gem.rb#105
799
+ sig { params(should_verify: T::Boolean, exclude: T::Array[::String]).void }
800
+ def sync(should_verify: T.unsafe(nil), exclude: T.unsafe(nil)); end
801
+
802
+ private
803
+
804
+ # source://tapioca//lib/tapioca/commands/gem.rb#283
805
+ sig { returns(T::Array[::String]) }
806
+ def added_rbis; end
807
+
808
+ # source://tapioca//lib/tapioca/commands/gem.rb#344
809
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
810
+ def build_error_for_files(cause, files); end
811
+
812
+ # source://tapioca//lib/tapioca/commands/gem.rb#154
813
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
814
+ def compile_gem_rbi(gem); end
815
+
816
+ # source://tapioca//lib/tapioca/commands/gem.rb#278
817
+ sig { params(gem_name: ::String).returns(::Pathname) }
818
+ def existing_rbi(gem_name); end
819
+
820
+ # source://tapioca//lib/tapioca/commands/gem.rb#326
821
+ sig { returns(T::Hash[::String, ::String]) }
822
+ def existing_rbis; end
823
+
824
+ # source://tapioca//lib/tapioca/commands/gem.rb#290
825
+ sig { params(gem_name: ::String).returns(::Pathname) }
826
+ def expected_rbi(gem_name); end
827
+
828
+ # source://tapioca//lib/tapioca/commands/gem.rb#332
829
+ sig { returns(T::Hash[::String, ::String]) }
830
+ def expected_rbis; end
831
+
832
+ # source://tapioca//lib/tapioca/commands/gem.rb#295
833
+ sig { params(gem_name: ::String).returns(T::Boolean) }
834
+ def gem_rbi_exists?(gem_name); end
835
+
836
+ # source://tapioca//lib/tapioca/commands/gem.rb#339
837
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
838
+ def gem_rbi_filename(gem_name, version); end
839
+
840
+ # source://tapioca//lib/tapioca/commands/gem.rb#139
841
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
842
+ def gems_to_generate(gem_names); end
843
+
844
+ # source://tapioca//lib/tapioca/commands/gem.rb#349
845
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
846
+ def merge_with_exported_rbi(gem, file); end
847
+
848
+ # source://tapioca//lib/tapioca/commands/gem.rb#320
849
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
850
+ def move(old_filename, new_filename); end
851
+
852
+ # source://tapioca//lib/tapioca/commands/gem.rb#231
853
+ sig { void }
854
+ def perform_additions; end
855
+
856
+ # source://tapioca//lib/tapioca/commands/gem.rb#204
857
+ sig { void }
858
+ def perform_removals; end
859
+
860
+ # source://tapioca//lib/tapioca/commands/gem.rb#185
861
+ sig { params(exclude: T::Array[::String]).void }
862
+ def perform_sync_verification(exclude: T.unsafe(nil)); end
863
+
864
+ # source://tapioca//lib/tapioca/commands/gem.rb#273
865
+ sig { returns(T::Array[::String]) }
866
+ def removed_rbis; end
867
+
868
+ # source://tapioca//lib/tapioca/commands/gem.rb#300
869
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
870
+ def report_diff_and_exit_if_out_of_date(diff, command); end
871
+ end
872
+
873
+ # source://tapioca//lib/tapioca/commands/require.rb#6
874
+ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
875
+ # source://tapioca//lib/tapioca/commands/require.rb#13
876
+ sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
877
+ def initialize(requires_path:, sorbet_config_path:); end
878
+
879
+ # source://tapioca//lib/tapioca/commands/require.rb#21
880
+ sig { override.void }
881
+ def execute; end
882
+ end
883
+
884
+ # source://tapioca//lib/tapioca/commands/todo.rb#6
885
+ class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
886
+ include ::Tapioca::SorbetHelper
887
+
888
+ # source://tapioca//lib/tapioca/commands/todo.rb#15
889
+ sig { params(todo_file: ::String, file_header: T::Boolean).void }
890
+ def initialize(todo_file:, file_header:); end
891
+
892
+ # source://tapioca//lib/tapioca/commands/todo.rb#23
893
+ sig { override.void }
894
+ def execute; end
895
+
896
+ private
897
+
898
+ # source://tapioca//lib/tapioca/commands/todo.rb#49
899
+ sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
900
+ def rbi(constants, command:); end
901
+
902
+ # source://tapioca//lib/tapioca/commands/todo.rb#69
903
+ sig { returns(T::Array[::String]) }
904
+ def unresolved_constants; end
905
+ end
906
+
907
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#5
908
+ module Tapioca::ConfigHelper
909
+ requires_ancestor { Thor }
910
+
911
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#18
912
+ sig { params(args: T.untyped, local_options: T.untyped, config: T.untyped).void }
913
+ def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end
914
+
915
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#12
916
+ sig { returns(::String) }
917
+ def command_name; end
918
+
919
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#15
920
+ sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) }
921
+ def defaults; end
922
+
923
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#34
924
+ sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) }
925
+ def options; end
926
+
927
+ private
928
+
929
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#151
930
+ sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
931
+ def build_error(msg); end
932
+
933
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#176
934
+ sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
935
+ def build_error_message(config_file, errors); end
936
+
937
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#56
938
+ sig do
939
+ params(
940
+ options: ::Thor::CoreExt::HashWithIndifferentAccess
941
+ ).returns(::Thor::CoreExt::HashWithIndifferentAccess)
942
+ end
943
+ def config_options(options); end
944
+
945
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#46
946
+ sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
947
+ def filter_defaults(options); end
948
+
949
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#194
950
+ sig do
951
+ params(
952
+ options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
953
+ ).returns(::Thor::CoreExt::HashWithIndifferentAccess)
954
+ end
955
+ def merge_options(*options); end
956
+
957
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#70
958
+ sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void }
959
+ def validate_config!(config_file, config); end
960
+
961
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#102
962
+ sig do
963
+ params(
964
+ command_options: T::Hash[::Symbol, ::Thor::Option],
965
+ config_key: ::String,
966
+ config_options: T::Hash[T.untyped, T.untyped]
967
+ ).returns(T::Array[::Tapioca::ConfigHelper::ConfigError])
968
+ end
969
+ def validate_config_options(command_options, config_key, config_options); end
970
+ end
971
+
972
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#146
973
+ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
974
+ const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
975
+
976
+ class << self
977
+ # source://sorbet-runtime/0.5.10607/lib/types/struct.rb#13
978
+ def inherited(s); end
979
+ end
980
+ end
981
+
982
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#141
983
+ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
984
+ const :message, ::String
985
+ const :colors, T::Array[::Symbol]
986
+
987
+ class << self
988
+ # source://sorbet-runtime/0.5.10607/lib/types/struct.rb#13
989
+ def inherited(s); end
990
+ end
991
+ end
992
+
993
+ # source://tapioca//lib/tapioca.rb#44
994
+ Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
995
+
996
+ # source://tapioca//lib/tapioca.rb#40
997
+ Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
998
+
999
+ # source://tapioca//lib/tapioca.rb#56
1000
+ Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1001
+
1002
+ # source://tapioca//lib/tapioca.rb#41
1003
+ Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1004
+
1005
+ # source://tapioca//lib/tapioca.rb#46
1006
+ Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1007
+
1008
+ # source://tapioca//lib/tapioca.rb#38
1009
+ Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1010
+
1011
+ # source://tapioca//lib/tapioca.rb#39
1012
+ Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1013
+
1014
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#29
1015
+ Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1016
+
1017
+ # source://tapioca//lib/tapioca.rb#55
1018
+ Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1019
+
1020
+ # source://tapioca//lib/tapioca.rb#42
1021
+ Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1022
+
1023
+ # source://tapioca//lib/tapioca.rb#43
1024
+ Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1025
+
1026
+ # source://tapioca//lib/tapioca/dsl/compilers.rb#5
1027
+ module Tapioca::Dsl; end
1028
+
1029
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1030
+ #
1031
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#6
1032
+ class Tapioca::Dsl::Compiler
1033
+ extend T::Generic
1034
+ include ::Tapioca::SorbetHelper
1035
+ include ::Tapioca::RBIHelper
1036
+ include ::Tapioca::Runtime::Reflection
1037
+ extend ::Tapioca::Runtime::Reflection
1038
+
1039
+ abstract!
1040
+
1041
+ ConstantType = type_member { { upper: Module } }
1042
+
1043
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#60
1044
+ sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
1045
+ def initialize(pipeline, root, constant); end
1046
+
1047
+ # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1048
+ #
1049
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#77
1050
+ sig { params(error: ::String).void }
1051
+ def add_error(error); end
1052
+
1053
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#68
1054
+ sig { params(compiler_name: ::String).returns(T::Boolean) }
1055
+ def compiler_enabled?(compiler_name); end
1056
+
1057
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#20
1058
+ sig { returns(ConstantType) }
1059
+ def constant; end
1060
+
1061
+ # @abstract
1062
+ #
1063
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#73
1064
+ sig { abstract.void }
1065
+ def decorate; end
1066
+
1067
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#23
1068
+ sig { returns(::RBI::Tree) }
1069
+ def root; end
1070
+
1071
+ private
1072
+
1073
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#126
1074
+ sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1075
+ def compile_method_parameters_to_rbi(method_def); end
1076
+
1077
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#162
1078
+ sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1079
+ def compile_method_return_type_to_rbi(method_def); end
1080
+
1081
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#116
1082
+ sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1083
+ def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1084
+
1085
+ # Get the types of each parameter from a method signature
1086
+ #
1087
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#90
1088
+ sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1089
+ def parameters_types_from_signature(method_def, signature); end
1090
+
1091
+ class << self
1092
+ # @abstract
1093
+ #
1094
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1095
+ sig { abstract.returns(T::Enumerable[::Module]) }
1096
+ def gather_constants; end
1097
+
1098
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#29
1099
+ sig { params(constant: ::Module).returns(T::Boolean) }
1100
+ def handles?(constant); end
1101
+
1102
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#37
1103
+ sig { returns(T::Set[::Module]) }
1104
+ def processable_constants; end
1105
+
1106
+ private
1107
+
1108
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#47
1109
+ sig { returns(T::Enumerable[::Class]) }
1110
+ def all_classes; end
1111
+
1112
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#53
1113
+ sig { returns(T::Enumerable[::Module]) }
1114
+ def all_modules; end
1115
+ end
1116
+ end
1117
+
1118
+ # source://tapioca//lib/tapioca/dsl/compilers.rb#6
1119
+ module Tapioca::Dsl::Compilers; end
1120
+
1121
+ # DSL compilers are either built-in to Tapioca and live under the
1122
+ # `Tapioca::Dsl::Compilers` namespace (i.e. this namespace), and
1123
+ # can be referred to by just using the class name, or they live in
1124
+ # a different namespace and can only be referred to using their fully
1125
+ # qualified name. This constant encapsulates that dual lookup when
1126
+ # a compiler needs to be resolved by name.
1127
+ #
1128
+ # source://tapioca//lib/tapioca/dsl/compilers.rb#13
1129
+ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1130
+
1131
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#6
1132
+ class Tapioca::Dsl::Pipeline
1133
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#30
1134
+ sig do
1135
+ params(
1136
+ requested_constants: T::Array[::Module],
1137
+ requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1138
+ excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1139
+ error_handler: T.proc.params(error: ::String).void,
1140
+ number_of_workers: T.nilable(::Integer)
1141
+ ).void
1142
+ end
1143
+ def initialize(requested_constants:, requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), number_of_workers: T.unsafe(nil)); end
1144
+
1145
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#10
1146
+ sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1147
+ def active_compilers; end
1148
+
1149
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#82
1150
+ sig { params(error: ::String).void }
1151
+ def add_error(error); end
1152
+
1153
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#87
1154
+ sig { params(compiler_name: ::String).returns(T::Boolean) }
1155
+ def compiler_enabled?(compiler_name); end
1156
+
1157
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#96
1158
+ sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1159
+ def compilers; end
1160
+
1161
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#16
1162
+ sig { returns(T.proc.params(error: ::String).void) }
1163
+ def error_handler; end
1164
+
1165
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#19
1166
+ sig { returns(T::Array[::String]) }
1167
+ def errors; end
1168
+
1169
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#13
1170
+ sig { returns(T::Array[::Module]) }
1171
+ def requested_constants; end
1172
+
1173
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#52
1174
+ sig do
1175
+ type_parameters(:T)
1176
+ .params(
1177
+ blk: T.proc.params(constant: ::Module, rbi: ::RBI::File).returns(T.type_parameter(:T))
1178
+ ).returns(T::Array[T.type_parameter(:T)])
1179
+ end
1180
+ def run(&blk); end
1181
+
1182
+ private
1183
+
1184
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#128
1185
+ sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1186
+ def filter_anonymous_and_reloaded_constants(constants); end
1187
+
1188
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#111
1189
+ sig do
1190
+ params(
1191
+ requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1192
+ excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)]
1193
+ ).returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)])
1194
+ end
1195
+ def gather_active_compilers(requested_compilers, excluded_compilers); end
1196
+
1197
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#119
1198
+ sig { params(requested_constants: T::Array[::Module]).returns(T::Set[::Module]) }
1199
+ def gather_constants(requested_constants); end
1200
+
1201
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#156
1202
+ sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1203
+ def rbi_for_constant(constant); end
1204
+
1205
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#175
1206
+ sig { params(error: ::String).returns(T.noreturn) }
1207
+ def report_error(error); end
1208
+ end
1209
+
1210
+ # source://tapioca//lib/tapioca/helpers/env_helper.rb#5
1211
+ module Tapioca::EnvHelper
1212
+ requires_ancestor { Thor }
1213
+
1214
+ # source://tapioca//lib/tapioca/helpers/env_helper.rb#12
1215
+ sig { params(options: T::Hash[::Symbol, T.untyped]).void }
1216
+ def set_environment(options); end
1217
+ end
1218
+
1219
+ class Tapioca::Error < ::StandardError; end
1220
+
1221
+ # source://tapioca//lib/tapioca/executor.rb#5
1222
+ class Tapioca::Executor
1223
+ # source://tapioca//lib/tapioca/executor.rb#11
1224
+ sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void }
1225
+ def initialize(queue, number_of_workers: T.unsafe(nil)); end
1226
+
1227
+ # source://tapioca//lib/tapioca/executor.rb#28
1228
+ sig do
1229
+ type_parameters(:T)
1230
+ .params(
1231
+ block: T.proc.params(item: T.untyped).returns(T.type_parameter(:T))
1232
+ ).returns(T::Array[T.type_parameter(:T)])
1233
+ end
1234
+ def run_in_parallel(&block); end
1235
+ end
1236
+
1237
+ # source://tapioca//lib/tapioca/executor.rb#8
1238
+ Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer)
1239
+
1240
+ # source://tapioca//lib/tapioca/gem/events.rb#5
1241
+ module Tapioca::Gem; end
1242
+
1243
+ # source://tapioca//lib/tapioca/gem/events.rb#77
1244
+ class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded
1245
+ # source://tapioca//lib/tapioca/gem/events.rb#84
1246
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1247
+ def initialize(symbol, constant, node); end
1248
+
1249
+ # source://tapioca//lib/tapioca/gem/events.rb#81
1250
+ sig { returns(::RBI::Const) }
1251
+ def node; end
1252
+ end
1253
+
1254
+ # source://tapioca//lib/tapioca/gem/events.rb#26
1255
+ class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event
1256
+ # source://tapioca//lib/tapioca/gem/events.rb#36
1257
+ sig { params(symbol: ::String, constant: ::BasicObject).void }
1258
+ def initialize(symbol, constant); end
1259
+
1260
+ # source://tapioca//lib/tapioca/gem/events.rb#33
1261
+ sig { returns(::BasicObject) }
1262
+ def constant; end
1263
+
1264
+ # source://tapioca//lib/tapioca/gem/events.rb#30
1265
+ sig { returns(::String) }
1266
+ def symbol; end
1267
+ end
1268
+
1269
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1270
+ #
1271
+ # source://tapioca//lib/tapioca/gem/events.rb#6
1272
+ class Tapioca::Gem::Event
1273
+ abstract!
1274
+
1275
+ # source://sorbet-runtime/0.5.10607/lib/types/private/abstract/declare.rb#37
1276
+ def initialize(*args, **_arg1, &blk); end
1277
+ end
1278
+
1279
+ # source://tapioca//lib/tapioca/gem/events.rb#43
1280
+ class Tapioca::Gem::ForeignConstantFound < ::Tapioca::Gem::ConstantFound
1281
+ # source://tapioca//lib/tapioca/gem/events.rb#52
1282
+ sig { params(symbol: ::String, constant: ::Module).void }
1283
+ def initialize(symbol, constant); end
1284
+
1285
+ # source://tapioca//lib/tapioca/gem/events.rb#47
1286
+ sig { override.returns(::Module) }
1287
+ def constant; end
1288
+ end
1289
+
1290
+ # source://tapioca//lib/tapioca/gem/events.rb#103
1291
+ class Tapioca::Gem::ForeignScopeNodeAdded < ::Tapioca::Gem::ScopeNodeAdded; end
1292
+
1293
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#6
1294
+ module Tapioca::Gem::Listeners; end
1295
+
1296
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1297
+ #
1298
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#7
1299
+ class Tapioca::Gem::Listeners::Base
1300
+ abstract!
1301
+
1302
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#14
1303
+ sig { params(pipeline: ::Tapioca::Gem::Pipeline).void }
1304
+ def initialize(pipeline); end
1305
+
1306
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#19
1307
+ sig { params(event: ::Tapioca::Gem::NodeAdded).void }
1308
+ def dispatch(event); end
1309
+
1310
+ private
1311
+
1312
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#49
1313
+ sig { params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1314
+ def ignore?(event); end
1315
+
1316
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#37
1317
+ sig { params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1318
+ def on_const(event); end
1319
+
1320
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#45
1321
+ sig { params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1322
+ def on_method(event); end
1323
+
1324
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#41
1325
+ sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1326
+ def on_scope(event); end
1327
+ end
1328
+
1329
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7
1330
+ class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base
1331
+ include ::Tapioca::Runtime::Reflection
1332
+
1333
+ private
1334
+
1335
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#31
1336
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1337
+ def ignore?(event); end
1338
+
1339
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#15
1340
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1341
+ def on_scope(event); end
1342
+ end
1343
+
1344
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#7
1345
+ class Tapioca::Gem::Listeners::ForeignConstants < ::Tapioca::Gem::Listeners::Base
1346
+ include ::Tapioca::Runtime::Reflection
1347
+
1348
+ private
1349
+
1350
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#60
1351
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1352
+ def ignore?(event); end
1353
+
1354
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#55
1355
+ sig { params(location: ::String).returns(T::Boolean) }
1356
+ def mixed_in_by_gem?(location); end
1357
+
1358
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#15
1359
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1360
+ def on_scope(event); end
1361
+ end
1362
+
1363
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#7
1364
+ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1365
+ include ::Tapioca::SorbetHelper
1366
+ include ::Tapioca::RBIHelper
1367
+ include ::Tapioca::Runtime::Reflection
1368
+
1369
+ private
1370
+
1371
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#34
1372
+ sig { params(tree: ::RBI::Tree, module_name: ::String, mod: ::Module, for_visibility: T::Array[::Symbol]).void }
1373
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end
1374
+
1375
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#63
1376
+ sig do
1377
+ params(
1378
+ tree: ::RBI::Tree,
1379
+ symbol_name: ::String,
1380
+ constant: ::Module,
1381
+ method: T.nilable(::UnboundMethod),
1382
+ visibility: ::RBI::Visibility
1383
+ ).void
1384
+ end
1385
+ def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
1386
+
1387
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#191
1388
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1389
+ def ignore?(event); end
1390
+
1391
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#184
1392
+ sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1393
+ def initialize_method_for(constant); end
1394
+
1395
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#165
1396
+ sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1397
+ def method_names_by_visibility(mod); end
1398
+
1399
+ # Check whether the method is defined by the constant.
1400
+ #
1401
+ # In most cases, it works to check that the constant is the method owner. However,
1402
+ # in the case that a method is also defined in a module prepended to the constant, it
1403
+ # will be owned by the prepended module, not the constant.
1404
+ #
1405
+ # This method implements a better way of checking whether a constant defines a method.
1406
+ # It walks up the ancestor tree via the `super_method` method; if any of the super
1407
+ # methods are owned by the constant, it means that the constant declares the method.
1408
+ #
1409
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#151
1410
+ sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) }
1411
+ def method_owned_by_constant?(method, constant); end
1412
+
1413
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#16
1414
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1415
+ def on_scope(event); end
1416
+
1417
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#174
1418
+ sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) }
1419
+ def struct_method?(constant, method_name); end
1420
+ end
1421
+
1422
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#7
1423
+ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base
1424
+ include ::Tapioca::Runtime::Reflection
1425
+
1426
+ private
1427
+
1428
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#42
1429
+ sig do
1430
+ params(
1431
+ tree: ::RBI::Tree,
1432
+ constant: ::Module,
1433
+ mods: T::Array[::Module],
1434
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type
1435
+ ).void
1436
+ end
1437
+ def add_mixins(tree, constant, mods, mixin_type); end
1438
+
1439
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#84
1440
+ sig { params(mixin_name: ::String).returns(T::Boolean) }
1441
+ def filtered_mixin?(mixin_name); end
1442
+
1443
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#91
1444
+ sig { params(constant: ::Module).returns(T::Array[::Module]) }
1445
+ def interesting_ancestors_of(constant); end
1446
+
1447
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#75
1448
+ sig do
1449
+ params(
1450
+ constant: ::Module,
1451
+ mixin: ::Module,
1452
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type
1453
+ ).returns(T::Boolean)
1454
+ end
1455
+ def mixed_in_by_gem?(constant, mixin, mixin_type); end
1456
+
1457
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#15
1458
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1459
+ def on_scope(event); end
1460
+ end
1461
+
1462
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#7
1463
+ class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listeners::Base
1464
+ include ::Tapioca::Runtime::Reflection
1465
+
1466
+ private
1467
+
1468
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#20
1469
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1470
+ def ignore?(event); end
1471
+
1472
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#15
1473
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1474
+ def on_scope(event); end
1475
+ end
1476
+
1477
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#7
1478
+ class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base
1479
+ private
1480
+
1481
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#25
1482
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1483
+ def ignore?(event); end
1484
+
1485
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#13
1486
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1487
+ def on_scope(event); end
1488
+ end
1489
+
1490
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#7
1491
+ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
1492
+ include ::Tapioca::Runtime::Reflection
1493
+
1494
+ private
1495
+
1496
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#28
1497
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1498
+ def ignore?(event); end
1499
+
1500
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#15
1501
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1502
+ def on_scope(event); end
1503
+ end
1504
+
1505
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7
1506
+ class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1507
+ private
1508
+
1509
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#32
1510
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1511
+ def ignore?(event); end
1512
+
1513
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#13
1514
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1515
+ def on_scope(event); end
1516
+ end
1517
+
1518
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#7
1519
+ class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base
1520
+ private
1521
+
1522
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#23
1523
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1524
+ def ignore?(event); end
1525
+
1526
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#13
1527
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1528
+ def on_scope(event); end
1529
+ end
1530
+
1531
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#7
1532
+ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Base
1533
+ include ::Tapioca::Runtime::Reflection
1534
+ include ::Tapioca::SorbetHelper
1535
+ include ::Tapioca::RBIHelper
1536
+
1537
+ private
1538
+
1539
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#26
1540
+ sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
1541
+ def compile_signature(signature, parameters); end
1542
+
1543
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#78
1544
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1545
+ def ignore?(event); end
1546
+
1547
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#18
1548
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1549
+ def on_method(event); end
1550
+
1551
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#68
1552
+ sig { params(signature: T.untyped).returns(T::Boolean) }
1553
+ def signature_final?(signature); end
1554
+ end
1555
+
1556
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#13
1557
+ Tapioca::Gem::Listeners::SorbetSignatures::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp)
1558
+
1559
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#7
1560
+ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::Base
1561
+ include ::Tapioca::Runtime::Reflection
1562
+
1563
+ private
1564
+
1565
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#27
1566
+ sig { params(tree: ::RBI::Tree, constant: ::Module).void }
1567
+ def compile_type_variable_declarations(tree, constant); end
1568
+
1569
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1570
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1571
+ def ignore?(event); end
1572
+
1573
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15
1574
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1575
+ def on_scope(event); end
1576
+ end
1577
+
1578
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#7
1579
+ class Tapioca::Gem::Listeners::SourceLocation < ::Tapioca::Gem::Listeners::Base
1580
+ private
1581
+
1582
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#41
1583
+ sig { params(node: ::RBI::NodeWithComments, file: T.nilable(::String), line: T.nilable(::Integer)).void }
1584
+ def add_source_location_comment(node, file, line); end
1585
+
1586
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#13
1587
+ sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1588
+ def on_const(event); end
1589
+
1590
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#35
1591
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1592
+ def on_method(event); end
1593
+
1594
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#19
1595
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1596
+ def on_scope(event); end
1597
+ end
1598
+
1599
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#7
1600
+ class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base
1601
+ include ::Tapioca::Runtime::Reflection
1602
+
1603
+ private
1604
+
1605
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#36
1606
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1607
+ def ignore?(event); end
1608
+
1609
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#15
1610
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1611
+ def on_scope(event); end
1612
+ end
1613
+
1614
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#7
1615
+ class Tapioca::Gem::Listeners::YardDoc < ::Tapioca::Gem::Listeners::Base
1616
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#27
1617
+ sig { params(pipeline: ::Tapioca::Gem::Pipeline).void }
1618
+ def initialize(pipeline); end
1619
+
1620
+ private
1621
+
1622
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#54
1623
+ sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
1624
+ def documentation_comments(name, sigs: T.unsafe(nil)); end
1625
+
1626
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#98
1627
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1628
+ def ignore?(event); end
1629
+
1630
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#35
1631
+ sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1632
+ def on_const(event); end
1633
+
1634
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#45
1635
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1636
+ def on_method(event); end
1637
+
1638
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#40
1639
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1640
+ def on_scope(event); end
1641
+ end
1642
+
1643
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#10
1644
+ Tapioca::Gem::Listeners::YardDoc::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array)
1645
+
1646
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#24
1647
+ Tapioca::Gem::Listeners::YardDoc::IGNORED_SIG_TAGS = T.let(T.unsafe(nil), Array)
1648
+
1649
+ # source://tapioca//lib/tapioca/gem/events.rb#105
1650
+ class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded
1651
+ # source://tapioca//lib/tapioca/gem/events.rb#130
1652
+ sig do
1653
+ params(
1654
+ symbol: ::String,
1655
+ constant: ::Module,
1656
+ method: ::UnboundMethod,
1657
+ node: ::RBI::Method,
1658
+ signature: T.untyped,
1659
+ parameters: T::Array[[::Symbol, ::String]]
1660
+ ).void
1661
+ end
1662
+ def initialize(symbol, constant, method, node, signature, parameters); end
1663
+
1664
+ # source://tapioca//lib/tapioca/gem/events.rb#109
1665
+ sig { returns(::UnboundMethod) }
1666
+ def method; end
1667
+
1668
+ # source://tapioca//lib/tapioca/gem/events.rb#112
1669
+ sig { returns(::RBI::Method) }
1670
+ def node; end
1671
+
1672
+ # source://tapioca//lib/tapioca/gem/events.rb#118
1673
+ sig { returns(T::Array[[::Symbol, ::String]]) }
1674
+ def parameters; end
1675
+
1676
+ # source://tapioca//lib/tapioca/gem/events.rb#115
1677
+ sig { returns(T.untyped) }
1678
+ def signature; end
1679
+ end
1680
+
1681
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1682
+ #
1683
+ # source://tapioca//lib/tapioca/gem/events.rb#57
1684
+ class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
1685
+ abstract!
1686
+
1687
+ # source://tapioca//lib/tapioca/gem/events.rb#70
1688
+ sig { params(symbol: ::String, constant: ::Module).void }
1689
+ def initialize(symbol, constant); end
1690
+
1691
+ # source://tapioca//lib/tapioca/gem/events.rb#67
1692
+ sig { returns(::Module) }
1693
+ def constant; end
1694
+
1695
+ # source://tapioca//lib/tapioca/gem/events.rb#64
1696
+ sig { returns(::String) }
1697
+ def symbol; end
1698
+ end
1699
+
1700
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#6
1701
+ class Tapioca::Gem::Pipeline
1702
+ include ::Tapioca::Runtime::Reflection
1703
+ include ::Tapioca::SorbetHelper
1704
+ include ::Tapioca::RBIHelper
1705
+
1706
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1707
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, include_doc: T::Boolean, include_loc: T::Boolean).void }
1708
+ def initialize(gem, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1709
+
1710
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#48
1711
+ sig { returns(::RBI::Tree) }
1712
+ def compile; end
1713
+
1714
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#14
1715
+ sig { returns(::Tapioca::Gemfile::GemSpec) }
1716
+ def gem; end
1717
+
1718
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#110
1719
+ sig { params(method: ::UnboundMethod).returns(T::Boolean) }
1720
+ def method_in_gem?(method); end
1721
+
1722
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#118
1723
+ sig { params(constant: ::Module).returns(T.nilable(::String)) }
1724
+ def name_of(constant); end
1725
+
1726
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#69
1727
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1728
+ def push_const(symbol, constant, node); end
1729
+
1730
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#59
1731
+ sig { params(symbol: ::String, constant: ::BasicObject).void }
1732
+ def push_constant(symbol, constant); end
1733
+
1734
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1735
+ sig { params(symbol: ::String, constant: ::Module).void }
1736
+ def push_foreign_constant(symbol, constant); end
1737
+
1738
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#83
1739
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1740
+ def push_foreign_scope(symbol, constant, node); end
1741
+
1742
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#97
1743
+ sig do
1744
+ params(
1745
+ symbol: ::String,
1746
+ constant: ::Module,
1747
+ method: ::UnboundMethod,
1748
+ node: ::RBI::Method,
1749
+ signature: T.untyped,
1750
+ parameters: T::Array[[::Symbol, ::String]]
1751
+ ).void
1752
+ end
1753
+ def push_method(symbol, constant, method, node, signature, parameters); end
1754
+
1755
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#76
1756
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1757
+ def push_scope(symbol, constant, node); end
1758
+
1759
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#54
1760
+ sig { params(symbol: ::String).void }
1761
+ def push_symbol(symbol); end
1762
+
1763
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#102
1764
+ sig { params(symbol_name: ::String).returns(T::Boolean) }
1765
+ def symbol_in_payload?(symbol_name); end
1766
+
1767
+ private
1768
+
1769
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#362
1770
+ sig { params(name: ::String).void }
1771
+ def add_to_alias_namespace(name); end
1772
+
1773
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#367
1774
+ sig { params(name: ::String).returns(T::Boolean) }
1775
+ def alias_namespaced?(name); end
1776
+
1777
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#213
1778
+ sig { params(name: ::String, constant: ::Module).void }
1779
+ def compile_alias(name, constant); end
1780
+
1781
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#199
1782
+ sig { params(symbol: ::String, constant: ::BasicObject).void }
1783
+ def compile_constant(symbol, constant); end
1784
+
1785
+ # Compile
1786
+ #
1787
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#194
1788
+ sig { params(symbol: ::String, constant: ::Module).void }
1789
+ def compile_foreign_constant(symbol, constant); end
1790
+
1791
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#269
1792
+ sig { params(name: ::String, constant: ::Module, foreign_constant: T::Boolean).void }
1793
+ def compile_module(name, constant, foreign_constant: T.unsafe(nil)); end
1794
+
1795
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#234
1796
+ sig { params(name: ::String, value: ::BasicObject).void }
1797
+ def compile_object(name, value); end
1798
+
1799
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#294
1800
+ sig { params(constant: ::Class).returns(T.nilable(::String)) }
1801
+ def compile_superclass(constant); end
1802
+
1803
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#343
1804
+ sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
1805
+ def defined_in_gem?(constant, strict: T.unsafe(nil)); end
1806
+
1807
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#146
1808
+ sig { params(event: ::Tapioca::Gem::Event).void }
1809
+ def dispatch(event); end
1810
+
1811
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#384
1812
+ sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
1813
+ def generic_name_of(constant); end
1814
+
1815
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#355
1816
+ sig { params(constant: ::Module).returns(T::Set[::String]) }
1817
+ def get_file_candidates(constant); end
1818
+
1819
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#133
1820
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
1821
+ def load_bootstrap_symbols(gem); end
1822
+
1823
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#374
1824
+ sig { params(name: ::String).void }
1825
+ def mark_seen(name); end
1826
+
1827
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#400
1828
+ sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
1829
+ def name_of_proxy_target(constant, class_name); end
1830
+
1831
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#141
1832
+ sig { returns(::Tapioca::Gem::Event) }
1833
+ def next_event; end
1834
+
1835
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#169
1836
+ sig { params(event: ::Tapioca::Gem::ConstantFound).void }
1837
+ def on_constant(event); end
1838
+
1839
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#187
1840
+ sig { params(event: ::Tapioca::Gem::NodeAdded).void }
1841
+ def on_node(event); end
1842
+
1843
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#160
1844
+ sig { params(event: ::Tapioca::Gem::SymbolFound).void }
1845
+ def on_symbol(event); end
1846
+
1847
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#379
1848
+ sig { params(name: ::String).returns(T::Boolean) }
1849
+ def seen?(name); end
1850
+ end
1851
+
1852
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#11
1853
+ Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
1854
+
1855
+ # source://tapioca//lib/tapioca/gem/events.rb#90
1856
+ class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded
1857
+ # source://tapioca//lib/tapioca/gem/events.rb#97
1858
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1859
+ def initialize(symbol, constant, node); end
1860
+
1861
+ # source://tapioca//lib/tapioca/gem/events.rb#94
1862
+ sig { returns(::RBI::Scope) }
1863
+ def node; end
1864
+ end
1865
+
1866
+ # source://tapioca//lib/tapioca/gem/events.rb#13
1867
+ class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event
1868
+ # source://tapioca//lib/tapioca/gem/events.rb#20
1869
+ sig { params(symbol: ::String).void }
1870
+ def initialize(symbol); end
1871
+
1872
+ # source://tapioca//lib/tapioca/gem/events.rb#17
1873
+ sig { returns(::String) }
1874
+ def symbol; end
1875
+ end
1876
+
1877
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#5
1878
+ module Tapioca::GemHelper
1879
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#9
1880
+ sig { params(app_dir: T.any(::Pathname, ::String), full_gem_path: ::String).returns(T::Boolean) }
1881
+ def gem_in_app_dir?(app_dir, full_gem_path); end
1882
+
1883
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#17
1884
+ sig { params(full_gem_path: ::String).returns(T::Boolean) }
1885
+ def gem_in_bundle_path?(full_gem_path); end
1886
+
1887
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#22
1888
+ sig { params(path: T.any(::Pathname, ::String)).returns(::String) }
1889
+ def to_realpath(path); end
1890
+
1891
+ private
1892
+
1893
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#31
1894
+ sig { params(path: T.any(::Pathname, ::String), dir: T.any(::Pathname, ::String)).returns(T::Boolean) }
1895
+ def path_in_dir?(path, dir); end
1896
+ end
1897
+
1898
+ # source://tapioca//lib/tapioca/gemfile.rb#5
1899
+ class Tapioca::Gemfile
1900
+ # source://tapioca//lib/tapioca/gemfile.rb#69
1901
+ sig { params(exclude: T::Array[::String]).void }
1902
+ def initialize(exclude); end
1903
+
1904
+ # source://tapioca//lib/tapioca/gemfile.rb#60
1905
+ sig { returns(::Bundler::Definition) }
1906
+ def definition; end
1907
+
1908
+ # source://tapioca//lib/tapioca/gemfile.rb#63
1909
+ sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
1910
+ def dependencies; end
1911
+
1912
+ # source://tapioca//lib/tapioca/gemfile.rb#80
1913
+ sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) }
1914
+ def gem(gem_name); end
1915
+
1916
+ # source://tapioca//lib/tapioca/gemfile.rb#66
1917
+ sig { returns(T::Array[::String]) }
1918
+ def missing_specs; end
1919
+
1920
+ # source://tapioca//lib/tapioca/gemfile.rb#85
1921
+ sig { void }
1922
+ def require_bundle; end
1923
+
1924
+ private
1925
+
1926
+ # source://tapioca//lib/tapioca/gemfile.rb#131
1927
+ sig { returns(::String) }
1928
+ def dir; end
1929
+
1930
+ # source://tapioca//lib/tapioca/gemfile.rb#92
1931
+ sig { returns(::File) }
1932
+ def gemfile; end
1933
+
1934
+ # source://tapioca//lib/tapioca/gemfile.rb#126
1935
+ sig { returns(T::Array[::Symbol]) }
1936
+ def groups; end
1937
+
1938
+ # source://tapioca//lib/tapioca/gemfile.rb#95
1939
+ sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
1940
+ def load_dependencies; end
1941
+
1942
+ # @return [File]
1943
+ #
1944
+ # source://tapioca//lib/tapioca/gemfile.rb#92
1945
+ def lockfile; end
1946
+
1947
+ # source://tapioca//lib/tapioca/gemfile.rb#106
1948
+ sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) }
1949
+ def materialize_deps; end
1950
+
1951
+ # source://tapioca//lib/tapioca/gemfile.rb#121
1952
+ sig { returns(::Bundler::Runtime) }
1953
+ def runtime; end
1954
+ end
1955
+
1956
+ # This is a module that gets prepended to `Bundler::Dependency` and
1957
+ # makes sure even gems marked as `require: false` are required during
1958
+ # `Bundler.require`.
1959
+ #
1960
+ # source://tapioca//lib/tapioca/gemfile.rb#18
1961
+ module Tapioca::Gemfile::AutoRequireHook
1962
+ requires_ancestor { Bundler::Dependency }
1963
+
1964
+ # source://tapioca//lib/tapioca/gemfile.rb#39
1965
+ sig { returns(T.untyped) }
1966
+ def autorequire; end
1967
+
1968
+ class << self
1969
+ # source://tapioca//lib/tapioca/gemfile.rb#30
1970
+ sig { params(exclude: T::Array[::String]).returns(T::Array[::String]) }
1971
+ def exclude=(exclude); end
1972
+
1973
+ # source://tapioca//lib/tapioca/gemfile.rb#33
1974
+ sig { params(name: T.untyped).returns(T::Boolean) }
1975
+ def excluded?(name); end
1976
+ end
1977
+ end
1978
+
1979
+ # source://tapioca//lib/tapioca/gemfile.rb#135
1980
+ class Tapioca::Gemfile::GemSpec
1981
+ include ::Tapioca::GemHelper
1982
+
1983
+ # source://tapioca//lib/tapioca/gemfile.rb#174
1984
+ sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
1985
+ def initialize(spec); end
1986
+
1987
+ # source://tapioca//lib/tapioca/gemfile.rb#184
1988
+ sig { params(other: ::BasicObject).returns(T::Boolean) }
1989
+ def ==(other); end
1990
+
1991
+ # source://tapioca//lib/tapioca/gemfile.rb#204
1992
+ sig { params(path: ::String).returns(T::Boolean) }
1993
+ def contains_path?(path); end
1994
+
1995
+ # source://tapioca//lib/tapioca/gemfile.rb#223
1996
+ sig { returns(T::Boolean) }
1997
+ def export_rbi_files?; end
1998
+
1999
+ # source://tapioca//lib/tapioca/gemfile.rb#218
2000
+ sig { returns(T::Array[::String]) }
2001
+ def exported_rbi_files; end
2002
+
2003
+ # source://tapioca//lib/tapioca/gemfile.rb#228
2004
+ sig { returns(::RBI::MergeTree) }
2005
+ def exported_rbi_tree; end
2006
+
2007
+ # source://tapioca//lib/tapioca/gemfile.rb#171
2008
+ sig { returns(T::Array[::Pathname]) }
2009
+ def files; end
2010
+
2011
+ # source://tapioca//lib/tapioca/gemfile.rb#168
2012
+ sig { returns(::String) }
2013
+ def full_gem_path; end
2014
+
2015
+ # source://tapioca//lib/tapioca/gemfile.rb#189
2016
+ sig { params(gemfile_dir: ::String).returns(T::Boolean) }
2017
+ def ignore?(gemfile_dir); end
2018
+
2019
+ # source://tapioca//lib/tapioca/gemfile.rb#194
2020
+ sig { returns(::String) }
2021
+ def name; end
2022
+
2023
+ # source://tapioca//lib/tapioca/gemfile.rb#213
2024
+ sig { void }
2025
+ def parse_yard_docs; end
2026
+
2027
+ # source://tapioca//lib/tapioca/gemfile.rb#199
2028
+ sig { returns(::String) }
2029
+ def rbi_file_name; end
2030
+
2031
+ # source://tapioca//lib/tapioca/gemfile.rb#240
2032
+ sig { params(file: ::Pathname).returns(::Pathname) }
2033
+ def relative_path_for(file); end
2034
+
2035
+ # @return [String]
2036
+ #
2037
+ # source://tapioca//lib/tapioca/gemfile.rb#168
2038
+ def version; end
2039
+
2040
+ private
2041
+
2042
+ # source://tapioca//lib/tapioca/gemfile.rb#251
2043
+ sig { returns(T::Array[::Pathname]) }
2044
+ def collect_files; end
2045
+
2046
+ # source://tapioca//lib/tapioca/gemfile.rb#266
2047
+ sig { returns(T.nilable(T::Boolean)) }
2048
+ def default_gem?; end
2049
+
2050
+ # source://tapioca//lib/tapioca/gemfile.rb#324
2051
+ sig { returns(T::Boolean) }
2052
+ def gem_ignored?; end
2053
+
2054
+ # source://tapioca//lib/tapioca/gemfile.rb#303
2055
+ sig { params(path: ::String).returns(T::Boolean) }
2056
+ def has_parent_gemspec?(path); end
2057
+
2058
+ # source://tapioca//lib/tapioca/gemfile.rb#271
2059
+ sig { returns(::Regexp) }
2060
+ def require_paths_prefix_matcher; end
2061
+
2062
+ # source://tapioca//lib/tapioca/gemfile.rb#282
2063
+ sig { params(file: ::String).returns(::Pathname) }
2064
+ def resolve_to_ruby_lib_dir(file); end
2065
+
2066
+ # source://tapioca//lib/tapioca/gemfile.rb#296
2067
+ sig { returns(::String) }
2068
+ def version_string; end
2069
+
2070
+ class << self
2071
+ # source://tapioca//lib/tapioca/gemfile.rb#143
2072
+ sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) }
2073
+ def spec_lookup_by_file_path; end
2074
+ end
2075
+ end
2076
+
2077
+ # source://tapioca//lib/tapioca/gemfile.rb#155
2078
+ Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2079
+
2080
+ # source://tapioca//lib/tapioca/gemfile.rb#8
2081
+ Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2082
+
2083
+ # source://tapioca//lib/tapioca/loaders/loader.rb#5
2084
+ module Tapioca::Loaders; end
2085
+
2086
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#6
2087
+ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2088
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#30
2089
+ sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
2090
+ def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2091
+
2092
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#20
2093
+ sig { override.void }
2094
+ def load; end
2095
+
2096
+ protected
2097
+
2098
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#75
2099
+ sig { void }
2100
+ def abort_if_pending_migrations!; end
2101
+
2102
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#62
2103
+ sig { void }
2104
+ def load_application; end
2105
+
2106
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#44
2107
+ sig { void }
2108
+ def load_dsl_compilers; end
2109
+
2110
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#39
2111
+ sig { void }
2112
+ def load_dsl_extensions; end
2113
+
2114
+ class << self
2115
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#13
2116
+ sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
2117
+ def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2118
+ end
2119
+ end
2120
+
2121
+ # source://tapioca//lib/tapioca/loaders/gem.rb#6
2122
+ class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2123
+ # source://tapioca//lib/tapioca/loaders/gem.rb#46
2124
+ sig do
2125
+ params(
2126
+ bundle: ::Tapioca::Gemfile,
2127
+ prerequire: T.nilable(::String),
2128
+ postrequire: ::String,
2129
+ default_command: ::String
2130
+ ).void
2131
+ end
2132
+ def initialize(bundle:, prerequire:, postrequire:, default_command:); end
2133
+
2134
+ # source://tapioca//lib/tapioca/loaders/gem.rb#32
2135
+ sig { override.void }
2136
+ def load; end
2137
+
2138
+ protected
2139
+
2140
+ # source://tapioca//lib/tapioca/loaders/gem.rb#76
2141
+ sig { params(file: ::String, error: ::LoadError).void }
2142
+ def explain_failed_require(file, error); end
2143
+
2144
+ # source://tapioca//lib/tapioca/loaders/gem.rb#56
2145
+ sig { void }
2146
+ def require_gem_file; end
2147
+
2148
+ class << self
2149
+ # source://tapioca//lib/tapioca/loaders/gem.rb#20
2150
+ sig do
2151
+ params(
2152
+ bundle: ::Tapioca::Gemfile,
2153
+ prerequire: T.nilable(::String),
2154
+ postrequire: ::String,
2155
+ default_command: ::String
2156
+ ).void
2157
+ end
2158
+ def load_application(bundle:, prerequire:, postrequire:, default_command:); end
2159
+ end
2160
+ end
2161
+
2162
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2163
+ #
2164
+ # source://tapioca//lib/tapioca/loaders/loader.rb#6
2165
+ class Tapioca::Loaders::Loader
2166
+ include ::Thor::Base
2167
+ include ::Thor::Invocation
2168
+ include ::Thor::Shell
2169
+ include ::Tapioca::CliHelper
2170
+ include ::Tapioca::GemHelper
2171
+ extend ::Thor::Base::ClassMethods
2172
+ extend ::Thor::Invocation::ClassMethods
2173
+
2174
+ abstract!
2175
+
2176
+ # source://sorbet-runtime/0.5.10607/lib/types/private/abstract/declare.rb#37
2177
+ def initialize(*args, **_arg1, &blk); end
2178
+
2179
+ # @abstract
2180
+ #
2181
+ # source://tapioca//lib/tapioca/loaders/loader.rb#17
2182
+ sig { abstract.void }
2183
+ def load; end
2184
+
2185
+ private
2186
+
2187
+ # source://tapioca//lib/tapioca/loaders/loader.rb#112
2188
+ sig { void }
2189
+ def eager_load_rails_app; end
2190
+
2191
+ # source://tapioca//lib/tapioca/loaders/loader.rb#24
2192
+ sig do
2193
+ params(
2194
+ gemfile: ::Tapioca::Gemfile,
2195
+ initialize_file: T.nilable(::String),
2196
+ require_file: T.nilable(::String)
2197
+ ).void
2198
+ end
2199
+ def load_bundle(gemfile, initialize_file, require_file); end
2200
+
2201
+ # source://tapioca//lib/tapioca/loaders/loader.rb#37
2202
+ sig { params(environment_load: T::Boolean, eager_load: T::Boolean, app_root: ::String).void }
2203
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2204
+
2205
+ # source://tapioca//lib/tapioca/loaders/loader.rb#60
2206
+ sig { void }
2207
+ def load_rails_engines; end
2208
+
2209
+ # source://tapioca//lib/tapioca/loaders/loader.rb#83
2210
+ sig { returns(T::Array[T.untyped]) }
2211
+ def rails_engines; end
2212
+
2213
+ # source://tapioca//lib/tapioca/loaders/loader.rb#138
2214
+ sig { params(file: T.nilable(::String)).void }
2215
+ def require_helper(file); end
2216
+
2217
+ # source://tapioca//lib/tapioca/loaders/loader.rb#97
2218
+ sig { params(path: ::String).void }
2219
+ def safe_require(path); end
2220
+
2221
+ # source://tapioca//lib/tapioca/loaders/loader.rb#104
2222
+ sig { void }
2223
+ def silence_deprecations; end
2224
+ end
2225
+
2226
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5
2227
+ module Tapioca::RBIFilesHelper
2228
+ requires_ancestor { Tapioca::SorbetHelper }
2229
+ requires_ancestor { Thor::Shell }
2230
+
2231
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#48
2232
+ sig do
2233
+ params(
2234
+ index: ::RBI::Index,
2235
+ shim_rbi_dir: ::String,
2236
+ todo_rbi_file: ::String
2237
+ ).returns(T::Hash[::String, T::Array[::RBI::Node]])
2238
+ end
2239
+ def duplicated_nodes_from_index(index, shim_rbi_dir:, todo_rbi_file:); end
2240
+
2241
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#13
2242
+ sig { params(index: ::RBI::Index, kind: ::String, file: ::String).void }
2243
+ def index_rbi(index, kind, file); end
2244
+
2245
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#25
2246
+ sig { params(index: ::RBI::Index, kind: ::String, dir: ::String, number_of_workers: T.nilable(::Integer)).void }
2247
+ def index_rbis(index, kind, dir, number_of_workers:); end
2248
+
2249
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#65
2250
+ sig { params(loc: ::RBI::Loc, path_prefix: T.nilable(::String)).returns(::String) }
2251
+ def location_to_payload_url(loc, path_prefix:); end
2252
+
2253
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#86
2254
+ sig do
2255
+ params(
2256
+ command: ::String,
2257
+ gem_dir: ::String,
2258
+ dsl_dir: ::String,
2259
+ auto_strictness: T::Boolean,
2260
+ gems: T::Array[::Tapioca::Gemfile::GemSpec],
2261
+ compilers: T::Enumerable[::Class]
2262
+ ).void
2263
+ end
2264
+ def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end
2265
+
2266
+ private
2267
+
2268
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#209
2269
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) }
2270
+ def extract_empty_scopes(nodes); end
2271
+
2272
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#214
2273
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2274
+ def extract_methods_and_attrs(nodes); end
2275
+
2276
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#224
2277
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) }
2278
+ def extract_mixins(nodes); end
2279
+
2280
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#234
2281
+ sig do
2282
+ params(
2283
+ nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)]
2284
+ ).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)])
2285
+ end
2286
+ def extract_nodes_with_sigs(nodes); end
2287
+
2288
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#202
2289
+ sig do
2290
+ params(
2291
+ nodes: T::Array[::RBI::Node],
2292
+ shim_rbi_dir: ::String,
2293
+ todo_rbi_file: ::String
2294
+ ).returns(T::Array[::RBI::Node])
2295
+ end
2296
+ def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2297
+
2298
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#266
2299
+ sig { params(path: ::String).returns(::String) }
2300
+ def gem_name_from_rbi_path(path); end
2301
+
2302
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#155
2303
+ sig { params(index: ::RBI::Index, files: T::Array[::String], number_of_workers: T.nilable(::Integer)).void }
2304
+ def parse_and_index_files(index, files, number_of_workers:); end
2305
+
2306
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#171
2307
+ sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2308
+ def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2309
+
2310
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#239
2311
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2312
+ def update_gem_rbis_strictnesses(errors, gem_dir); end
2313
+ end
2314
+
2315
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#5
2316
+ class Tapioca::RBIFormatter < ::RBI::Formatter
2317
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#22
2318
+ sig { params(file: ::RBI::File).void }
2319
+ def write_empty_body_comment!(file); end
2320
+
2321
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#15
2322
+ sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void }
2323
+ def write_header!(file, command, reason: T.unsafe(nil)); end
2324
+ end
2325
+
2326
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#5
2327
+ module Tapioca::RBIHelper
2328
+ include ::Tapioca::SorbetHelper
2329
+ extend ::Tapioca::SorbetHelper
2330
+ extend ::Tapioca::RBIHelper
2331
+
2332
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#91
2333
+ sig { params(type: ::String).returns(::String) }
2334
+ def as_nilable_type(type); end
2335
+
2336
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#72
2337
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2338
+ def create_block_param(name, type:); end
2339
+
2340
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#62
2341
+ sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2342
+ def create_kw_opt_param(name, type:, default:); end
2343
+
2344
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#57
2345
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2346
+ def create_kw_param(name, type:); end
2347
+
2348
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#67
2349
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2350
+ def create_kw_rest_param(name, type:); end
2351
+
2352
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#47
2353
+ sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2354
+ def create_opt_param(name, type:, default:); end
2355
+
2356
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#42
2357
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2358
+ def create_param(name, type:); end
2359
+
2360
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#52
2361
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2362
+ def create_rest_param(name, type:); end
2363
+
2364
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#77
2365
+ sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) }
2366
+ def create_typed_param(param, type); end
2367
+
2368
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#82
2369
+ sig { params(sig_string: ::String).returns(::String) }
2370
+ def sanitize_signature_types(sig_string); end
2371
+
2372
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2373
+ sig { params(name: ::String).returns(T::Boolean) }
2374
+ def valid_method_name?(name); end
2375
+
2376
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#114
2377
+ sig { params(name: ::String).returns(T::Boolean) }
2378
+ def valid_parameter_name?(name); end
2379
+
2380
+ class << self
2381
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#23
2382
+ sig do
2383
+ params(
2384
+ type: ::String,
2385
+ variance: ::Symbol,
2386
+ fixed: T.nilable(::String),
2387
+ upper: T.nilable(::String),
2388
+ lower: T.nilable(::String)
2389
+ ).returns(::String)
2390
+ end
2391
+ def serialize_type_variable(type, variance, fixed, upper, lower); end
2392
+ end
2393
+ end
2394
+
2395
+ # source://tapioca//lib/tapioca/repo_index.rb#5
2396
+ class Tapioca::RepoIndex
2397
+ # source://tapioca//lib/tapioca/repo_index.rb#26
2398
+ sig { void }
2399
+ def initialize; end
2400
+
2401
+ # source://tapioca//lib/tapioca/repo_index.rb#31
2402
+ sig { params(gem_name: ::String).void }
2403
+ def <<(gem_name); end
2404
+
2405
+ # source://tapioca//lib/tapioca/repo_index.rb#36
2406
+ sig { returns(T::Enumerable[::String]) }
2407
+ def gems; end
2408
+
2409
+ # source://tapioca//lib/tapioca/repo_index.rb#41
2410
+ sig { params(gem_name: ::String).returns(T::Boolean) }
2411
+ def has_gem?(gem_name); end
2412
+
2413
+ class << self
2414
+ # source://tapioca//lib/tapioca/repo_index.rb#18
2415
+ sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(Tapioca::RepoIndex) }
2416
+ def from_hash(hash); end
2417
+
2418
+ # source://tapioca//lib/tapioca/repo_index.rb#13
2419
+ sig { params(json: ::String).returns(Tapioca::RepoIndex) }
2420
+ def from_json(json); end
2421
+ end
2422
+ end
2423
+
2424
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#5
2425
+ module Tapioca::Runtime; end
2426
+
2427
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#6
2428
+ class Tapioca::Runtime::DynamicMixinCompiler
2429
+ include ::Tapioca::Runtime::Reflection
2430
+
2431
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#20
2432
+ sig { params(constant: ::Module).void }
2433
+ def initialize(constant); end
2434
+
2435
+ # @return [Array<Symbol>]
2436
+ #
2437
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2438
+ def class_attribute_predicates; end
2439
+
2440
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2441
+ sig { returns(T::Array[::Symbol]) }
2442
+ def class_attribute_readers; end
2443
+
2444
+ # @return [Array<Symbol>]
2445
+ #
2446
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2447
+ def class_attribute_writers; end
2448
+
2449
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#137
2450
+ sig { params(tree: ::RBI::Tree).void }
2451
+ def compile_class_attributes(tree); end
2452
+
2453
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#180
2454
+ sig { params(tree: ::RBI::Tree).returns([T::Array[::Module], T::Array[::Module]]) }
2455
+ def compile_mixes_in_class_methods(tree); end
2456
+
2457
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11
2458
+ sig { returns(T::Array[::Module]) }
2459
+ def dynamic_extends; end
2460
+
2461
+ # @return [Array<Module>]
2462
+ #
2463
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11
2464
+ def dynamic_includes; end
2465
+
2466
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#132
2467
+ sig { returns(T::Boolean) }
2468
+ def empty_attributes?; end
2469
+
2470
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#222
2471
+ sig { params(qualified_mixin_name: ::String).returns(T::Boolean) }
2472
+ def filtered_mixin?(qualified_mixin_name); end
2473
+
2474
+ # @return [Array<Symbol>]
2475
+ #
2476
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2477
+ def instance_attribute_predicates; end
2478
+
2479
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2480
+ sig { returns(T::Array[::Symbol]) }
2481
+ def instance_attribute_readers; end
2482
+
2483
+ # @return [Array<Symbol>]
2484
+ #
2485
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2486
+ def instance_attribute_writers; end
2487
+
2488
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#215
2489
+ sig { params(mod: ::Module, dynamic_extends: T::Array[::Module]).returns(T::Boolean) }
2490
+ def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end
2491
+ end
2492
+
2493
+ # This class is responsible for storing and looking up information related to generic types.
2494
+ #
2495
+ # The class stores 2 different kinds of data, in two separate lookup tables:
2496
+ # 1. a lookup of generic type instances by name: `@generic_instances`
2497
+ # 2. a lookup of type variable serializer by constant and type variable
2498
+ # instance: `@type_variables`
2499
+ #
2500
+ # By storing the above data, we can cheaply query each constant against this registry
2501
+ # to see if it declares any generic type variables. This becomes a simple lookup in the
2502
+ # `@type_variables` hash table with the given constant.
2503
+ #
2504
+ # If there is no entry, then we can cheaply know that we can skip generic type
2505
+ # information generation for this type.
2506
+ #
2507
+ # On the other hand, if we get a result, then the result will be a hash of type
2508
+ # variable to type variable serializers. This allows us to associate type variables
2509
+ # to the constant names that represent them, easily.
2510
+ #
2511
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#23
2512
+ module Tapioca::Runtime::GenericTypeRegistry
2513
+ class << self
2514
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#80
2515
+ sig { params(instance: ::Object).returns(T::Boolean) }
2516
+ def generic_type_instance?(instance); end
2517
+
2518
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#85
2519
+ sig { params(constant: ::Module).returns(T.nilable(T::Array[::Tapioca::TypeVariableModule])) }
2520
+ def lookup_type_variables(constant); end
2521
+
2522
+ # This method is responsible for building the name of the instantiated concrete type
2523
+ # and cloning the given constant so that we can return a type that is the same
2524
+ # as the current type but is a different instance and has a different name method.
2525
+ #
2526
+ # We cache those cloned instances by their name in `@generic_instances`, so that
2527
+ # we don't keep instantiating a new type every single time it is referenced.
2528
+ # For example, `[Foo[Integer], Foo[Integer], Foo[Integer], Foo[String]]` will only
2529
+ # result in 2 clones (1 for `Foo[Integer]` and another for `Foo[String]`) and
2530
+ # 2 hash lookups (for the other two `Foo[Integer]`s).
2531
+ #
2532
+ # This method returns the created or cached clone of the constant.
2533
+ #
2534
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#65
2535
+ sig { params(constant: T.untyped, types: T.untyped).returns(::Module) }
2536
+ def register_type(constant, types); end
2537
+
2538
+ # This method is called from intercepted calls to `type_member` and `type_template`.
2539
+ # We get passed all the arguments to those methods, as well as the `T::Types::TypeVariable`
2540
+ # instance generated by the Sorbet defined `type_member`/`type_template` call on `T::Generic`.
2541
+ #
2542
+ # This method creates a `String` with that data and stores it in the
2543
+ # `@type_variables` lookup table, keyed by the `constant` and `type_variable`.
2544
+ #
2545
+ # Finally, the original `type_variable` is returned from this method, so that the caller
2546
+ # can return it from the original methods as well.
2547
+ #
2548
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#104
2549
+ sig { params(constant: T.untyped, type_variable: ::Tapioca::TypeVariableModule).void }
2550
+ def register_type_variable(constant, type_variable); end
2551
+
2552
+ private
2553
+
2554
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#113
2555
+ sig { params(constant: ::Module, name: ::String).returns(::Module) }
2556
+ def create_generic_type(constant, name); end
2557
+
2558
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155
2559
+ sig { params(constant: ::Class).returns(::Class) }
2560
+ def create_safe_subclass(constant); end
2561
+
2562
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182
2563
+ sig { params(constant: ::Module).returns(T::Array[::Tapioca::TypeVariableModule]) }
2564
+ def lookup_or_initialize_type_variables(constant); end
2565
+ end
2566
+ end
2567
+
2568
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#34
2569
+ class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
2570
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#38
2571
+ sig { params(raw_type: ::Module, underlying_type: ::Module).void }
2572
+ def initialize(raw_type, underlying_type); end
2573
+
2574
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45
2575
+ sig { params(obj: T.untyped).returns(T::Boolean) }
2576
+ def valid?(obj); end
2577
+ end
2578
+
2579
+ module Tapioca::Runtime::Reflection
2580
+ extend ::Tapioca::Runtime::Reflection
2581
+
2582
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#66
2583
+ sig { params(constant: ::Module).returns(T::Array[::Module]) }
2584
+ def ancestors_of(constant); end
2585
+
2586
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#81
2587
+ sig { params(object: ::BasicObject, other: ::BasicObject).returns(T::Boolean) }
2588
+ def are_equal?(object, other); end
2589
+
2590
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#178
2591
+ sig { params(singleton_class: ::Module).returns(T.nilable(::Module)) }
2592
+ def attached_class_of(singleton_class); end
2593
+
2594
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#45
2595
+ sig { params(object: ::BasicObject).returns(::Class) }
2596
+ def class_of(object); end
2597
+
2598
+ # @param constant [BasicObject]
2599
+ # @return [Boolean]
2600
+ #
2601
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#27
2602
+ def constant_defined?(constant); end
2603
+
2604
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#38
2605
+ sig { params(symbol: ::String, inherit: T::Boolean, namespace: ::Module).returns(::BasicObject) }
2606
+ def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end
2607
+
2608
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#50
2609
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2610
+ def constants_of(constant); end
2611
+
2612
+ # Returns an array with all classes that are < than the supplied class.
2613
+ #
2614
+ # class C; end
2615
+ # descendants_of(C) # => []
2616
+ #
2617
+ # class B < C; end
2618
+ # descendants_of(C) # => [B]
2619
+ #
2620
+ # class A < B; end
2621
+ # descendants_of(C) # => [B, A]
2622
+ #
2623
+ # class D < C; end
2624
+ # descendants_of(C) # => [B, A, D]
2625
+ #
2626
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#156
2627
+ sig do
2628
+ type_parameters(:U)
2629
+ .params(
2630
+ klass: T.all(::Class, T.type_parameter(:U))
2631
+ ).returns(T::Array[T.type_parameter(:U)])
2632
+ end
2633
+ def descendants_of(klass); end
2634
+
2635
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#188
2636
+ sig { params(constant: ::Module).returns(T::Set[::String]) }
2637
+ def file_candidates_for(constant); end
2638
+
2639
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#101
2640
+ sig { params(constant: ::Module).returns(T::Array[::Module]) }
2641
+ def inherited_ancestors_of(constant); end
2642
+
2643
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#134
2644
+ sig { params(constant: ::Module, method: ::Symbol).returns(::Method) }
2645
+ def method_of(constant, method); end
2646
+
2647
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#55
2648
+ sig { params(constant: ::Module).returns(T.nilable(::String)) }
2649
+ def name_of(constant); end
2650
+
2651
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#129
2652
+ sig { params(type: ::T::Types::Base).returns(::String) }
2653
+ def name_of_type(type); end
2654
+
2655
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#76
2656
+ sig { params(object: ::BasicObject).returns(::Integer) }
2657
+ def object_id_of(object); end
2658
+
2659
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#96
2660
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2661
+ def private_instance_methods_of(constant); end
2662
+
2663
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#91
2664
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2665
+ def protected_instance_methods_of(constant); end
2666
+
2667
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#86
2668
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2669
+ def public_instance_methods_of(constant); end
2670
+
2671
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#110
2672
+ sig { params(constant: ::Module).returns(T.nilable(::String)) }
2673
+ def qualified_name_of(constant); end
2674
+
2675
+ # Examines the call stack to identify the closest location where a "require" is performed
2676
+ # by searching for the label "<top (required)>". If none is found, it returns the location
2677
+ # labeled "<main>", which is the original call site.
2678
+ #
2679
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#168
2680
+ sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
2681
+ def resolve_loc(locations); end
2682
+
2683
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#122
2684
+ sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
2685
+ def signature_of(method); end
2686
+
2687
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#61
2688
+ sig { params(constant: ::Module).returns(::Class) }
2689
+ def singleton_class_of(constant); end
2690
+
2691
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#71
2692
+ sig { params(constant: ::Class).returns(T.nilable(::Class)) }
2693
+ def superclass_of(constant); end
2694
+
2695
+ private
2696
+
2697
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#227
2698
+ sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
2699
+ def child_module_for_parent_with_name(parent, name); end
2700
+
2701
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#238
2702
+ sig { params(method: ::UnboundMethod).returns(T::Boolean) }
2703
+ def method_defined_by_forwardable_module?(method); end
2704
+
2705
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#213
2706
+ sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
2707
+ def methods_for(constant); end
2708
+
2709
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#197
2710
+ sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
2711
+ def relevant_methods_for(constant); end
2712
+ end
2713
+
2714
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#14
2715
+ Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2716
+
2717
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#10
2718
+ Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2719
+
2720
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#11
2721
+ Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2722
+
2723
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#17
2724
+ Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2725
+
2726
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#21
2727
+ Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2728
+
2729
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#12
2730
+ Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2731
+
2732
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#16
2733
+ Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2734
+
2735
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#20
2736
+ Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2737
+
2738
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#19
2739
+ Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2740
+
2741
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#18
2742
+ Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2743
+
2744
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#24
2745
+ Tapioca::Runtime::Reflection::REQUIRED_FROM_LABELS = T.let(T.unsafe(nil), Array)
2746
+
2747
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#13
2748
+ Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2749
+
2750
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#15
2751
+ Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
2752
+
2753
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#6
2754
+ module Tapioca::Runtime::Trackers
2755
+ class << self
2756
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#34
2757
+ sig { void }
2758
+ def disable_all!; end
2759
+
2760
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#39
2761
+ sig { params(tracker: ::Tapioca::Runtime::Trackers::Tracker).void }
2762
+ def register_tracker(tracker); end
2763
+
2764
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#21
2765
+ sig do
2766
+ type_parameters(:Return)
2767
+ .params(
2768
+ blk: T.proc.returns(T.type_parameter(:Return))
2769
+ ).returns(T.type_parameter(:Return))
2770
+ end
2771
+ def with_trackers_enabled(&blk); end
2772
+ end
2773
+ end
2774
+
2775
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#7
2776
+ module Tapioca::Runtime::Trackers::Autoload
2777
+ extend ::Tapioca::Runtime::Trackers::Tracker
2778
+
2779
+ class << self
2780
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#19
2781
+ sig { void }
2782
+ def eager_load_all!; end
2783
+
2784
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#31
2785
+ sig { params(constant_name: ::String).void }
2786
+ def register(constant_name); end
2787
+
2788
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#42
2789
+ sig do
2790
+ type_parameters(:Result)
2791
+ .params(
2792
+ block: T.proc.returns(T.type_parameter(:Result))
2793
+ ).returns(T.type_parameter(:Result))
2794
+ end
2795
+ def with_disabled_exits(&block); end
2796
+ end
2797
+ end
2798
+
2799
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#11
2800
+ Tapioca::Runtime::Trackers::Autoload::NOOP_METHOD = T.let(T.unsafe(nil), Proc)
2801
+
2802
+ # Registers a TracePoint immediately upon load to track points at which
2803
+ # classes and modules are opened for definition. This is used to track
2804
+ # correspondence between classes/modules and files, as this information isn't
2805
+ # available in the ruby runtime without extra accounting.
2806
+ module Tapioca::Runtime::Trackers::ConstantDefinition
2807
+ extend ::Tapioca::Runtime::Trackers::Tracker
2808
+ extend ::Tapioca::Runtime::Reflection
2809
+
2810
+ class << self
2811
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#61
2812
+ def build_constant_location(tp, locations); end
2813
+
2814
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#55
2815
+ def disable!; end
2816
+
2817
+ # Returns the files in which this class or module was opened. Doesn't know
2818
+ # about situations where the class was opened prior to +require+ing,
2819
+ # or where metaprogramming was used via +eval+, etc.
2820
+ #
2821
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#71
2822
+ def files_for(klass); end
2823
+
2824
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#75
2825
+ def locations_for(klass); end
2826
+ end
2827
+ end
2828
+
2829
+ module Tapioca::Runtime::Trackers::Mixin
2830
+ extend ::Tapioca::Runtime::Trackers::Tracker
2831
+
2832
+ class << self
2833
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#56
2834
+ sig do
2835
+ params(
2836
+ mixin: ::Module
2837
+ ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]])
2838
+ end
2839
+ def constants_with_mixin(mixin); end
2840
+
2841
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#61
2842
+ sig do
2843
+ params(
2844
+ mixin: ::Module,
2845
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type,
2846
+ constant: ::Module
2847
+ ).returns(T.nilable(::String))
2848
+ end
2849
+ def mixin_location(mixin, mixin_type, constant); end
2850
+
2851
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#35
2852
+ sig { params(constant: ::Module, mixin: ::Module, mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type).void }
2853
+ def register(constant, mixin, mixin_type); end
2854
+
2855
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#43
2856
+ def resolve_to_attached_class(constant, mixin, mixin_type); end
2857
+
2858
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#30
2859
+ sig do
2860
+ type_parameters(:Result)
2861
+ .params(
2862
+ block: T.proc.returns(T.type_parameter(:Result))
2863
+ ).returns(T.type_parameter(:Result))
2864
+ end
2865
+ def with_disabled_registration(&block); end
2866
+
2867
+ private
2868
+
2869
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#76
2870
+ sig do
2871
+ params(
2872
+ mixin: ::Module
2873
+ ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]])
2874
+ end
2875
+ def find_or_initialize_mixin_lookup(mixin); end
2876
+
2877
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#68
2878
+ sig do
2879
+ params(
2880
+ constant: ::Module,
2881
+ mixin: ::Module,
2882
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type,
2883
+ location: ::String
2884
+ ).void
2885
+ end
2886
+ def register_with_location(constant, mixin, mixin_type, location); end
2887
+ end
2888
+ end
2889
+
2890
+ class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum
2891
+ enums do
2892
+ Prepend = new
2893
+ Include = new
2894
+ Extend = new
2895
+ end
2896
+ end
2897
+
2898
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#7
2899
+ module Tapioca::Runtime::Trackers::RequiredAncestor
2900
+ extend ::Tapioca::Runtime::Trackers::Tracker
2901
+
2902
+ class << self
2903
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#15
2904
+ sig { params(requiring: ::T::Helpers, block: T.proc.void).void }
2905
+ def register(requiring, block); end
2906
+
2907
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#23
2908
+ sig { params(mod: ::Module).returns(T::Array[T.proc.void]) }
2909
+ def required_ancestors_blocks_by(mod); end
2910
+
2911
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#28
2912
+ sig { params(mod: ::Module).returns(T::Array[T.untyped]) }
2913
+ def required_ancestors_by(mod); end
2914
+ end
2915
+ end
2916
+
2917
+ # @abstract Subclasses must implement the `abstract` methods below.
2918
+ module Tapioca::Runtime::Trackers::Tracker
2919
+ abstract!
2920
+
2921
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#26
2922
+ sig { void }
2923
+ def disable!; end
2924
+
2925
+ # @return [Boolean]
2926
+ #
2927
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#30
2928
+ def enabled?; end
2929
+
2930
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#34
2931
+ def with_disabled_tracker(&block); end
2932
+
2933
+ class << self
2934
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#17
2935
+ sig { params(base: T.all(::Module, ::Tapioca::Runtime::Trackers::Tracker)).void }
2936
+ def extended(base); end
2937
+ end
2938
+ end
2939
+
2940
+ # source://tapioca//lib/tapioca.rb#33
2941
+ Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
2942
+
2943
+ # source://tapioca//lib/tapioca.rb#32
2944
+ Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
2945
+
2946
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
2947
+ module Tapioca::SorbetHelper
2948
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#31
2949
+ sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
2950
+ def sorbet(*sorbet_args); end
2951
+
2952
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#36
2953
+ sig { returns(::String) }
2954
+ def sorbet_path; end
2955
+
2956
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#43
2957
+ sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
2958
+ def sorbet_supports?(feature, version: T.unsafe(nil)); end
2959
+ end
2960
+
2961
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#22
2962
+ Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash)
2963
+
2964
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#13
2965
+ Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname)
2966
+
2967
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#18
2968
+ Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String)
2969
+
2970
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#8
2971
+ Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification)
2972
+
2973
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#20
2974
+ Tapioca::SorbetHelper::SORBET_PAYLOAD_URL = T.let(T.unsafe(nil), String)
2975
+
2976
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#5
2977
+ module Tapioca::Static; end
2978
+
2979
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#6
2980
+ class Tapioca::Static::RequiresCompiler
2981
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#10
2982
+ sig { params(sorbet_path: ::String).void }
2983
+ def initialize(sorbet_path); end
2984
+
2985
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#15
2986
+ sig { returns(::String) }
2987
+ def compile; end
2988
+
2989
+ private
2990
+
2991
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#29
2992
+ sig { params(config: ::Spoom::Sorbet::Config).returns(T::Array[::String]) }
2993
+ def collect_files(config); end
2994
+
2995
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#44
2996
+ sig { params(file_path: ::String).returns(T::Enumerable[::String]) }
2997
+ def collect_requires(file_path); end
2998
+
2999
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#51
3000
+ sig { params(config: ::Spoom::Sorbet::Config, file_path: ::Pathname).returns(T::Boolean) }
3001
+ def file_ignored_by_sorbet?(config, file_path); end
3002
+
3003
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#80
3004
+ sig { params(path: ::Pathname).returns(T::Array[::String]) }
3005
+ def path_parts(path); end
3006
+ end
3007
+
3008
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#6
3009
+ module Tapioca::Static::SymbolLoader
3010
+ extend ::Tapioca::SorbetHelper
3011
+ extend ::Tapioca::Runtime::Reflection
3012
+
3013
+ class << self
3014
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#23
3015
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3016
+ def engine_symbols(gem); end
3017
+
3018
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#40
3019
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3020
+ def gem_symbols(gem); end
3021
+
3022
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#13
3023
+ sig { returns(T::Set[::String]) }
3024
+ def payload_symbols; end
3025
+
3026
+ private
3027
+
3028
+ # @return [Array<T.class_of(Rails::Engine)>]
3029
+ #
3030
+ # source://sorbet-runtime/0.5.10607/lib/types/private/methods/_methods.rb#250
3031
+ def engines(*args, **_arg1, &blk); end
3032
+
3033
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#59
3034
+ sig { params(input: ::String, table_type: ::String).returns(::String) }
3035
+ def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
3036
+
3037
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#64
3038
+ sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
3039
+ def symbols_from_paths(paths); end
3040
+ end
3041
+ end
3042
+
3043
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#6
3044
+ class Tapioca::Static::SymbolTableParser
3045
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#30
3046
+ sig { void }
3047
+ def initialize; end
3048
+
3049
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#65
3050
+ sig { params(name: ::String).returns(::String) }
3051
+ def fully_qualified_name(name); end
3052
+
3053
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#36
3054
+ sig { params(object: T::Hash[::String, T.untyped]).void }
3055
+ def parse_object(object); end
3056
+
3057
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#27
3058
+ sig { returns(T::Set[::String]) }
3059
+ def symbols; end
3060
+
3061
+ class << self
3062
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#15
3063
+ sig { params(json_string: ::String).returns(T::Set[::String]) }
3064
+ def parse_json(json_string); end
3065
+ end
3066
+ end
3067
+
3068
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9
3069
+ Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3070
+
3071
+ # source://tapioca//lib/tapioca.rb#35
3072
+ Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3073
+
3074
+ # source://tapioca//lib/tapioca.rb#34
3075
+ Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3076
+
3077
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3078
+ class Tapioca::TypeVariable < ::T::Types::TypeVariable
3079
+ # @return [TypeVariable] a new instance of TypeVariable
3080
+ #
3081
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#123
3082
+ def initialize(name, variance); end
3083
+
3084
+ # Returns the value of attribute name.
3085
+ #
3086
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#128
3087
+ def name; end
3088
+ end
3089
+
3090
+ # This is subclassing from `Module` so that instances of this type will be modules.
3091
+ # The reason why we want that is because that means those instances will automatically
3092
+ # get bound to the constant names they are assigned to by Ruby. As a result, we don't
3093
+ # need to do any matching of constants to type variables to bind their names, Ruby will
3094
+ # do that automatically for us and we get the `name` method for free from `Module`.
3095
+ #
3096
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3097
+ class Tapioca::TypeVariableModule < ::Module
3098
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#158
3099
+ sig do
3100
+ params(
3101
+ context: ::Module,
3102
+ type: ::Tapioca::TypeVariableModule::Type,
3103
+ variance: ::Symbol,
3104
+ fixed: T.untyped,
3105
+ lower: T.untyped,
3106
+ upper: T.untyped,
3107
+ bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3108
+ ).void
3109
+ end
3110
+ def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end
3111
+
3112
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#212
3113
+ sig { returns(::Tapioca::TypeVariable) }
3114
+ def coerce_to_type_variable; end
3115
+
3116
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#192
3117
+ sig { returns(T::Boolean) }
3118
+ def fixed?; end
3119
+
3120
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#173
3121
+ sig { returns(T.nilable(::String)) }
3122
+ def name; end
3123
+
3124
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#197
3125
+ sig { returns(::String) }
3126
+ def serialize; end
3127
+
3128
+ private
3129
+
3130
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#246
3131
+ sig { returns(T::Hash[::Symbol, T.untyped]) }
3132
+ def bounds; end
3133
+
3134
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#222
3135
+ sig do
3136
+ params(
3137
+ fixed: T.untyped,
3138
+ lower: T.untyped,
3139
+ upper: T.untyped
3140
+ ).returns(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3141
+ end
3142
+ def build_bounds_proc(fixed, lower, upper); end
3143
+
3144
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#236
3145
+ sig do
3146
+ type_parameters(:Result)
3147
+ .params(
3148
+ block: T.proc.returns(T.type_parameter(:Result))
3149
+ ).returns(T.type_parameter(:Result))
3150
+ end
3151
+ def with_bound_name_pre_3_0(&block); end
3152
+ end
3153
+
3154
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#139
3155
+ class Tapioca::TypeVariableModule::Type < ::T::Enum
3156
+ enums do
3157
+ Member = new
3158
+ Template = new
3159
+ end
3160
+ end
3161
+
3162
+ # source://tapioca//lib/tapioca/version.rb#5
3163
+ Tapioca::VERSION = T.let(T.unsafe(nil), String)
3164
+
3165
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#6
3166
+ module URI
3167
+ include ::URI::RFC2396_REGEXP
3168
+ end
3169
+
3170
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3171
+ class URI::Source < ::URI::File
3172
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3173
+ sig { params(v: T.nilable(::String)).returns(T::Boolean) }
3174
+ def check_host(v); end
3175
+
3176
+ def gem_name; end
3177
+
3178
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#25
3179
+ sig { returns(T.nilable(::String)) }
3180
+ def gem_version; end
3181
+
3182
+ def line_number; end
3183
+
3184
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#51
3185
+ sig { params(v: T.nilable(::String)).void }
3186
+ def set_path(v); end
3187
+
3188
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#70
3189
+ sig { returns(::String) }
3190
+ def to_s; end
3191
+
3192
+ class << self
3193
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#38
3194
+ sig do
3195
+ params(
3196
+ gem_name: ::String,
3197
+ gem_version: T.nilable(::String),
3198
+ path: ::String,
3199
+ line_number: T.nilable(::String)
3200
+ ).returns(::URI::Source)
3201
+ end
3202
+ def build(gem_name:, gem_version:, path:, line_number:); end
3203
+ end
3204
+ end
3205
+
3206
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#10
3207
+ URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)