rubocop-modularization 0.0.1 → 0.0.3

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