hierarchical_config 0.11 → 0.13

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