sorbet-result 1.0.0 → 1.1.0

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.standard.yml +6 -0
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +10 -0
  6. data/Gemfile +2 -4
  7. data/Gemfile.lock +75 -55
  8. data/README.md +23 -0
  9. data/Rakefile +3 -5
  10. data/lib/minitest/result_assertions.rb +48 -0
  11. data/lib/sorbet-result.rb +1 -5
  12. data/lib/typed/result.rb +169 -7
  13. data/sorbet/rbi/gems/.gitattributes +1 -0
  14. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  15. data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.1.rbi} +80 -60
  16. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  17. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  18. data/sorbet/rbi/gems/{minitest@5.18.1.rbi → minitest@5.22.2.rbi} +285 -241
  19. data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.24.0.rbi} +8 -1
  20. data/sorbet/rbi/gems/{parser@3.2.2.3.rbi → parser@3.3.0.5.rbi} +438 -2219
  21. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  22. data/sorbet/rbi/gems/prism@0.24.0.rbi +31040 -0
  23. data/sorbet/rbi/gems/psych@5.1.2.rbi +1731 -0
  24. data/sorbet/rbi/gems/{racc@1.7.1.rbi → racc@1.7.3.rbi} +35 -39
  25. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.1.0.rbi} +68 -65
  26. data/sorbet/rbi/gems/{rbi@0.0.16.rbi → rbi@0.1.9.rbi} +712 -714
  27. data/sorbet/rbi/gems/{regexp_parser@2.8.1.rbi → regexp_parser@2.9.0.rbi} +187 -165
  28. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.2.6.rbi} +116 -52
  29. data/sorbet/rbi/gems/{rubocop-ast@1.29.0.rbi → rubocop-ast@1.30.0.rbi} +77 -77
  30. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +8 -0
  31. data/sorbet/rbi/gems/rubocop-sorbet@0.7.7.rbi +8 -0
  32. data/sorbet/rbi/gems/{rubocop@1.52.1.rbi → rubocop@1.60.2.rbi} +3593 -1700
  33. data/sorbet/rbi/gems/{spoom@1.2.1.rbi → spoom@1.2.4.rbi} +1378 -104
  34. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  35. data/sorbet/rbi/gems/standard-performance@1.3.1.rbi +8 -0
  36. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +52 -0
  37. data/sorbet/rbi/gems/standard@1.34.0.rbi +850 -0
  38. data/sorbet/rbi/gems/stringio@3.1.0.rbi +8 -0
  39. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23133 -0
  40. data/sorbet/rbi/gems/{tapioca@0.11.6.rbi → tapioca@0.12.0.rbi} +776 -574
  41. data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.0.rbi} +775 -395
  42. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +1 -1
  43. data/sorbet/rbi/gems/yard@0.9.34.rbi +2 -2
  44. data/sorbet/tapioca/config.yml +3 -12
  45. data/sorbet/tapioca/require.rb +0 -1
  46. metadata +41 -34
  47. data/.rubocop.yml +0 -33
  48. data/lib/typed/failure.rb +0 -81
  49. data/lib/typed/success.rb +0 -80
  50. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
  51. data/sorbet/rbi/gems/irb@1.7.0.rbi +0 -342
  52. data/sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi +0 -2528
  53. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -328
  54. data/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi +0 -1043
  55. data/sorbet/rbi/gems/unparser@0.6.8.rbi +0 -4525
  56. data/sorbet/rbi/gems/zeitwerk@2.6.8.rbi +0 -986
  57. /data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +0 -0
  58. /data/sorbet/rbi/gems/{reline@0.3.5.rbi → reline@0.4.2.rbi} +0 -0
  59. /data/sorbet/rbi/gems/{unicode-display_width@2.4.2.rbi → unicode-display_width@2.5.0.rbi} +0 -0
@@ -1,11 +1,30 @@
1
- # typed: false
1
+ # typed: true
2
2
 
3
3
  # DO NOT EDIT MANUALLY
4
4
  # This is an autogenerated file for types exported from the `tapioca` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem tapioca`.
6
6
 
7
7
  class Bundler::Dependency < ::Gem::Dependency
8
- include ::Tapioca::Gemfile::AutoRequireHook
8
+ include ::Tapioca::BundlerExt::AutoRequireHook
9
+ end
10
+
11
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#4
12
+ class GitAttributes
13
+ class << self
14
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#9
15
+ sig { params(path: ::Pathname).void }
16
+ def create_generated_attribute_file(path); end
17
+
18
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#16
19
+ sig { params(path: ::Pathname).void }
20
+ def create_vendored_attribute_file(path); end
21
+
22
+ private
23
+
24
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#25
25
+ sig { params(path: ::Pathname, content: ::String).void }
26
+ def create_gitattributes_file(path, content); end
27
+ end
9
28
  end
10
29
 
11
30
  # We need to do the alias-method-chain dance since Bootsnap does the same,
@@ -35,7 +54,7 @@ module RBI; end
35
54
 
36
55
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
37
56
  class RBI::Tree < ::RBI::NodeWithComments
38
- # source://rbi/0.0.16/lib/rbi/model.rb#115
57
+ # source://rbi/0.1.9/lib/rbi/model.rb#119
39
58
  sig do
40
59
  params(
41
60
  loc: T.nilable(::RBI::Loc),
@@ -45,19 +64,19 @@ class RBI::Tree < ::RBI::NodeWithComments
45
64
  end
46
65
  def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
47
66
 
48
- # source://rbi/0.0.16/lib/rbi/model.rb#122
67
+ # source://rbi/0.1.9/lib/rbi/model.rb#126
49
68
  sig { params(node: ::RBI::Node).void }
50
69
  def <<(node); end
51
70
 
52
- # source://rbi/0.0.16/lib/rbi/printer.rb#224
71
+ # source://rbi/0.1.9/lib/rbi/printer.rb#226
53
72
  sig { override.params(v: ::RBI::Printer).void }
54
73
  def accept_printer(v); end
55
74
 
56
- # source://rbi/0.0.16/lib/rbi/rewriters/add_sig_templates.rb#66
75
+ # source://rbi/0.1.9/lib/rbi/rewriters/add_sig_templates.rb#66
57
76
  sig { params(with_todo_comment: T::Boolean).void }
58
77
  def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
59
78
 
60
- # source://rbi/0.0.16/lib/rbi/rewriters/annotate.rb#48
79
+ # source://rbi/0.1.9/lib/rbi/rewriters/annotate.rb#49
61
80
  sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
62
81
  def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
63
82
 
@@ -121,23 +140,27 @@ class RBI::Tree < ::RBI::NodeWithComments
121
140
  end
122
141
  def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
123
142
 
124
- # source://rbi/0.0.16/lib/rbi/rewriters/deannotate.rb#40
143
+ # source://rbi/0.1.9/lib/rbi/rewriters/deannotate.rb#41
125
144
  sig { params(annotation: ::String).void }
126
145
  def deannotate!(annotation); end
127
146
 
128
- # source://rbi/0.0.16/lib/rbi/model.rb#128
147
+ # source://rbi/0.1.9/lib/rbi/model.rb#132
129
148
  sig { returns(T::Boolean) }
130
149
  def empty?; end
131
150
 
132
- # source://rbi/0.0.16/lib/rbi/rewriters/group_nodes.rb#38
151
+ # source://rbi/0.1.9/lib/rbi/rewriters/filter_versions.rb#118
152
+ sig { params(version: ::Gem::Version).void }
153
+ def filter_versions!(version); end
154
+
155
+ # source://rbi/0.1.9/lib/rbi/rewriters/group_nodes.rb#38
133
156
  sig { void }
134
157
  def group_nodes!; end
135
158
 
136
- # source://rbi/0.0.16/lib/rbi/index.rb#64
159
+ # source://rbi/0.1.9/lib/rbi/index.rb#68
137
160
  sig { returns(::RBI::Index) }
138
161
  def index; end
139
162
 
140
- # source://rbi/0.0.16/lib/rbi/rewriters/merge_trees.rb#318
163
+ # source://rbi/0.1.9/lib/rbi/rewriters/merge_trees.rb#324
141
164
  sig do
142
165
  params(
143
166
  other: ::RBI::Tree,
@@ -148,23 +171,23 @@ class RBI::Tree < ::RBI::NodeWithComments
148
171
  end
149
172
  def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
150
173
 
151
- # source://rbi/0.0.16/lib/rbi/rewriters/nest_non_public_methods.rb#45
174
+ # source://rbi/0.1.9/lib/rbi/rewriters/nest_non_public_methods.rb#46
152
175
  sig { void }
153
176
  def nest_non_public_methods!; end
154
177
 
155
- # source://rbi/0.0.16/lib/rbi/rewriters/nest_singleton_methods.rb#35
178
+ # source://rbi/0.1.9/lib/rbi/rewriters/nest_singleton_methods.rb#36
156
179
  sig { void }
157
180
  def nest_singleton_methods!; end
158
181
 
159
- # source://rbi/0.0.16/lib/rbi/model.rb#106
182
+ # source://rbi/0.1.9/lib/rbi/model.rb#110
160
183
  sig { returns(T::Array[::RBI::Node]) }
161
184
  def nodes; end
162
185
 
163
- # source://rbi/0.0.16/lib/rbi/printer.rb#231
186
+ # source://rbi/0.1.9/lib/rbi/printer.rb#233
164
187
  sig { override.returns(T::Boolean) }
165
188
  def oneline?; end
166
189
 
167
- # source://rbi/0.0.16/lib/rbi/rewriters/sort_nodes.rb#107
190
+ # source://rbi/0.1.9/lib/rbi/rewriters/sort_nodes.rb#119
168
191
  sig { void }
169
192
  def sort_nodes!; end
170
193
 
@@ -185,21 +208,26 @@ class RBI::TypedParam < ::T::Struct
185
208
  const :type, ::String
186
209
 
187
210
  class << self
188
- # source://sorbet-runtime/0.5.10832/lib/types/struct.rb#13
211
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
189
212
  def inherited(s); end
190
213
  end
191
214
  end
192
215
 
193
216
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
194
217
  module T::Generic
218
+ include ::Kernel
219
+
195
220
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
196
221
  def [](*types); end
197
222
 
223
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
224
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
225
+
198
226
  # 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
227
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
200
228
 
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
229
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
230
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
203
231
  end
204
232
 
205
233
  # This module intercepts calls to generic type instantiations and type variable definitions.
@@ -214,11 +242,14 @@ module T::Generic::TypeStoragePatch
214
242
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
215
243
  def [](*types); end
216
244
 
245
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
246
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
247
+
217
248
  # 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
249
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
219
250
 
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
251
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
252
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
222
253
  end
223
254
 
224
255
  # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28
@@ -302,18 +333,18 @@ end
302
333
 
303
334
  # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#6
304
335
  class T::Types::Simple < ::T::Types::Base
305
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
336
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
306
337
  def name; end
307
338
  end
308
339
 
309
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#59
340
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#65
310
341
  module T::Types::Simple::GenericPatch
311
342
  # This method intercepts calls to the `name` method for simple types, so that
312
343
  # it can ask the name to the type if the type is generic, since, by this point,
313
344
  # we've created a clone of that type with the `name` method returning the
314
345
  # appropriate name for that specific concrete type.
315
346
  #
316
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
347
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
317
348
  def name; end
318
349
  end
319
350
 
@@ -329,17 +360,17 @@ end
329
360
  # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#8
330
361
  T::Types::Simple::NamePatch::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
331
362
 
332
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#84
363
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#87
333
364
  module T::Utils::Private
334
365
  class << self
335
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
366
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
336
367
  def coerce_and_check_module_types(val, check_val, check_module_type); end
337
368
  end
338
369
  end
339
370
 
340
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#85
371
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#88
341
372
  module T::Utils::Private::PrivateCoercePatch
342
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
373
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
343
374
  def coerce_and_check_module_types(val, check_val, check_module_type); end
344
375
  end
345
376
 
@@ -360,6 +391,43 @@ end
360
391
  # source://tapioca//lib/tapioca.rb#37
361
392
  Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
362
393
 
394
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
395
+ module Tapioca::BundlerExt; end
396
+
397
+ # This is a module that gets prepended to `Bundler::Dependency` and
398
+ # makes sure even gems marked as `require: false` are required during
399
+ # `Bundler.require`.
400
+ #
401
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#9
402
+ module Tapioca::BundlerExt::AutoRequireHook
403
+ requires_ancestor { Bundler::Dependency }
404
+
405
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#46
406
+ sig { returns(T.untyped) }
407
+ def autorequire; end
408
+
409
+ class << self
410
+ # @return [Boolean]
411
+ #
412
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#26
413
+ def enabled?; end
414
+
415
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#22
416
+ sig { params(name: T.untyped).returns(T::Boolean) }
417
+ def excluded?(name); end
418
+
419
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#36
420
+ sig do
421
+ type_parameters(:Result)
422
+ .params(
423
+ exclude: T::Array[::String],
424
+ blk: T.proc.returns(T.type_parameter(:Result))
425
+ ).returns(T.type_parameter(:Result))
426
+ end
427
+ def override_require_false(exclude:, &blk); end
428
+ end
429
+ end
430
+
363
431
  # source://tapioca//lib/tapioca.rb#60
364
432
  Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
365
433
 
@@ -375,40 +443,42 @@ class Tapioca::Cli < ::Thor
375
443
  include ::Tapioca::ConfigHelper
376
444
  include ::Tapioca::EnvHelper
377
445
 
378
- # source://tapioca//lib/tapioca/cli.rb#336
446
+ # source://tapioca//lib/tapioca/cli.rb#355
379
447
  def __print_version; end
380
448
 
381
- # source://tapioca//lib/tapioca/cli.rb#316
449
+ # source://tapioca//lib/tapioca/cli.rb#337
382
450
  def annotations; end
383
451
 
384
- # source://tapioca//lib/tapioca/cli.rb#286
452
+ # source://tapioca//lib/tapioca/cli.rb#309
385
453
  def check_shims; end
386
454
 
387
- # source://tapioca//lib/tapioca/cli.rb#41
455
+ # source://tapioca//lib/tapioca/cli.rb#46
388
456
  def configure; end
389
457
 
390
- # source://tapioca//lib/tapioca/cli.rb#133
458
+ # source://tapioca//lib/tapioca/cli.rb#138
391
459
  def dsl(*constant_or_paths); end
392
460
 
393
- # source://tapioca//lib/tapioca/cli.rb#238
461
+ # @raise [MalformattedArgumentError]
462
+ #
463
+ # source://tapioca//lib/tapioca/cli.rb#253
394
464
  def gem(*gems); end
395
465
 
396
466
  # source://tapioca//lib/tapioca/cli.rb#27
397
467
  def init; end
398
468
 
399
- # source://tapioca//lib/tapioca/cli.rb#52
469
+ # source://tapioca//lib/tapioca/cli.rb#57
400
470
  def require; end
401
471
 
402
- # source://tapioca//lib/tapioca/cli.rb#71
472
+ # source://tapioca//lib/tapioca/cli.rb#74
403
473
  def todo; end
404
474
 
405
475
  private
406
476
 
407
- # source://tapioca//lib/tapioca/cli.rb#350
477
+ # source://tapioca//lib/tapioca/cli.rb#369
408
478
  def print_init_next_steps; end
409
479
 
410
480
  class << self
411
- # source://tapioca//lib/tapioca/cli.rb#342
481
+ # source://tapioca//lib/tapioca/cli.rb#361
412
482
  def exit_on_failure?; end
413
483
  end
414
484
  end
@@ -436,6 +506,239 @@ end
436
506
  # source://tapioca//lib/tapioca/commands.rb#5
437
507
  module Tapioca::Commands; end
438
508
 
509
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
510
+ #
511
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#6
512
+ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
513
+ include ::Tapioca::SorbetHelper
514
+ include ::Tapioca::RBIFilesHelper
515
+
516
+ abstract!
517
+
518
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#31
519
+ sig do
520
+ params(
521
+ requested_constants: T::Array[::String],
522
+ requested_paths: T::Array[::Pathname],
523
+ outpath: ::Pathname,
524
+ only: T::Array[::String],
525
+ exclude: T::Array[::String],
526
+ file_header: T::Boolean,
527
+ tapioca_path: ::String,
528
+ quiet: T::Boolean,
529
+ verbose: T::Boolean,
530
+ number_of_workers: T.nilable(::Integer),
531
+ auto_strictness: T::Boolean,
532
+ gem_dir: ::String,
533
+ rbi_formatter: ::Tapioca::RBIFormatter,
534
+ app_root: ::String,
535
+ halt_upon_load_error: T::Boolean
536
+ ).void
537
+ end
538
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, 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), halt_upon_load_error: T.unsafe(nil)); end
539
+
540
+ private
541
+
542
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#94
543
+ sig { returns(T::Array[::String]) }
544
+ def all_requested_constants; end
545
+
546
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#284
547
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
548
+ def build_error_for_files(cause, files); end
549
+
550
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#208
551
+ sig do
552
+ params(
553
+ constant_name: ::String,
554
+ rbi: ::RBI::File,
555
+ outpath: ::Pathname,
556
+ quiet: T::Boolean
557
+ ).returns(T.nilable(::Pathname))
558
+ end
559
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
560
+
561
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#146
562
+ sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
563
+ def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
564
+
565
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#169
566
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
567
+ def constantize_compilers(compiler_names); end
568
+
569
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
570
+ sig { returns(T::Array[::String]) }
571
+ def constants_from_requested_paths; end
572
+
573
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#117
574
+ sig { returns(::Tapioca::Dsl::Pipeline) }
575
+ def create_pipeline; end
576
+
577
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#247
578
+ sig { params(constant_name: ::String).returns(::Pathname) }
579
+ def dsl_rbi_filename(constant_name); end
580
+
581
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#132
582
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
583
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
584
+
585
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#339
586
+ sig { params(constant: ::String).returns(::String) }
587
+ def generate_command_for(constant); end
588
+
589
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#70
590
+ sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
591
+ def generate_dsl_rbi_files(outpath, quiet:); end
592
+
593
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#107
594
+ sig { void }
595
+ def load_application; end
596
+
597
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#226
598
+ sig { params(dir: ::Pathname).void }
599
+ def perform_dsl_verification(dir); end
600
+
601
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#102
602
+ sig { returns(::Tapioca::Dsl::Pipeline) }
603
+ def pipeline; end
604
+
605
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
606
+ sig { params(files: T::Set[::Pathname]).void }
607
+ def purge_stale_dsl_rbi_files(files); end
608
+
609
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#334
610
+ sig { params(constant: ::String).returns(::String) }
611
+ def rbi_filename_for(constant); end
612
+
613
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#315
614
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
615
+ def rbi_files_in(path); end
616
+
617
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
618
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
619
+ def report_diff_and_exit_if_out_of_date(diff, command); end
620
+
621
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#188
622
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
623
+ def resolve(name); end
624
+
625
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#322
626
+ sig { params(class_name: ::String).returns(::String) }
627
+ def underscore(class_name); end
628
+
629
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#252
630
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
631
+ def verify_dsl_rbi(tmp_dir:); end
632
+ end
633
+
634
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
635
+ #
636
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#6
637
+ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
638
+ include ::Tapioca::SorbetHelper
639
+ include ::Tapioca::RBIFilesHelper
640
+
641
+ abstract!
642
+
643
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#32
644
+ sig do
645
+ params(
646
+ gem_names: T::Array[::String],
647
+ exclude: T::Array[::String],
648
+ include_dependencies: T::Boolean,
649
+ prerequire: T.nilable(::String),
650
+ postrequire: ::String,
651
+ typed_overrides: T::Hash[::String, ::String],
652
+ outpath: ::Pathname,
653
+ file_header: T::Boolean,
654
+ include_doc: T::Boolean,
655
+ include_loc: T::Boolean,
656
+ include_exported_rbis: T::Boolean,
657
+ number_of_workers: T.nilable(::Integer),
658
+ auto_strictness: T::Boolean,
659
+ dsl_dir: ::String,
660
+ rbi_formatter: ::Tapioca::RBIFormatter,
661
+ halt_upon_load_error: T::Boolean
662
+ ).void
663
+ end
664
+ def initialize(gem_names:, exclude:, include_dependencies:, 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), halt_upon_load_error: T.unsafe(nil)); end
665
+
666
+ private
667
+
668
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#221
669
+ sig { returns(T::Array[::String]) }
670
+ def added_rbis; end
671
+
672
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#282
673
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
674
+ def build_error_for_files(cause, files); end
675
+
676
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#110
677
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
678
+ def compile_gem_rbi(gem); end
679
+
680
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#216
681
+ sig { params(gem_name: ::String).returns(::Pathname) }
682
+ def existing_rbi(gem_name); end
683
+
684
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#264
685
+ sig { returns(T::Hash[::String, ::String]) }
686
+ def existing_rbis; end
687
+
688
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#228
689
+ sig { params(gem_name: ::String).returns(::Pathname) }
690
+ def expected_rbi(gem_name); end
691
+
692
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#270
693
+ sig { returns(T::Hash[::String, ::String]) }
694
+ def expected_rbis; end
695
+
696
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#98
697
+ sig do
698
+ params(
699
+ gem: ::Tapioca::Gemfile::GemSpec,
700
+ dependencies: T::Array[::Tapioca::Gemfile::GemSpec]
701
+ ).returns(T::Array[::Tapioca::Gemfile::GemSpec])
702
+ end
703
+ def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
704
+
705
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#233
706
+ sig { params(gem_name: ::String).returns(T::Boolean) }
707
+ def gem_rbi_exists?(gem_name); end
708
+
709
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#277
710
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
711
+ def gem_rbi_filename(gem_name, version); end
712
+
713
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#77
714
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
715
+ def gems_to_generate(gem_names); end
716
+
717
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#287
718
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
719
+ def merge_with_exported_rbi(gem, file); end
720
+
721
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#258
722
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
723
+ def move(old_filename, new_filename); end
724
+
725
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#168
726
+ sig { void }
727
+ def perform_additions; end
728
+
729
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#141
730
+ sig { void }
731
+ def perform_removals; end
732
+
733
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#211
734
+ sig { returns(T::Array[::String]) }
735
+ def removed_rbis; end
736
+
737
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#238
738
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
739
+ def report_diff_and_exit_if_out_of_date(diff, command); end
740
+ end
741
+
439
742
  # source://tapioca//lib/tapioca/commands/annotations.rb#6
440
743
  class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
441
744
  # source://tapioca//lib/tapioca/commands/annotations.rb#18
@@ -450,69 +753,69 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
450
753
  end
451
754
  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
755
 
453
- # source://tapioca//lib/tapioca/commands/annotations.rb#36
454
- sig { override.void }
455
- def execute; end
456
-
457
756
  private
458
757
 
459
- # source://tapioca//lib/tapioca/commands/annotations.rb#191
758
+ # source://tapioca//lib/tapioca/commands/annotations.rb#193
460
759
  sig { params(name: ::String, content: ::String).returns(::String) }
461
760
  def add_header(name, content); end
462
761
 
463
- # source://tapioca//lib/tapioca/commands/annotations.rb#211
762
+ # source://tapioca//lib/tapioca/commands/annotations.rb#213
464
763
  sig { params(name: ::String, content: ::String).returns(::String) }
465
764
  def apply_typed_override(name, content); end
466
765
 
467
- # source://tapioca//lib/tapioca/commands/annotations.rb#132
766
+ # source://tapioca//lib/tapioca/commands/annotations.rb#39
767
+ sig { override.void }
768
+ def execute; end
769
+
770
+ # source://tapioca//lib/tapioca/commands/annotations.rb#136
468
771
  sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
469
772
  def fetch_annotation(repo_uris, gem_name); end
470
773
 
471
- # source://tapioca//lib/tapioca/commands/annotations.rb#109
774
+ # source://tapioca//lib/tapioca/commands/annotations.rb#113
472
775
  sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
473
776
  def fetch_annotations(gem_names); end
474
777
 
475
- # source://tapioca//lib/tapioca/commands/annotations.rb#150
778
+ # source://tapioca//lib/tapioca/commands/annotations.rb#152
476
779
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
477
780
  def fetch_file(repo_uri, path); end
478
781
 
479
- # source://tapioca//lib/tapioca/commands/annotations.rb#167
782
+ # source://tapioca//lib/tapioca/commands/annotations.rb#169
480
783
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
481
784
  def fetch_http_file(repo_uri, path); end
482
785
 
483
- # source://tapioca//lib/tapioca/commands/annotations.rb#98
786
+ # source://tapioca//lib/tapioca/commands/annotations.rb#102
484
787
  sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
485
788
  def fetch_index(repo_uri, repo_number:); end
486
789
 
487
- # source://tapioca//lib/tapioca/commands/annotations.rb#77
790
+ # source://tapioca//lib/tapioca/commands/annotations.rb#81
488
791
  sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
489
792
  def fetch_indexes; end
490
793
 
491
- # source://tapioca//lib/tapioca/commands/annotations.rb#159
794
+ # source://tapioca//lib/tapioca/commands/annotations.rb#161
492
795
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
493
796
  def fetch_local_file(repo_uri, path); end
494
797
 
495
- # source://tapioca//lib/tapioca/commands/annotations.rb#46
798
+ # source://tapioca//lib/tapioca/commands/annotations.rb#50
496
799
  sig { returns(T::Array[::String]) }
497
800
  def list_gemfile_gems; end
498
801
 
499
- # source://tapioca//lib/tapioca/commands/annotations.rb#223
802
+ # source://tapioca//lib/tapioca/commands/annotations.rb#225
500
803
  sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
501
804
  def merge_files(gem_name, contents); end
502
805
 
503
- # source://tapioca//lib/tapioca/commands/annotations.rb#56
806
+ # source://tapioca//lib/tapioca/commands/annotations.rb#60
504
807
  sig { params(project_gems: T::Array[::String]).void }
505
808
  def remove_expired_annotations(project_gems); end
506
809
 
507
- # source://tapioca//lib/tapioca/commands/annotations.rb#250
810
+ # source://tapioca//lib/tapioca/commands/annotations.rb#252
508
811
  sig { returns(T::Hash[::String, T.nilable(::String)]) }
509
812
  def repo_tokens; end
510
813
 
511
- # source://tapioca//lib/tapioca/commands/annotations.rb#278
814
+ # source://tapioca//lib/tapioca/commands/annotations.rb#280
512
815
  sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
513
816
  def say_http_error(path, repo_uri, message:); end
514
817
 
515
- # source://tapioca//lib/tapioca/commands/annotations.rb#262
818
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
516
819
  sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
517
820
  def token_for(repo_uri); end
518
821
  end
@@ -536,7 +839,9 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
536
839
  end
537
840
  def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
538
841
 
539
- # source://tapioca//lib/tapioca/commands/check_shims.rb#42
842
+ private
843
+
844
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#44
540
845
  sig { override.void }
541
846
  def execute; end
542
847
  end
@@ -558,19 +863,17 @@ class Tapioca::Commands::Command
558
863
  sig { void }
559
864
  def initialize; end
560
865
 
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.2/lib/thor/base.rb#139
866
+ # source://thor/1.3.0/lib/thor/base.rb#155
568
867
  sig { returns(::Thor::Actions) }
569
868
  def file_writer; end
570
869
 
870
+ # source://tapioca//lib/tapioca/commands/command.rb#25
871
+ sig(:final) { void }
872
+ def run; end
873
+
571
874
  private
572
875
 
573
- # source://tapioca//lib/tapioca/commands/command.rb#46
876
+ # source://tapioca//lib/tapioca/commands/command.rb#53
574
877
  sig do
575
878
  params(
576
879
  path: T.any(::Pathname, ::String),
@@ -582,18 +885,19 @@ class Tapioca::Commands::Command
582
885
  end
583
886
  def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
584
887
 
585
- # source://tapioca//lib/tapioca/commands/command.rb#30
888
+ # source://tapioca//lib/tapioca/commands/command.rb#37
586
889
  sig { params(command: ::Symbol, args: ::String).returns(::String) }
587
890
  def default_command(command, *args); end
588
891
 
589
- # source://tapioca//lib/tapioca/commands/command.rb#56
892
+ # @abstract
893
+ #
894
+ # source://tapioca//lib/tapioca/commands/command.rb#34
895
+ sig { abstract.void }
896
+ def execute; end
897
+
898
+ # source://tapioca//lib/tapioca/commands/command.rb#63
590
899
  sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
591
900
  def remove_file(path, verbose: T.unsafe(nil)); end
592
-
593
- class << self
594
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
595
- def new(*args, **_arg1, &blk); end
596
- end
597
901
  end
598
902
 
599
903
  # source://tapioca//lib/tapioca/commands/command.rb#10
@@ -605,272 +909,107 @@ end
605
909
  # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
606
910
  #
607
911
  # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6
608
- class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
609
- abstract!
610
-
611
- # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
612
- sig { void }
613
- def initialize; end
614
-
615
- class << self
616
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
617
- def new(*args, **_arg1, &blk); end
618
- end
619
- end
620
-
621
- # source://tapioca//lib/tapioca/commands/configure.rb#6
622
- class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
623
- # source://tapioca//lib/tapioca/commands/configure.rb#14
624
- sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
625
- def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
626
-
627
- # source://tapioca//lib/tapioca/commands/configure.rb#30
628
- sig { override.void }
629
- def execute; end
630
-
631
- private
632
-
633
- # source://tapioca//lib/tapioca/commands/configure.rb#79
634
- sig { void }
635
- def create_binstub; end
636
-
637
- # source://tapioca//lib/tapioca/commands/configure.rb#69
638
- sig { void }
639
- def create_post_require; end
640
-
641
- # source://tapioca//lib/tapioca/commands/configure.rb#40
642
- sig { void }
643
- def create_sorbet_config; end
644
-
645
- # source://tapioca//lib/tapioca/commands/configure.rb#50
646
- sig { void }
647
- def create_tapioca_config; end
648
-
649
- # source://tapioca//lib/tapioca/commands/configure.rb#92
650
- sig { returns(::Bundler::Installer) }
651
- def installer; end
652
-
653
- # source://tapioca//lib/tapioca/commands/configure.rb#97
654
- sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
655
- def spec; end
656
- end
657
-
658
- # source://tapioca//lib/tapioca/commands/dsl.rb#6
659
- class Tapioca::Commands::Dsl < ::Tapioca::Commands::CommandWithoutTracker
660
- include ::Tapioca::SorbetHelper
661
- include ::Tapioca::RBIFilesHelper
662
-
663
- # source://tapioca//lib/tapioca/commands/dsl.rb#29
664
- sig do
665
- params(
666
- requested_constants: T::Array[::String],
667
- requested_paths: T::Array[::Pathname],
668
- outpath: ::Pathname,
669
- only: T::Array[::String],
670
- exclude: T::Array[::String],
671
- file_header: T::Boolean,
672
- tapioca_path: ::String,
673
- should_verify: T::Boolean,
674
- quiet: T::Boolean,
675
- verbose: T::Boolean,
676
- number_of_workers: T.nilable(::Integer),
677
- auto_strictness: T::Boolean,
678
- gem_dir: ::String,
679
- rbi_formatter: ::Tapioca::RBIFormatter,
680
- app_root: ::String
681
- ).void
682
- end
683
- 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
684
-
685
- # source://tapioca//lib/tapioca/commands/dsl.rb#93
686
- sig { override.void }
687
- def execute; end
688
-
689
- # source://tapioca//lib/tapioca/commands/dsl.rb#66
690
- sig { void }
691
- def list_compilers; end
692
-
693
- private
694
-
695
- # source://tapioca//lib/tapioca/commands/dsl.rb#325
696
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
697
- def build_error_for_files(cause, files); end
698
-
699
- # source://tapioca//lib/tapioca/commands/dsl.rb#249
700
- sig do
701
- params(
702
- constant_name: ::String,
703
- rbi: ::RBI::File,
704
- outpath: ::Pathname,
705
- quiet: T::Boolean
706
- ).returns(T.nilable(::Pathname))
707
- end
708
- def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
709
-
710
- # source://tapioca//lib/tapioca/commands/dsl.rb#187
711
- sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
712
- def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
713
-
714
- # source://tapioca//lib/tapioca/commands/dsl.rb#210
715
- sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
716
- def constantize_compilers(compiler_names); end
717
-
718
- # source://tapioca//lib/tapioca/commands/dsl.rb#385
719
- sig { returns(T::Array[::String]) }
720
- def constants_from_requested_paths; end
721
-
722
- # source://tapioca//lib/tapioca/commands/dsl.rb#158
723
- sig { returns(::Tapioca::Dsl::Pipeline) }
724
- def create_pipeline; end
725
-
726
- # source://tapioca//lib/tapioca/commands/dsl.rb#288
727
- sig { params(constant_name: ::String).returns(::Pathname) }
728
- def dsl_rbi_filename(constant_name); end
912
+ class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
913
+ abstract!
729
914
 
730
- # source://tapioca//lib/tapioca/commands/dsl.rb#173
731
- sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
732
- def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
915
+ # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
916
+ sig { void }
917
+ def initialize; end
918
+ end
733
919
 
734
- # source://tapioca//lib/tapioca/commands/dsl.rb#380
735
- sig { params(constant: ::String).returns(::String) }
736
- def generate_command_for(constant); end
920
+ # source://tapioca//lib/tapioca/commands/configure.rb#6
921
+ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
922
+ # source://tapioca//lib/tapioca/commands/configure.rb#14
923
+ sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
924
+ def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
737
925
 
738
- # source://tapioca//lib/tapioca/commands/dsl.rb#267
739
- sig { params(dir: ::Pathname).void }
740
- def perform_dsl_verification(dir); end
926
+ private
741
927
 
742
- # source://tapioca//lib/tapioca/commands/dsl.rb#276
743
- sig { params(files: T::Set[::Pathname]).void }
744
- def purge_stale_dsl_rbi_files(files); end
928
+ # source://tapioca//lib/tapioca/commands/configure.rb#79
929
+ sig { void }
930
+ def create_binstub; end
745
931
 
746
- # source://tapioca//lib/tapioca/commands/dsl.rb#375
747
- sig { params(constant: ::String).returns(::String) }
748
- def rbi_filename_for(constant); end
932
+ # source://tapioca//lib/tapioca/commands/configure.rb#69
933
+ sig { void }
934
+ def create_post_require; end
749
935
 
750
- # source://tapioca//lib/tapioca/commands/dsl.rb#356
751
- sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
752
- def rbi_files_in(path); end
936
+ # source://tapioca//lib/tapioca/commands/configure.rb#40
937
+ sig { void }
938
+ def create_sorbet_config; end
753
939
 
754
- # source://tapioca//lib/tapioca/commands/dsl.rb#334
755
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
756
- def report_diff_and_exit_if_out_of_date(diff, command); end
940
+ # source://tapioca//lib/tapioca/commands/configure.rb#50
941
+ sig { void }
942
+ def create_tapioca_config; end
757
943
 
758
- # source://tapioca//lib/tapioca/commands/dsl.rb#229
759
- sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
760
- def resolve(name); end
944
+ # source://tapioca//lib/tapioca/commands/configure.rb#32
945
+ sig { override.void }
946
+ def execute; end
761
947
 
762
- # source://tapioca//lib/tapioca/commands/dsl.rb#363
763
- sig { params(class_name: ::String).returns(::String) }
764
- def underscore(class_name); end
948
+ # source://tapioca//lib/tapioca/commands/configure.rb#92
949
+ sig { returns(::Bundler::Installer) }
950
+ def installer; end
765
951
 
766
- # source://tapioca//lib/tapioca/commands/dsl.rb#293
767
- sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
768
- def verify_dsl_rbi(tmp_dir:); end
952
+ # source://tapioca//lib/tapioca/commands/configure.rb#97
953
+ sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
954
+ def spec; end
769
955
  end
770
956
 
771
- # source://tapioca//lib/tapioca/commands/gem.rb#6
772
- class Tapioca::Commands::Gem < ::Tapioca::Commands::Command
773
- include ::Tapioca::SorbetHelper
774
- include ::Tapioca::RBIFilesHelper
775
-
776
- # source://tapioca//lib/tapioca/commands/gem.rb#28
777
- sig do
778
- params(
779
- gem_names: T::Array[::String],
780
- exclude: T::Array[::String],
781
- prerequire: T.nilable(::String),
782
- postrequire: ::String,
783
- typed_overrides: T::Hash[::String, ::String],
784
- outpath: ::Pathname,
785
- file_header: T::Boolean,
786
- include_doc: T::Boolean,
787
- include_loc: T::Boolean,
788
- include_exported_rbis: T::Boolean,
789
- number_of_workers: T.nilable(::Integer),
790
- auto_strictness: T::Boolean,
791
- dsl_dir: ::String,
792
- rbi_formatter: ::Tapioca::RBIFormatter
793
- ).void
794
- end
795
- 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
957
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#6
958
+ class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
959
+ private
796
960
 
797
- # source://tapioca//lib/tapioca/commands/gem.rb#67
961
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#10
798
962
  sig { override.void }
799
963
  def execute; end
964
+ end
800
965
 
801
- # source://tapioca//lib/tapioca/commands/gem.rb#105
802
- sig { params(should_verify: T::Boolean, exclude: T::Array[::String]).void }
803
- def sync(should_verify: T.unsafe(nil), exclude: T.unsafe(nil)); end
804
-
966
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#6
967
+ class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
805
968
  private
806
969
 
807
- # source://tapioca//lib/tapioca/commands/gem.rb#283
808
- sig { returns(T::Array[::String]) }
809
- def added_rbis; end
810
-
811
- # source://tapioca//lib/tapioca/commands/gem.rb#344
812
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
813
- def build_error_for_files(cause, files); end
814
-
815
- # source://tapioca//lib/tapioca/commands/gem.rb#154
816
- sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
817
- def compile_gem_rbi(gem); end
818
-
819
- # source://tapioca//lib/tapioca/commands/gem.rb#278
820
- sig { params(gem_name: ::String).returns(::Pathname) }
821
- def existing_rbi(gem_name); end
822
-
823
- # source://tapioca//lib/tapioca/commands/gem.rb#326
824
- sig { returns(T::Hash[::String, ::String]) }
825
- def existing_rbis; end
970
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#10
971
+ sig { override.void }
972
+ def execute; end
973
+ end
826
974
 
827
- # source://tapioca//lib/tapioca/commands/gem.rb#290
828
- sig { params(gem_name: ::String).returns(::Pathname) }
829
- def expected_rbi(gem_name); end
975
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#6
976
+ class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
977
+ private
830
978
 
831
- # source://tapioca//lib/tapioca/commands/gem.rb#332
832
- sig { returns(T::Hash[::String, ::String]) }
833
- def expected_rbis; end
979
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#10
980
+ sig { override.void }
981
+ def execute; end
982
+ end
834
983
 
835
- # source://tapioca//lib/tapioca/commands/gem.rb#295
836
- sig { params(gem_name: ::String).returns(T::Boolean) }
837
- def gem_rbi_exists?(gem_name); end
984
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#6
985
+ class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
986
+ private
838
987
 
839
- # source://tapioca//lib/tapioca/commands/gem.rb#339
840
- sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
841
- def gem_rbi_filename(gem_name, version); end
988
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#10
989
+ sig { override.void }
990
+ def execute; end
991
+ end
842
992
 
843
- # source://tapioca//lib/tapioca/commands/gem.rb#139
844
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
845
- def gems_to_generate(gem_names); end
993
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#6
994
+ class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
995
+ private
846
996
 
847
- # source://tapioca//lib/tapioca/commands/gem.rb#349
848
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
849
- def merge_with_exported_rbi(gem, file); end
997
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#10
998
+ sig { override.void }
999
+ def execute; end
1000
+ end
850
1001
 
851
- # source://tapioca//lib/tapioca/commands/gem.rb#320
852
- sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
853
- def move(old_filename, new_filename); end
1002
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#6
1003
+ class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
1004
+ private
854
1005
 
855
- # source://tapioca//lib/tapioca/commands/gem.rb#231
856
- sig { void }
857
- def perform_additions; end
1006
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#10
1007
+ sig { override.void }
1008
+ def execute; end
858
1009
 
859
- # source://tapioca//lib/tapioca/commands/gem.rb#204
1010
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#17
860
1011
  sig { void }
861
- def perform_removals; end
862
-
863
- # source://tapioca//lib/tapioca/commands/gem.rb#185
864
- sig { params(exclude: T::Array[::String]).void }
865
- def perform_sync_verification(exclude: T.unsafe(nil)); end
866
-
867
- # source://tapioca//lib/tapioca/commands/gem.rb#273
868
- sig { returns(T::Array[::String]) }
869
- def removed_rbis; end
870
-
871
- # source://tapioca//lib/tapioca/commands/gem.rb#300
872
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
873
- def report_diff_and_exit_if_out_of_date(diff, command); end
1012
+ def perform_sync_verification; end
874
1013
  end
875
1014
 
876
1015
  # source://tapioca//lib/tapioca/commands/require.rb#6
@@ -879,7 +1018,9 @@ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
879
1018
  sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
880
1019
  def initialize(requires_path:, sorbet_config_path:); end
881
1020
 
882
- # source://tapioca//lib/tapioca/commands/require.rb#21
1021
+ private
1022
+
1023
+ # source://tapioca//lib/tapioca/commands/require.rb#23
883
1024
  sig { override.void }
884
1025
  def execute; end
885
1026
  end
@@ -888,25 +1029,32 @@ end
888
1029
  class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
889
1030
  include ::Tapioca::SorbetHelper
890
1031
 
891
- # source://tapioca//lib/tapioca/commands/todo.rb#15
1032
+ # source://tapioca//lib/tapioca/commands/todo.rb#26
892
1033
  sig { params(todo_file: ::String, file_header: T::Boolean).void }
893
1034
  def initialize(todo_file:, file_header:); end
894
1035
 
895
- # source://tapioca//lib/tapioca/commands/todo.rb#23
896
- sig { override.void }
897
- def execute; end
1036
+ # source://tapioca//lib/tapioca/commands/todo.rb#34
1037
+ sig { void }
1038
+ def run_with_deprecation; end
898
1039
 
899
1040
  private
900
1041
 
901
- # source://tapioca//lib/tapioca/commands/todo.rb#49
1042
+ # source://tapioca//lib/tapioca/commands/todo.rb#44
1043
+ sig { override.void }
1044
+ def execute; end
1045
+
1046
+ # source://tapioca//lib/tapioca/commands/todo.rb#68
902
1047
  sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
903
1048
  def rbi(constants, command:); end
904
1049
 
905
- # source://tapioca//lib/tapioca/commands/todo.rb#69
1050
+ # source://tapioca//lib/tapioca/commands/todo.rb#88
906
1051
  sig { returns(T::Array[::String]) }
907
1052
  def unresolved_constants; end
908
1053
  end
909
1054
 
1055
+ # source://tapioca//lib/tapioca/commands/todo.rb#9
1056
+ Tapioca::Commands::Todo::DEPRECATION_MESSAGE = T.let(T.unsafe(nil), String)
1057
+
910
1058
  # source://tapioca//lib/tapioca/helpers/config_helper.rb#5
911
1059
  module Tapioca::ConfigHelper
912
1060
  requires_ancestor { Thor }
@@ -977,7 +1125,7 @@ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
977
1125
  const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
978
1126
 
979
1127
  class << self
980
- # source://sorbet-runtime/0.5.10832/lib/types/struct.rb#13
1128
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
981
1129
  def inherited(s); end
982
1130
  end
983
1131
  end
@@ -988,7 +1136,7 @@ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
988
1136
  const :colors, T::Array[::Symbol]
989
1137
 
990
1138
  class << self
991
- # source://sorbet-runtime/0.5.10832/lib/types/struct.rb#13
1139
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
992
1140
  def inherited(s); end
993
1141
  end
994
1142
  end
@@ -1045,17 +1193,17 @@ class Tapioca::Dsl::Compiler
1045
1193
 
1046
1194
  ConstantType = type_member { { upper: Module } }
1047
1195
 
1048
- # source://tapioca//lib/tapioca/dsl/compiler.rb#60
1196
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#64
1049
1197
  sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
1050
1198
  def initialize(pipeline, root, constant); end
1051
1199
 
1052
1200
  # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1053
1201
  #
1054
- # source://tapioca//lib/tapioca/dsl/compiler.rb#77
1202
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#81
1055
1203
  sig { params(error: ::String).void }
1056
1204
  def add_error(error); end
1057
1205
 
1058
- # source://tapioca//lib/tapioca/dsl/compiler.rb#68
1206
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#72
1059
1207
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1060
1208
  def compiler_enabled?(compiler_name); end
1061
1209
 
@@ -1065,7 +1213,7 @@ class Tapioca::Dsl::Compiler
1065
1213
 
1066
1214
  # @abstract
1067
1215
  #
1068
- # source://tapioca//lib/tapioca/dsl/compiler.rb#73
1216
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#77
1069
1217
  sig { abstract.void }
1070
1218
  def decorate; end
1071
1219
 
@@ -1075,21 +1223,21 @@ class Tapioca::Dsl::Compiler
1075
1223
 
1076
1224
  private
1077
1225
 
1078
- # source://tapioca//lib/tapioca/dsl/compiler.rb#126
1226
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#130
1079
1227
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1080
1228
  def compile_method_parameters_to_rbi(method_def); end
1081
1229
 
1082
- # source://tapioca//lib/tapioca/dsl/compiler.rb#162
1230
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#166
1083
1231
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1084
1232
  def compile_method_return_type_to_rbi(method_def); end
1085
1233
 
1086
- # source://tapioca//lib/tapioca/dsl/compiler.rb#116
1234
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#120
1087
1235
  sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1088
1236
  def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1089
1237
 
1090
1238
  # Get the types of each parameter from a method signature
1091
1239
  #
1092
- # source://tapioca//lib/tapioca/dsl/compiler.rb#90
1240
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#94
1093
1241
  sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1094
1242
  def parameters_types_from_signature(method_def, signature); end
1095
1243
 
@@ -1104,9 +1252,6 @@ class Tapioca::Dsl::Compiler
1104
1252
  sig { params(constant: ::Module).returns(T::Boolean) }
1105
1253
  def handles?(constant); end
1106
1254
 
1107
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1108
- def new(*args, **_arg1, &blk); end
1109
-
1110
1255
  # source://tapioca//lib/tapioca/dsl/compiler.rb#37
1111
1256
  sig { returns(T::Set[::Module]) }
1112
1257
  def processable_constants; end
@@ -1114,10 +1259,10 @@ class Tapioca::Dsl::Compiler
1114
1259
  private
1115
1260
 
1116
1261
  # source://tapioca//lib/tapioca/dsl/compiler.rb#47
1117
- sig { returns(T::Enumerable[::Class]) }
1262
+ sig { returns(T::Enumerable[T::Class[T.anything]]) }
1118
1263
  def all_classes; end
1119
1264
 
1120
- # source://tapioca//lib/tapioca/dsl/compiler.rb#53
1265
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#55
1121
1266
  sig { returns(T::Enumerable[::Module]) }
1122
1267
  def all_modules; end
1123
1268
  end
@@ -1194,15 +1339,15 @@ class Tapioca::Dsl::Pipeline
1194
1339
 
1195
1340
  private
1196
1341
 
1197
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#193
1342
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#199
1198
1343
  sig { void }
1199
1344
  def abort_if_pending_migrations!; end
1200
1345
 
1201
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#139
1346
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#144
1202
1347
  sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1203
1348
  def filter_anonymous_and_reloaded_constants(constants); end
1204
1349
 
1205
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#122
1350
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#124
1206
1351
  sig do
1207
1352
  params(
1208
1353
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1211,7 +1356,7 @@ class Tapioca::Dsl::Pipeline
1211
1356
  end
1212
1357
  def gather_active_compilers(requested_compilers, excluded_compilers); end
1213
1358
 
1214
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#130
1359
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#132
1215
1360
  sig do
1216
1361
  params(
1217
1362
  requested_constants: T::Array[::Module],
@@ -1220,11 +1365,11 @@ class Tapioca::Dsl::Pipeline
1220
1365
  end
1221
1366
  def gather_constants(requested_constants, requested_paths); end
1222
1367
 
1223
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#167
1368
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#173
1224
1369
  sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1225
1370
  def rbi_for_constant(constant); end
1226
1371
 
1227
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#186
1372
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#192
1228
1373
  sig { params(error: ::String).returns(T.noreturn) }
1229
1374
  def report_error(error); end
1230
1375
  end
@@ -1299,11 +1444,6 @@ end
1299
1444
  # source://tapioca//lib/tapioca/gem/events.rb#6
1300
1445
  class Tapioca::Gem::Event
1301
1446
  abstract!
1302
-
1303
- class << self
1304
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1305
- def new(*args, **_arg1, &blk); end
1306
- end
1307
1447
  end
1308
1448
 
1309
1449
  # source://tapioca//lib/tapioca/gem/events.rb#43
@@ -1354,11 +1494,6 @@ class Tapioca::Gem::Listeners::Base
1354
1494
  # source://tapioca//lib/tapioca/gem/listeners/base.rb#41
1355
1495
  sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1356
1496
  def on_scope(event); end
1357
-
1358
- class << self
1359
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1360
- def new(*args, **_arg1, &blk); end
1361
- end
1362
1497
  end
1363
1498
 
1364
1499
  # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7
@@ -1406,11 +1541,19 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1406
1541
 
1407
1542
  private
1408
1543
 
1409
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#34
1410
- sig { params(tree: ::RBI::Tree, module_name: ::String, mod: ::Module, for_visibility: T::Array[::Symbol]).void }
1411
- def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end
1544
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#35
1545
+ sig do
1546
+ params(
1547
+ tree: ::RBI::Tree,
1548
+ module_name: ::String,
1549
+ mod: ::Module,
1550
+ for_visibility: T::Array[::Symbol],
1551
+ attached_class: T.nilable(::Module)
1552
+ ).void
1553
+ end
1554
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil), attached_class: T.unsafe(nil)); end
1412
1555
 
1413
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#63
1556
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#71
1414
1557
  sig do
1415
1558
  params(
1416
1559
  tree: ::RBI::Tree,
@@ -1422,18 +1565,22 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1422
1565
  end
1423
1566
  def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
1424
1567
 
1425
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#191
1568
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#211
1426
1569
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1427
1570
  def ignore?(event); end
1428
1571
 
1429
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#184
1572
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#204
1430
1573
  sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1431
1574
  def initialize_method_for(constant); end
1432
1575
 
1433
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#165
1576
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
1434
1577
  sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1435
1578
  def method_names_by_visibility(mod); end
1436
1579
 
1580
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#196
1581
+ sig { params(attached_class: T.nilable(::Module), method_name: ::Symbol).returns(T.nilable(T::Boolean)) }
1582
+ def method_new_in_abstract_class?(attached_class, method_name); end
1583
+
1437
1584
  # Check whether the method is defined by the constant.
1438
1585
  #
1439
1586
  # In most cases, it works to check that the constant is the method owner. However,
@@ -1444,7 +1591,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1444
1591
  # It walks up the ancestor tree via the `super_method` method; if any of the super
1445
1592
  # methods are owned by the constant, it means that the constant declares the method.
1446
1593
  #
1447
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#151
1594
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#158
1448
1595
  sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) }
1449
1596
  def method_owned_by_constant?(method, constant); end
1450
1597
 
@@ -1452,7 +1599,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1452
1599
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1453
1600
  def on_scope(event); end
1454
1601
 
1455
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#174
1602
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#181
1456
1603
  sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) }
1457
1604
  def struct_method?(constant, method_name); end
1458
1605
  end
@@ -1534,7 +1681,7 @@ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
1534
1681
 
1535
1682
  private
1536
1683
 
1537
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#28
1684
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#27
1538
1685
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1539
1686
  def ignore?(event); end
1540
1687
 
@@ -1545,13 +1692,16 @@ end
1545
1692
 
1546
1693
  # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7
1547
1694
  class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1695
+ include ::Tapioca::SorbetHelper
1696
+ include ::Tapioca::RBIHelper
1697
+
1548
1698
  private
1549
1699
 
1550
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#32
1700
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#33
1551
1701
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1552
1702
  def ignore?(event); end
1553
1703
 
1554
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#13
1704
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#14
1555
1705
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1556
1706
  def on_scope(event); end
1557
1707
  end
@@ -1582,7 +1732,7 @@ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Bas
1582
1732
  sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
1583
1733
  def compile_signature(signature, parameters); end
1584
1734
 
1585
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#78
1735
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#79
1586
1736
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1587
1737
  def ignore?(event); end
1588
1738
 
@@ -1609,10 +1759,14 @@ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::
1609
1759
  sig { params(tree: ::RBI::Tree, constant: ::Module).void }
1610
1760
  def compile_type_variable_declarations(tree, constant); end
1611
1761
 
1612
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1762
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#63
1613
1763
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1614
1764
  def ignore?(event); end
1615
1765
 
1766
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1767
+ sig { params(type_variable: ::Tapioca::TypeVariableModule).returns(T.nilable(::RBI::Node)) }
1768
+ def node_from_type_variable(type_variable); end
1769
+
1616
1770
  # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15
1617
1771
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1618
1772
  def on_scope(event); end
@@ -1739,11 +1893,6 @@ class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
1739
1893
  # source://tapioca//lib/tapioca/gem/events.rb#64
1740
1894
  sig { returns(::String) }
1741
1895
  def symbol; end
1742
-
1743
- class << self
1744
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1745
- def new(*args, **_arg1, &blk); end
1746
- end
1747
1896
  end
1748
1897
 
1749
1898
  # source://tapioca//lib/tapioca/gem/pipeline.rb#6
@@ -1761,7 +1910,7 @@ class Tapioca::Gem::Pipeline
1761
1910
  sig { returns(::RBI::Tree) }
1762
1911
  def compile; end
1763
1912
 
1764
- # source://tapioca//lib/tapioca/gem/pipeline.rb#110
1913
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#119
1765
1914
  sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1766
1915
  def constant_in_gem?(name); end
1767
1916
 
@@ -1769,31 +1918,33 @@ class Tapioca::Gem::Pipeline
1769
1918
  sig { returns(::Tapioca::Gemfile::GemSpec) }
1770
1919
  def gem; end
1771
1920
 
1772
- # source://tapioca//lib/tapioca/gem/pipeline.rb#122
1921
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#137
1773
1922
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
1774
1923
  def method_in_gem?(method); end
1775
1924
 
1776
- # source://tapioca//lib/tapioca/gem/pipeline.rb#130
1925
+ # Helpers
1926
+ #
1927
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#147
1777
1928
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
1778
1929
  def name_of(constant); end
1779
1930
 
1780
- # source://tapioca//lib/tapioca/gem/pipeline.rb#69
1931
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#71
1781
1932
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1782
1933
  def push_const(symbol, constant, node); end
1783
1934
 
1784
- # source://tapioca//lib/tapioca/gem/pipeline.rb#59
1935
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#61
1785
1936
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1786
1937
  def push_constant(symbol, constant); end
1787
1938
 
1788
- # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1939
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#66
1789
1940
  sig { params(symbol: ::String, constant: ::Module).void }
1790
1941
  def push_foreign_constant(symbol, constant); end
1791
1942
 
1792
- # source://tapioca//lib/tapioca/gem/pipeline.rb#83
1943
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#85
1793
1944
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1794
1945
  def push_foreign_scope(symbol, constant, node); end
1795
1946
 
1796
- # source://tapioca//lib/tapioca/gem/pipeline.rb#97
1947
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#99
1797
1948
  sig do
1798
1949
  params(
1799
1950
  symbol: ::String,
@@ -1806,103 +1957,148 @@ class Tapioca::Gem::Pipeline
1806
1957
  end
1807
1958
  def push_method(symbol, constant, method, node, signature, parameters); end
1808
1959
 
1809
- # source://tapioca//lib/tapioca/gem/pipeline.rb#76
1960
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#78
1810
1961
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1811
1962
  def push_scope(symbol, constant, node); end
1812
1963
 
1813
- # source://tapioca//lib/tapioca/gem/pipeline.rb#54
1964
+ # Events handling
1965
+ #
1966
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#56
1814
1967
  sig { params(symbol: ::String).void }
1815
1968
  def push_symbol(symbol); end
1816
1969
 
1817
- # source://tapioca//lib/tapioca/gem/pipeline.rb#102
1970
+ # Constants and properties filtering
1971
+ #
1972
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#106
1818
1973
  sig { params(symbol_name: ::String).returns(T::Boolean) }
1819
1974
  def symbol_in_payload?(symbol_name); end
1820
1975
 
1821
1976
  private
1822
1977
 
1823
- # source://tapioca//lib/tapioca/gem/pipeline.rb#376
1978
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#440
1824
1979
  sig { params(name: ::String).void }
1825
1980
  def add_to_alias_namespace(name); end
1826
1981
 
1827
- # source://tapioca//lib/tapioca/gem/pipeline.rb#381
1982
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#445
1828
1983
  sig { params(name: ::String).returns(T::Boolean) }
1829
1984
  def alias_namespaced?(name); end
1830
1985
 
1831
- # source://tapioca//lib/tapioca/gem/pipeline.rb#225
1986
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#244
1832
1987
  sig { params(name: ::String, constant: ::Module).void }
1833
1988
  def compile_alias(name, constant); end
1834
1989
 
1835
- # source://tapioca//lib/tapioca/gem/pipeline.rb#211
1990
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#230
1836
1991
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1837
1992
  def compile_constant(symbol, constant); end
1838
1993
 
1839
- # Compile
1994
+ # Compiling
1840
1995
  #
1841
- # source://tapioca//lib/tapioca/gem/pipeline.rb#206
1996
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#219
1842
1997
  sig { params(symbol: ::String, constant: ::Module).void }
1843
1998
  def compile_foreign_constant(symbol, constant); end
1844
1999
 
1845
- # source://tapioca//lib/tapioca/gem/pipeline.rb#283
1846
- sig { params(name: ::String, constant: ::Module, foreign_constant: T::Boolean).void }
1847
- def compile_module(name, constant, foreign_constant: T.unsafe(nil)); end
2000
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#298
2001
+ sig { params(name: ::String, constant: ::Module).void }
2002
+ def compile_module(name, constant); end
1848
2003
 
1849
- # source://tapioca//lib/tapioca/gem/pipeline.rb#247
2004
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#265
1850
2005
  sig { params(name: ::String, value: ::BasicObject).void }
1851
2006
  def compile_object(name, value); end
1852
2007
 
1853
- # source://tapioca//lib/tapioca/gem/pipeline.rb#308
1854
- sig { params(constant: ::Class).returns(T.nilable(::String)) }
2008
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#309
2009
+ sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
2010
+ def compile_scope(name, constant); end
2011
+
2012
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#323
2013
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
1855
2014
  def compile_superclass(constant); end
1856
2015
 
1857
- # source://tapioca//lib/tapioca/gem/pipeline.rb#357
2016
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#421
1858
2017
  sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
1859
2018
  def defined_in_gem?(constant, strict: T.unsafe(nil)); end
1860
2019
 
1861
- # source://tapioca//lib/tapioca/gem/pipeline.rb#158
2020
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#177
1862
2021
  sig { params(event: ::Tapioca::Gem::Event).void }
1863
2022
  def dispatch(event); end
1864
2023
 
1865
- # source://tapioca//lib/tapioca/gem/pipeline.rb#398
2024
+ # Helpers
2025
+ #
2026
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#464
1866
2027
  sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
1867
2028
  def generic_name_of(constant); end
1868
2029
 
1869
- # source://tapioca//lib/tapioca/gem/pipeline.rb#369
2030
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#433
1870
2031
  sig { params(constant: ::Module).returns(T::Set[::String]) }
1871
2032
  def get_file_candidates(constant); end
1872
2033
 
1873
- # source://tapioca//lib/tapioca/gem/pipeline.rb#145
2034
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#162
1874
2035
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
1875
2036
  def load_bootstrap_symbols(gem); end
1876
2037
 
1877
- # source://tapioca//lib/tapioca/gem/pipeline.rb#388
1878
- sig { params(name: ::String).void }
1879
- def mark_seen(name); end
1880
-
1881
- # source://tapioca//lib/tapioca/gem/pipeline.rb#414
2038
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#480
1882
2039
  sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
1883
2040
  def name_of_proxy_target(constant, class_name); end
1884
2041
 
1885
- # source://tapioca//lib/tapioca/gem/pipeline.rb#153
2042
+ # Events handling
2043
+ #
2044
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#172
1886
2045
  sig { returns(::Tapioca::Gem::Event) }
1887
2046
  def next_event; end
1888
2047
 
1889
- # source://tapioca//lib/tapioca/gem/pipeline.rb#181
2048
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#200
1890
2049
  sig { params(event: ::Tapioca::Gem::ConstantFound).void }
1891
2050
  def on_constant(event); end
1892
2051
 
1893
- # source://tapioca//lib/tapioca/gem/pipeline.rb#199
2052
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#212
1894
2053
  sig { params(event: ::Tapioca::Gem::NodeAdded).void }
1895
2054
  def on_node(event); end
1896
2055
 
1897
- # source://tapioca//lib/tapioca/gem/pipeline.rb#172
2056
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#191
1898
2057
  sig { params(event: ::Tapioca::Gem::SymbolFound).void }
1899
2058
  def on_symbol(event); end
1900
2059
 
1901
- # source://tapioca//lib/tapioca/gem/pipeline.rb#393
2060
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#452
2061
+ sig { params(name: ::String).void }
2062
+ def seen!(name); end
2063
+
2064
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#457
1902
2065
  sig { params(name: ::String).returns(T::Boolean) }
1903
2066
  def seen?(name); end
2067
+
2068
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#391
2069
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2070
+ def skip_alias?(name, constant); end
2071
+
2072
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#379
2073
+ sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
2074
+ def skip_constant?(name, constant); end
2075
+
2076
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#408
2077
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2078
+ def skip_foreign_constant?(name, constant); end
2079
+
2080
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#413
2081
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2082
+ def skip_module?(name, constant); end
2083
+
2084
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#400
2085
+ sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
2086
+ def skip_object?(name, constant); end
2087
+
2088
+ # Constants and properties filtering
2089
+ #
2090
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#374
2091
+ sig { params(name: ::String).returns(T::Boolean) }
2092
+ def skip_symbol?(name); end
1904
2093
  end
1905
2094
 
2095
+ # this looks something like:
2096
+ # "(eval at /path/to/file.rb:123)"
2097
+ # and we are just interested in the "/path/to/file.rb" part
2098
+ #
2099
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#116
2100
+ Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
2101
+
1906
2102
  # source://tapioca//lib/tapioca/gem/pipeline.rb#11
1907
2103
  Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
1908
2104
 
@@ -1953,189 +2149,170 @@ module Tapioca::GemHelper
1953
2149
  def path_in_dir?(path, dir); end
1954
2150
  end
1955
2151
 
1956
- # source://tapioca//lib/tapioca/gemfile.rb#5
2152
+ # source://tapioca//lib/tapioca/gemfile.rb#7
1957
2153
  class Tapioca::Gemfile
1958
- # source://tapioca//lib/tapioca/gemfile.rb#69
1959
- sig { params(exclude: T::Array[::String]).void }
1960
- def initialize(exclude); end
2154
+ # source://tapioca//lib/tapioca/gemfile.rb#27
2155
+ sig { params(excluded_gems: T::Array[::String]).void }
2156
+ def initialize(excluded_gems); end
1961
2157
 
1962
- # source://tapioca//lib/tapioca/gemfile.rb#60
2158
+ # source://tapioca//lib/tapioca/gemfile.rb#18
1963
2159
  sig { returns(::Bundler::Definition) }
1964
2160
  def definition; end
1965
2161
 
1966
- # source://tapioca//lib/tapioca/gemfile.rb#63
2162
+ # source://tapioca//lib/tapioca/gemfile.rb#21
1967
2163
  sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
1968
2164
  def dependencies; end
1969
2165
 
1970
- # source://tapioca//lib/tapioca/gemfile.rb#80
2166
+ # source://tapioca//lib/tapioca/gemfile.rb#40
1971
2167
  sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) }
1972
2168
  def gem(gem_name); end
1973
2169
 
1974
- # source://tapioca//lib/tapioca/gemfile.rb#66
2170
+ # source://tapioca//lib/tapioca/gemfile.rb#24
1975
2171
  sig { returns(T::Array[::String]) }
1976
2172
  def missing_specs; end
1977
2173
 
1978
- # source://tapioca//lib/tapioca/gemfile.rb#85
2174
+ # source://tapioca//lib/tapioca/gemfile.rb#45
1979
2175
  sig { void }
1980
2176
  def require_bundle; end
1981
2177
 
1982
2178
  private
1983
2179
 
1984
- # source://tapioca//lib/tapioca/gemfile.rb#130
2180
+ # source://tapioca//lib/tapioca/gemfile.rb#92
1985
2181
  sig { returns(::String) }
1986
2182
  def dir; end
1987
2183
 
1988
- # source://tapioca//lib/tapioca/gemfile.rb#92
2184
+ # source://tapioca//lib/tapioca/gemfile.rb#54
1989
2185
  sig { returns(::File) }
1990
2186
  def gemfile; end
1991
2187
 
1992
- # source://tapioca//lib/tapioca/gemfile.rb#125
2188
+ # source://tapioca//lib/tapioca/gemfile.rb#87
1993
2189
  sig { returns(T::Array[::Symbol]) }
1994
2190
  def groups; end
1995
2191
 
1996
- # source://tapioca//lib/tapioca/gemfile.rb#95
2192
+ # source://tapioca//lib/tapioca/gemfile.rb#57
1997
2193
  sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
1998
2194
  def load_dependencies; end
1999
2195
 
2000
2196
  # @return [File]
2001
2197
  #
2002
- # source://tapioca//lib/tapioca/gemfile.rb#92
2198
+ # source://tapioca//lib/tapioca/gemfile.rb#54
2003
2199
  def lockfile; end
2004
2200
 
2005
- # source://tapioca//lib/tapioca/gemfile.rb#106
2201
+ # source://tapioca//lib/tapioca/gemfile.rb#68
2006
2202
  sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) }
2007
2203
  def materialize_deps; end
2008
2204
 
2009
- # source://tapioca//lib/tapioca/gemfile.rb#120
2205
+ # source://tapioca//lib/tapioca/gemfile.rb#82
2010
2206
  sig { returns(::Bundler::Runtime) }
2011
2207
  def runtime; end
2012
2208
  end
2013
2209
 
2014
- # This is a module that gets prepended to `Bundler::Dependency` and
2015
- # makes sure even gems marked as `require: false` are required during
2016
- # `Bundler.require`.
2017
- #
2018
- # source://tapioca//lib/tapioca/gemfile.rb#18
2019
- module Tapioca::Gemfile::AutoRequireHook
2020
- requires_ancestor { Bundler::Dependency }
2021
-
2022
- # source://tapioca//lib/tapioca/gemfile.rb#39
2023
- sig { returns(T.untyped) }
2024
- def autorequire; end
2025
-
2026
- class << self
2027
- # source://tapioca//lib/tapioca/gemfile.rb#30
2028
- sig { params(exclude: T::Array[::String]).returns(T::Array[::String]) }
2029
- def exclude=(exclude); end
2030
-
2031
- # source://tapioca//lib/tapioca/gemfile.rb#33
2032
- sig { params(name: T.untyped).returns(T::Boolean) }
2033
- def excluded?(name); end
2034
- end
2035
- end
2036
-
2037
- # source://tapioca//lib/tapioca/gemfile.rb#134
2210
+ # source://tapioca//lib/tapioca/gemfile.rb#96
2038
2211
  class Tapioca::Gemfile::GemSpec
2039
2212
  include ::Tapioca::GemHelper
2040
2213
 
2041
- # source://tapioca//lib/tapioca/gemfile.rb#173
2214
+ # source://tapioca//lib/tapioca/gemfile.rb#136
2042
2215
  sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
2043
2216
  def initialize(spec); end
2044
2217
 
2045
- # source://tapioca//lib/tapioca/gemfile.rb#183
2218
+ # source://tapioca//lib/tapioca/gemfile.rb#146
2046
2219
  sig { params(other: ::BasicObject).returns(T::Boolean) }
2047
2220
  def ==(other); end
2048
2221
 
2049
- # source://tapioca//lib/tapioca/gemfile.rb#203
2222
+ # source://tapioca//lib/tapioca/gemfile.rb#171
2050
2223
  sig { params(path: ::String).returns(T::Boolean) }
2051
2224
  def contains_path?(path); end
2052
2225
 
2053
- # source://tapioca//lib/tapioca/gemfile.rb#222
2226
+ # source://tapioca//lib/tapioca/gemfile.rb#161
2227
+ sig { returns(T::Array[::Gem::Dependency]) }
2228
+ def dependencies; end
2229
+
2230
+ # source://tapioca//lib/tapioca/gemfile.rb#190
2054
2231
  sig { returns(T::Boolean) }
2055
2232
  def export_rbi_files?; end
2056
2233
 
2057
- # source://tapioca//lib/tapioca/gemfile.rb#217
2234
+ # source://tapioca//lib/tapioca/gemfile.rb#185
2058
2235
  sig { returns(T::Array[::String]) }
2059
2236
  def exported_rbi_files; end
2060
2237
 
2061
- # source://tapioca//lib/tapioca/gemfile.rb#227
2238
+ # source://tapioca//lib/tapioca/gemfile.rb#195
2062
2239
  sig { returns(::RBI::MergeTree) }
2063
2240
  def exported_rbi_tree; end
2064
2241
 
2065
- # source://tapioca//lib/tapioca/gemfile.rb#170
2242
+ # source://tapioca//lib/tapioca/gemfile.rb#133
2066
2243
  sig { returns(T::Array[::Pathname]) }
2067
2244
  def files; end
2068
2245
 
2069
- # source://tapioca//lib/tapioca/gemfile.rb#167
2246
+ # source://tapioca//lib/tapioca/gemfile.rb#130
2070
2247
  sig { returns(::String) }
2071
2248
  def full_gem_path; end
2072
2249
 
2073
- # source://tapioca//lib/tapioca/gemfile.rb#188
2250
+ # source://tapioca//lib/tapioca/gemfile.rb#151
2074
2251
  sig { params(gemfile_dir: ::String).returns(T::Boolean) }
2075
2252
  def ignore?(gemfile_dir); end
2076
2253
 
2077
- # source://tapioca//lib/tapioca/gemfile.rb#193
2254
+ # source://tapioca//lib/tapioca/gemfile.rb#156
2078
2255
  sig { returns(::String) }
2079
2256
  def name; end
2080
2257
 
2081
- # source://tapioca//lib/tapioca/gemfile.rb#212
2258
+ # source://tapioca//lib/tapioca/gemfile.rb#180
2082
2259
  sig { void }
2083
2260
  def parse_yard_docs; end
2084
2261
 
2085
- # source://tapioca//lib/tapioca/gemfile.rb#198
2262
+ # source://tapioca//lib/tapioca/gemfile.rb#166
2086
2263
  sig { returns(::String) }
2087
2264
  def rbi_file_name; end
2088
2265
 
2089
- # source://tapioca//lib/tapioca/gemfile.rb#239
2266
+ # source://tapioca//lib/tapioca/gemfile.rb#207
2090
2267
  sig { params(file: ::Pathname).returns(::Pathname) }
2091
2268
  def relative_path_for(file); end
2092
2269
 
2093
2270
  # @return [String]
2094
2271
  #
2095
- # source://tapioca//lib/tapioca/gemfile.rb#167
2272
+ # source://tapioca//lib/tapioca/gemfile.rb#130
2096
2273
  def version; end
2097
2274
 
2098
2275
  private
2099
2276
 
2100
- # source://tapioca//lib/tapioca/gemfile.rb#250
2277
+ # source://tapioca//lib/tapioca/gemfile.rb#218
2101
2278
  sig { returns(T::Array[::Pathname]) }
2102
2279
  def collect_files; end
2103
2280
 
2104
- # source://tapioca//lib/tapioca/gemfile.rb#265
2281
+ # source://tapioca//lib/tapioca/gemfile.rb#233
2105
2282
  sig { returns(T.nilable(T::Boolean)) }
2106
2283
  def default_gem?; end
2107
2284
 
2108
- # source://tapioca//lib/tapioca/gemfile.rb#323
2285
+ # source://tapioca//lib/tapioca/gemfile.rb#292
2109
2286
  sig { returns(T::Boolean) }
2110
2287
  def gem_ignored?; end
2111
2288
 
2112
- # source://tapioca//lib/tapioca/gemfile.rb#302
2289
+ # source://tapioca//lib/tapioca/gemfile.rb#271
2113
2290
  sig { params(path: ::String).returns(T::Boolean) }
2114
2291
  def has_parent_gemspec?(path); end
2115
2292
 
2116
- # source://tapioca//lib/tapioca/gemfile.rb#270
2293
+ # source://tapioca//lib/tapioca/gemfile.rb#238
2117
2294
  sig { returns(::Regexp) }
2118
2295
  def require_paths_prefix_matcher; end
2119
2296
 
2120
- # source://tapioca//lib/tapioca/gemfile.rb#281
2297
+ # source://tapioca//lib/tapioca/gemfile.rb#250
2121
2298
  sig { params(file: ::String).returns(::Pathname) }
2122
2299
  def resolve_to_ruby_lib_dir(file); end
2123
2300
 
2124
- # source://tapioca//lib/tapioca/gemfile.rb#295
2301
+ # source://tapioca//lib/tapioca/gemfile.rb#264
2125
2302
  sig { returns(::String) }
2126
2303
  def version_string; end
2127
2304
 
2128
2305
  class << self
2129
- # source://tapioca//lib/tapioca/gemfile.rb#142
2306
+ # source://tapioca//lib/tapioca/gemfile.rb#104
2130
2307
  sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) }
2131
2308
  def spec_lookup_by_file_path; end
2132
2309
  end
2133
2310
  end
2134
2311
 
2135
- # source://tapioca//lib/tapioca/gemfile.rb#154
2312
+ # source://tapioca//lib/tapioca/gemfile.rb#116
2136
2313
  Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2137
2314
 
2138
- # source://tapioca//lib/tapioca/gemfile.rb#8
2315
+ # source://tapioca//lib/tapioca/gemfile.rb#10
2139
2316
  Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2140
2317
 
2141
2318
  # source://tapioca//lib/tapioca/loaders/loader.rb#5
@@ -2143,73 +2320,89 @@ module Tapioca::Loaders; end
2143
2320
 
2144
2321
  # source://tapioca//lib/tapioca/loaders/dsl.rb#6
2145
2322
  class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2146
- # source://tapioca//lib/tapioca/loaders/dsl.rb#29
2147
- sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
2148
- def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2323
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#38
2324
+ sig do
2325
+ params(
2326
+ tapioca_path: ::String,
2327
+ eager_load: T::Boolean,
2328
+ app_root: ::String,
2329
+ halt_upon_load_error: T::Boolean
2330
+ ).void
2331
+ end
2332
+ def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2149
2333
 
2150
- # source://tapioca//lib/tapioca/loaders/dsl.rb#20
2334
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#27
2151
2335
  sig { override.void }
2152
2336
  def load; end
2153
2337
 
2154
2338
  protected
2155
2339
 
2156
- # source://tapioca//lib/tapioca/loaders/dsl.rb#61
2340
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#81
2157
2341
  sig { void }
2158
2342
  def load_application; end
2159
2343
 
2160
- # source://tapioca//lib/tapioca/loaders/dsl.rb#43
2344
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#63
2161
2345
  sig { void }
2162
2346
  def load_dsl_compilers; end
2163
2347
 
2164
- # source://tapioca//lib/tapioca/loaders/dsl.rb#38
2348
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#48
2165
2349
  sig { void }
2166
2350
  def load_dsl_extensions; end
2167
2351
 
2168
2352
  class << self
2169
- # source://tapioca//lib/tapioca/loaders/dsl.rb#13
2170
- sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
2171
- def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2353
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#15
2354
+ sig do
2355
+ params(
2356
+ tapioca_path: ::String,
2357
+ eager_load: T::Boolean,
2358
+ app_root: ::String,
2359
+ halt_upon_load_error: T::Boolean
2360
+ ).void
2361
+ end
2362
+ def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2172
2363
  end
2173
2364
  end
2174
2365
 
2175
2366
  # source://tapioca//lib/tapioca/loaders/gem.rb#6
2176
2367
  class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2177
- # source://tapioca//lib/tapioca/loaders/gem.rb#46
2368
+ # source://tapioca//lib/tapioca/loaders/gem.rb#49
2178
2369
  sig do
2179
2370
  params(
2180
2371
  bundle: ::Tapioca::Gemfile,
2181
2372
  prerequire: T.nilable(::String),
2182
2373
  postrequire: ::String,
2183
- default_command: ::String
2374
+ default_command: ::String,
2375
+ halt_upon_load_error: T::Boolean
2184
2376
  ).void
2185
2377
  end
2186
- def initialize(bundle:, prerequire:, postrequire:, default_command:); end
2378
+ def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2187
2379
 
2188
- # source://tapioca//lib/tapioca/loaders/gem.rb#32
2380
+ # source://tapioca//lib/tapioca/loaders/gem.rb#34
2189
2381
  sig { override.void }
2190
2382
  def load; end
2191
2383
 
2192
2384
  protected
2193
2385
 
2194
- # source://tapioca//lib/tapioca/loaders/gem.rb#76
2386
+ # source://tapioca//lib/tapioca/loaders/gem.rb#80
2195
2387
  sig { params(file: ::String, error: ::LoadError).void }
2196
2388
  def explain_failed_require(file, error); end
2197
2389
 
2198
- # source://tapioca//lib/tapioca/loaders/gem.rb#56
2390
+ # source://tapioca//lib/tapioca/loaders/gem.rb#60
2199
2391
  sig { void }
2200
2392
  def require_gem_file; end
2201
2393
 
2202
2394
  class << self
2203
- # source://tapioca//lib/tapioca/loaders/gem.rb#20
2395
+ # source://tapioca//lib/tapioca/loaders/gem.rb#21
2204
2396
  sig do
2205
2397
  params(
2206
2398
  bundle: ::Tapioca::Gemfile,
2207
2399
  prerequire: T.nilable(::String),
2208
2400
  postrequire: ::String,
2209
- default_command: ::String
2401
+ default_command: ::String,
2402
+ halt_upon_load_error: T::Boolean
2210
2403
  ).void
2211
2404
  end
2212
- def load_application(bundle:, prerequire:, postrequire:, default_command:); end
2405
+ def load_application(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2213
2406
  end
2214
2407
  end
2215
2408
 
@@ -2235,68 +2428,82 @@ class Tapioca::Loaders::Loader
2235
2428
 
2236
2429
  private
2237
2430
 
2238
- # source://tapioca//lib/tapioca/loaders/loader.rb#182
2431
+ # Rails 7.2 renamed `eager_load_paths` to `all_eager_load_paths`, which maintains the same original functionality.
2432
+ # The `eager_load_paths` method still exists, but doesn't return all paths anymore and causes Tapioca to miss some
2433
+ # engine paths. The following commit is the change:
2434
+ # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
2435
+ #
2436
+ # @param engine [T.class_of(Rails::Engine)]
2437
+ # @return [Array<String>]
2438
+ #
2439
+ # source://sorbet-runtime/0.5.11262/lib/types/private/methods/_methods.rb#257
2440
+ def eager_load_paths(*args, **_arg1, &blk); end
2441
+
2442
+ # source://tapioca//lib/tapioca/loaders/loader.rb#198
2239
2443
  sig { void }
2240
2444
  def eager_load_rails_app; end
2241
2445
 
2242
2446
  # @return [Array<T.class_of(Rails::Engine)>]
2243
2447
  #
2244
- # source://tapioca//lib/tapioca/loaders/loader.rb#153
2448
+ # source://tapioca//lib/tapioca/loaders/loader.rb#169
2245
2449
  def engines; end
2246
2450
 
2247
- # source://tapioca//lib/tapioca/loaders/loader.rb#24
2451
+ # source://tapioca//lib/tapioca/loaders/loader.rb#29
2248
2452
  sig do
2249
2453
  params(
2250
2454
  gemfile: ::Tapioca::Gemfile,
2251
2455
  initialize_file: T.nilable(::String),
2252
- require_file: T.nilable(::String)
2456
+ require_file: T.nilable(::String),
2457
+ halt_upon_load_error: T::Boolean
2253
2458
  ).void
2254
2459
  end
2255
- def load_bundle(gemfile, initialize_file, require_file); end
2460
+ def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2256
2461
 
2257
- # source://tapioca//lib/tapioca/loaders/loader.rb#111
2462
+ # source://tapioca//lib/tapioca/loaders/loader.rb#127
2258
2463
  sig { void }
2259
2464
  def load_engines_in_classic_mode; end
2260
2465
 
2261
- # source://tapioca//lib/tapioca/loaders/loader.rb#89
2466
+ # source://tapioca//lib/tapioca/loaders/loader.rb#105
2262
2467
  sig { void }
2263
2468
  def load_engines_in_zeitwerk_mode; end
2264
2469
 
2265
- # source://tapioca//lib/tapioca/loaders/loader.rb#37
2266
- sig { params(environment_load: T::Boolean, eager_load: T::Boolean, app_root: ::String).void }
2267
- def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2470
+ # source://tapioca//lib/tapioca/loaders/loader.rb#49
2471
+ sig do
2472
+ params(
2473
+ environment_load: T::Boolean,
2474
+ eager_load: T::Boolean,
2475
+ app_root: ::String,
2476
+ halt_upon_load_error: T::Boolean
2477
+ ).void
2478
+ end
2479
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2268
2480
 
2269
- # source://tapioca//lib/tapioca/loaders/loader.rb#64
2481
+ # source://tapioca//lib/tapioca/loaders/loader.rb#80
2270
2482
  sig { void }
2271
2483
  def load_rails_engines; end
2272
2484
 
2273
- # source://tapioca//lib/tapioca/loaders/loader.rb#203
2485
+ # source://tapioca//lib/tapioca/loaders/loader.rb#219
2274
2486
  sig { params(file: T.nilable(::String)).void }
2275
2487
  def require_helper(file); end
2276
2488
 
2277
- # source://tapioca//lib/tapioca/loaders/loader.rb#78
2489
+ # source://tapioca//lib/tapioca/loaders/loader.rb#94
2278
2490
  def run_initializers; end
2279
2491
 
2280
- # source://tapioca//lib/tapioca/loaders/loader.rb#167
2492
+ # source://tapioca//lib/tapioca/loaders/loader.rb#183
2281
2493
  sig { params(path: ::String).void }
2282
2494
  def safe_require(path); end
2283
2495
 
2284
- # source://tapioca//lib/tapioca/loaders/loader.rb#174
2496
+ # source://tapioca//lib/tapioca/loaders/loader.rb#190
2285
2497
  sig { void }
2286
2498
  def silence_deprecations; end
2287
2499
 
2288
- # source://tapioca//lib/tapioca/loaders/loader.rb#136
2500
+ # source://tapioca//lib/tapioca/loaders/loader.rb#152
2289
2501
  sig { params(blk: T.proc.void).void }
2290
2502
  def with_rails_application(&blk); end
2291
2503
 
2292
- # source://tapioca//lib/tapioca/loaders/loader.rb#129
2504
+ # source://tapioca//lib/tapioca/loaders/loader.rb#145
2293
2505
  sig { returns(T::Boolean) }
2294
2506
  def zeitwerk_mode?; end
2295
-
2296
- class << self
2297
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
2298
- def new(*args, **_arg1, &blk); end
2299
- end
2300
2507
  end
2301
2508
 
2302
2509
  # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5
@@ -2334,7 +2541,7 @@ module Tapioca::RBIFilesHelper
2334
2541
  dsl_dir: ::String,
2335
2542
  auto_strictness: T::Boolean,
2336
2543
  gems: T::Array[::Tapioca::Gemfile::GemSpec],
2337
- compilers: T::Enumerable[::Class]
2544
+ compilers: T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]
2338
2545
  ).void
2339
2546
  end
2340
2547
  def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end
@@ -2643,7 +2850,7 @@ module Tapioca::Runtime::GenericTypeRegistry
2643
2850
  def create_generic_type(constant, name); end
2644
2851
 
2645
2852
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155
2646
- sig { params(constant: ::Class).returns(::Class) }
2853
+ sig { params(constant: T::Class[T.anything]).returns(T::Class[T.anything]) }
2647
2854
  def create_safe_subclass(constant); end
2648
2855
 
2649
2856
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182
@@ -2668,6 +2875,10 @@ module Tapioca::Runtime::Reflection
2668
2875
  extend ::Tapioca::Runtime::AttachedClassOf
2669
2876
  extend ::Tapioca::Runtime::Reflection
2670
2877
 
2878
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#196
2879
+ sig { params(constant: ::Module).returns(T.untyped) }
2880
+ def abstract_type_of(constant); end
2881
+
2671
2882
  # source://tapioca//lib/tapioca/runtime/reflection.rb#77
2672
2883
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
2673
2884
  def ancestors_of(constant); end
@@ -2677,7 +2888,7 @@ module Tapioca::Runtime::Reflection
2677
2888
  def are_equal?(object, other); end
2678
2889
 
2679
2890
  # source://tapioca//lib/tapioca/runtime/reflection.rb#56
2680
- sig { params(object: ::BasicObject).returns(::Class) }
2891
+ sig { params(object: ::BasicObject).returns(T::Class[T.anything]) }
2681
2892
  def class_of(object); end
2682
2893
 
2683
2894
  # @param constant [BasicObject]
@@ -2712,7 +2923,7 @@ module Tapioca::Runtime::Reflection
2712
2923
  sig do
2713
2924
  type_parameters(:U)
2714
2925
  .params(
2715
- klass: T.all(::Class, T.type_parameter(:U))
2926
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
2716
2927
  ).returns(T::Array[T.type_parameter(:U)])
2717
2928
  end
2718
2929
  def descendants_of(klass); end
@@ -2721,6 +2932,10 @@ module Tapioca::Runtime::Reflection
2721
2932
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2722
2933
  def file_candidates_for(constant); end
2723
2934
 
2935
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#202
2936
+ sig { params(constant: ::Module).returns(T::Boolean) }
2937
+ def final_module?(constant); end
2938
+
2724
2939
  # source://tapioca//lib/tapioca/runtime/reflection.rb#112
2725
2940
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
2726
2941
  def inherited_ancestors_of(constant); end
@@ -2765,33 +2980,41 @@ module Tapioca::Runtime::Reflection
2765
2980
  sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
2766
2981
  def resolve_loc(locations); end
2767
2982
 
2983
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#207
2984
+ sig { params(constant: ::Module).returns(T::Boolean) }
2985
+ def sealed_module?(constant); end
2986
+
2768
2987
  # source://tapioca//lib/tapioca/runtime/reflection.rb#133
2769
2988
  sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
2770
2989
  def signature_of(method); end
2771
2990
 
2772
2991
  # source://tapioca//lib/tapioca/runtime/reflection.rb#72
2773
- sig { params(constant: ::Module).returns(::Class) }
2992
+ sig { params(constant: ::Module).returns(T::Class[T.anything]) }
2774
2993
  def singleton_class_of(constant); end
2775
2994
 
2776
2995
  # source://tapioca//lib/tapioca/runtime/reflection.rb#82
2777
- sig { params(constant: ::Class).returns(T.nilable(::Class)) }
2996
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(T::Class[T.anything])) }
2778
2997
  def superclass_of(constant); end
2779
2998
 
2780
2999
  private
2781
3000
 
2782
- # source://tapioca//lib/tapioca/runtime/reflection.rb#228
3001
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#244
2783
3002
  sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
2784
3003
  def child_module_for_parent_with_name(parent, name); end
2785
3004
 
2786
- # source://tapioca//lib/tapioca/runtime/reflection.rb#239
3005
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#260
3006
+ sig { params(name: ::String).returns(T::Boolean) }
3007
+ def has_aliased_namespace?(name); end
3008
+
3009
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#255
2787
3010
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
2788
3011
  def method_defined_by_forwardable_module?(method); end
2789
3012
 
2790
- # source://tapioca//lib/tapioca/runtime/reflection.rb#214
3013
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#230
2791
3014
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
2792
3015
  def methods_for(constant); end
2793
3016
 
2794
- # source://tapioca//lib/tapioca/runtime/reflection.rb#198
3017
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#214
2795
3018
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
2796
3019
  def relevant_methods_for(constant); end
2797
3020
  end
@@ -3031,15 +3254,15 @@ Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3031
3254
 
3032
3255
  # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
3033
3256
  module Tapioca::SorbetHelper
3034
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#33
3257
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#32
3035
3258
  sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
3036
3259
  def sorbet(*sorbet_args); end
3037
3260
 
3038
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#38
3261
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#37
3039
3262
  sig { returns(::String) }
3040
3263
  def sorbet_path; end
3041
3264
 
3042
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#45
3265
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#44
3043
3266
  sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
3044
3267
  def sorbet_supports?(feature, version: T.unsafe(nil)); end
3045
3268
  end
@@ -3105,7 +3328,7 @@ module Tapioca::Static::SymbolLoader
3105
3328
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3106
3329
  def engine_symbols(gem); end
3107
3330
 
3108
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#40
3331
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#48
3109
3332
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3110
3333
  def gem_symbols(gem); end
3111
3334
 
@@ -3113,7 +3336,7 @@ module Tapioca::Static::SymbolLoader
3113
3336
  sig { returns(T::Set[::String]) }
3114
3337
  def payload_symbols; end
3115
3338
 
3116
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#45
3339
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#53
3117
3340
  sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
3118
3341
  def symbols_from_paths(paths); end
3119
3342
 
@@ -3121,10 +3344,10 @@ module Tapioca::Static::SymbolLoader
3121
3344
 
3122
3345
  # @return [Array<T.class_of(Rails::Engine)>]
3123
3346
  #
3124
- # source://sorbet-runtime/0.5.10832/lib/types/private/methods/_methods.rb#255
3347
+ # source://sorbet-runtime/0.5.11262/lib/types/private/methods/_methods.rb#257
3125
3348
  def engines(*args, **_arg1, &blk); end
3126
3349
 
3127
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#73
3350
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
3128
3351
  sig { params(input: ::String, table_type: ::String).returns(::String) }
3129
3352
  def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
3130
3353
  end
@@ -3164,16 +3387,16 @@ Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3164
3387
  # source://tapioca//lib/tapioca.rb#34
3165
3388
  Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3166
3389
 
3167
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3390
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
3168
3391
  class Tapioca::TypeVariable < ::T::Types::TypeVariable
3169
3392
  # @return [TypeVariable] a new instance of TypeVariable
3170
3393
  #
3171
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#123
3394
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#109
3172
3395
  def initialize(name, variance); end
3173
3396
 
3174
3397
  # Returns the value of attribute name.
3175
3398
  #
3176
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#128
3399
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#114
3177
3400
  def name; end
3178
3401
  end
3179
3402
 
@@ -3183,94 +3406,75 @@ end
3183
3406
  # need to do any matching of constants to type variables to bind their names, Ruby will
3184
3407
  # do that automatically for us and we get the `name` method for free from `Module`.
3185
3408
  #
3186
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3409
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3187
3410
  class Tapioca::TypeVariableModule < ::Module
3188
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#158
3411
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#146
3189
3412
  sig do
3190
3413
  params(
3191
3414
  context: ::Module,
3192
3415
  type: ::Tapioca::TypeVariableModule::Type,
3193
3416
  variance: ::Symbol,
3194
- fixed: T.untyped,
3195
- lower: T.untyped,
3196
- upper: T.untyped,
3197
3417
  bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3198
3418
  ).void
3199
3419
  end
3200
- def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end
3420
+ def initialize(context, type, variance, bounds_proc); end
3201
3421
 
3202
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#212
3422
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#181
3203
3423
  sig { returns(::Tapioca::TypeVariable) }
3204
3424
  def coerce_to_type_variable; end
3205
3425
 
3206
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#192
3426
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#161
3207
3427
  sig { returns(T::Boolean) }
3208
3428
  def fixed?; end
3209
3429
 
3210
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#173
3430
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155
3211
3431
  sig { returns(T.nilable(::String)) }
3212
3432
  def name; end
3213
3433
 
3214
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#197
3434
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#166
3215
3435
  sig { returns(::String) }
3216
3436
  def serialize; end
3217
3437
 
3438
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3439
+ sig { returns(::Tapioca::TypeVariableModule::Type) }
3440
+ def type; end
3441
+
3218
3442
  private
3219
3443
 
3220
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#246
3444
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#188
3221
3445
  sig { returns(T::Hash[::Symbol, T.untyped]) }
3222
3446
  def bounds; end
3223
-
3224
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#222
3225
- sig do
3226
- params(
3227
- fixed: T.untyped,
3228
- lower: T.untyped,
3229
- upper: T.untyped
3230
- ).returns(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3231
- end
3232
- def build_bounds_proc(fixed, lower, upper); end
3233
-
3234
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#236
3235
- sig do
3236
- type_parameters(:Result)
3237
- .params(
3238
- block: T.proc.returns(T.type_parameter(:Result))
3239
- ).returns(T.type_parameter(:Result))
3240
- end
3241
- def with_bound_name_pre_3_0(&block); end
3242
3447
  end
3243
3448
 
3244
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#139
3449
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#133
3450
+ Tapioca::TypeVariableModule::DEFAULT_BOUNDS_PROC = T.let(T.unsafe(nil), Proc)
3451
+
3452
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#125
3245
3453
  class Tapioca::TypeVariableModule::Type < ::T::Enum
3246
3454
  enums do
3247
3455
  Member = new
3248
3456
  Template = new
3457
+ HasAttachedClass = new
3249
3458
  end
3250
3459
  end
3251
3460
 
3252
3461
  # source://tapioca//lib/tapioca/version.rb#5
3253
3462
  Tapioca::VERSION = T.let(T.unsafe(nil), String)
3254
3463
 
3255
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#6
3256
- module URI
3257
- include ::URI::RFC2396_REGEXP
3258
- end
3259
-
3260
3464
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3261
3465
  class URI::Source < ::URI::File
3262
3466
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3263
3467
  sig { params(v: T.nilable(::String)).returns(T::Boolean) }
3264
3468
  def check_host(v); end
3265
3469
 
3266
- # source://uri/0.12.1/uri/generic.rb#243
3470
+ # source://uri/0.13.0/uri/generic.rb#243
3267
3471
  def gem_name; end
3268
3472
 
3269
3473
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#25
3270
3474
  sig { returns(T.nilable(::String)) }
3271
3475
  def gem_version; end
3272
3476
 
3273
- # source://uri/0.12.1/uri/generic.rb#283
3477
+ # source://uri/0.13.0/uri/generic.rb#283
3274
3478
  def line_number; end
3275
3479
 
3276
3480
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#51
@@ -3297,5 +3501,3 @@ end
3297
3501
 
3298
3502
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#10
3299
3503
  URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)
3300
-
3301
- class URI::WSS < ::URI::WS; end