rubocop-packs 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +84 -0
  3. data/config/default.yml +16 -0
  4. data/lib/rubocop/cop/packs/class_methods_as_public_apis.rb +71 -0
  5. data/lib/rubocop/cop/packs/namespaced_under_package_name/desired_zeitwerk_api.rb +110 -0
  6. data/lib/rubocop/cop/packs/namespaced_under_package_name.rb +119 -0
  7. data/lib/rubocop/cop/packs/require_documented_public_apis.rb +34 -0
  8. data/lib/rubocop/cop/packs/typed_public_api.rb +39 -0
  9. data/lib/rubocop/packs/inject.rb +24 -0
  10. data/lib/rubocop/packs/private.rb +11 -0
  11. data/lib/rubocop/packs.rb +18 -0
  12. data/lib/rubocop-packs.rb +15 -0
  13. data/sorbet/config +3 -0
  14. data/sorbet/rbi/gems/activesupport@7.0.4.rbi +15914 -0
  15. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  16. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  17. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11263 -0
  18. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  19. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  20. data/sorbet/rbi/gems/json@2.6.2.rbi +1547 -0
  21. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  22. data/sorbet/rbi/gems/minitest@5.16.3.rbi +1459 -0
  23. data/sorbet/rbi/gems/netrc@0.11.0.rbi +161 -0
  24. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  25. data/sorbet/rbi/gems/parse_packwerk@0.12.1.rbi +203 -0
  26. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +8944 -0
  27. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  28. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  29. data/sorbet/rbi/gems/rake@13.0.6.rbi +2899 -0
  30. data/sorbet/rbi/gems/rbi@0.0.16.rbi +3007 -0
  31. data/sorbet/rbi/gems/regexp_parser@2.6.0.rbi +3498 -0
  32. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4717 -0
  33. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +10934 -0
  34. data/sorbet/rbi/gems/rspec-expectations@3.11.1.rbi +8090 -0
  35. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +5291 -0
  36. data/sorbet/rbi/gems/rspec-support@3.11.1.rbi +1610 -0
  37. data/sorbet/rbi/gems/rspec@3.11.0.rbi +88 -0
  38. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6898 -0
  39. data/sorbet/rbi/gems/rubocop-extension-generator@0.5.1.rbi +86 -0
  40. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +1002 -0
  41. data/sorbet/rbi/gems/rubocop@1.36.0.rbi +52209 -0
  42. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1239 -0
  43. data/sorbet/rbi/gems/spoom@1.1.12.rbi +2369 -0
  44. data/sorbet/rbi/gems/tapioca@0.10.2.rbi +3439 -0
  45. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  46. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  47. data/sorbet/rbi/gems/unicode-display_width@2.3.0.rbi +48 -0
  48. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  49. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2586 -0
  50. data/sorbet/rbi/gems/yard-sorbet@0.7.0.rbi +389 -0
  51. data/sorbet/rbi/gems/yard@0.9.28.rbi +17775 -0
  52. data/sorbet/rbi/todo.rbi +5 -0
  53. metadata +266 -0
@@ -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)