lunchmoney 1.4.1 → 1.5.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_and_publish_yard_docs.yml +2 -2
  3. data/.github/workflows/ci.yml +9 -10
  4. data/.github/workflows/rbi-updater.yml +1 -1
  5. data/.github/workflows/release_pipeline.yml +1 -1
  6. data/.rubocop.yml +1 -1
  7. data/.ruby-version +1 -1
  8. data/.toys/.toys.rb +8 -0
  9. data/Gemfile +1 -1
  10. data/Gemfile.lock +76 -60
  11. data/README.md +0 -2
  12. data/SECURITY.md +151 -0
  13. data/bin/check_vcr_version +94 -0
  14. data/lib/lunchmoney/api.rb +25 -38
  15. data/lib/lunchmoney/calls/assets.rb +10 -13
  16. data/lib/lunchmoney/calls/base.rb +59 -7
  17. data/lib/lunchmoney/calls/budgets.rb +22 -25
  18. data/lib/lunchmoney/calls/categories.rb +28 -36
  19. data/lib/lunchmoney/calls/crypto.rb +7 -9
  20. data/lib/lunchmoney/calls/plaid_accounts.rb +7 -9
  21. data/lib/lunchmoney/calls/recurring_expenses.rb +4 -5
  22. data/lib/lunchmoney/calls/tags.rb +3 -4
  23. data/lib/lunchmoney/calls/transactions.rb +28 -36
  24. data/lib/lunchmoney/calls/users.rb +3 -4
  25. data/lib/lunchmoney/configuration.rb +20 -0
  26. data/lib/lunchmoney/objects/object.rb +4 -9
  27. data/lib/lunchmoney/validators.rb +8 -6
  28. data/lib/lunchmoney/version.rb +1 -1
  29. data/lib/lunchmoney.rb +3 -3
  30. data/lunchmoney.gemspec +1 -1
  31. data/sorbet/rbi/annotations/activesupport.rbi +35 -0
  32. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -2
  33. data/sorbet/rbi/gems/{activesupport@7.2.2.1.rbi → activesupport@8.0.2.1.rbi} +1369 -989
  34. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +4 -3
  35. data/sorbet/rbi/gems/{base64@0.2.0.rbi → base64@0.3.0.rbi} +76 -39
  36. data/sorbet/rbi/gems/{benchmark@0.4.0.rbi → benchmark@0.4.1.rbi} +50 -49
  37. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +275 -0
  38. data/sorbet/rbi/gems/{dotenv@3.1.7.rbi → dotenv@3.1.8.rbi} +9 -9
  39. data/sorbet/rbi/gems/{drb@2.2.1.rbi → drb@2.2.3.rbi} +503 -188
  40. data/sorbet/rbi/gems/{faraday-net_http@3.4.0.rbi → faraday-net_http@3.4.1.rbi} +23 -23
  41. data/sorbet/rbi/gems/{faraday@2.12.2.rbi → faraday@2.13.4.rbi} +468 -141
  42. data/sorbet/rbi/gems/{hashdiff@1.1.2.rbi → hashdiff@1.2.0.rbi} +5 -3
  43. data/sorbet/rbi/gems/{json@2.10.2.rbi → json@2.13.2.rbi} +386 -175
  44. data/sorbet/rbi/gems/{kramdown@2.4.0.rbi → kramdown@2.5.1.rbi} +316 -234
  45. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  46. data/sorbet/rbi/gems/{logger@1.6.6.rbi → logger@1.7.0.rbi} +63 -40
  47. data/sorbet/rbi/gems/{parser@3.3.7.1.rbi → parser@3.3.9.0.rbi} +303 -291
  48. data/sorbet/rbi/gems/{rack@3.1.9.rbi → rack@3.2.1.rbi} +712 -547
  49. data/sorbet/rbi/gems/{rake@13.2.1.rbi → rake@13.3.0.rbi} +238 -227
  50. data/sorbet/rbi/gems/{rbi@0.3.1.rbi → rbi@0.3.6.rbi} +1084 -2521
  51. data/sorbet/rbi/gems/{rbs@3.9.0.rbi → rbs@4.0.0.dev.4.rbi} +1336 -419
  52. data/sorbet/rbi/gems/{regexp_parser@2.10.0.rbi → regexp_parser@2.11.2.rbi} +1044 -956
  53. data/sorbet/rbi/gems/require-hooks@0.2.2.rbi +110 -0
  54. data/sorbet/rbi/gems/{rexml@3.4.1.rbi → rexml@3.4.2.rbi} +302 -292
  55. data/sorbet/rbi/gems/{rubocop-ast@1.38.0.rbi → rubocop-ast@1.46.0.rbi} +802 -1016
  56. data/sorbet/rbi/gems/{rubocop-minitest@0.36.0.rbi → rubocop-minitest@0.38.2.rbi} +129 -93
  57. data/sorbet/rbi/gems/{rubocop-rails@2.29.1.rbi → rubocop-rails@2.33.3.rbi} +575 -230
  58. data/sorbet/rbi/gems/{rubocop-shopify@2.15.1.rbi → rubocop-shopify@2.17.1.rbi} +1 -0
  59. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.7.rbi → rubocop-sorbet@0.10.5.rbi} +761 -83
  60. data/sorbet/rbi/gems/{rubocop@1.71.2.rbi → rubocop@1.80.1.rbi} +6543 -3097
  61. data/sorbet/rbi/gems/{spoom@1.6.1.rbi → spoom@1.7.6.rbi} +1179 -2621
  62. data/sorbet/rbi/gems/{tapioca@0.16.11.rbi → tapioca@0.17.7.rbi} +623 -745
  63. data/sorbet/rbi/gems/{thor@1.3.2.rbi → thor@1.4.0.rbi} +88 -67
  64. data/sorbet/rbi/gems/{unicode-display_width@3.1.4.rbi → unicode-display_width@3.1.5.rbi} +5 -5
  65. data/sorbet/rbi/gems/{vcr@6.3.1.rbi → vcr@6.3.1-ce35c236fe48899f02ddf780973b44cdb756c0ee.rbi} +140 -123
  66. metadata +42 -38
  67. data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +0 -78
  68. /data/sorbet/rbi/gems/{connection_pool@2.5.0.rbi → connection_pool@2.5.3.rbi} +0 -0
  69. /data/sorbet/rbi/gems/{language_server-protocol@3.17.0.4.rbi → language_server-protocol@3.17.0.5.rbi} +0 -0
  70. /data/sorbet/rbi/gems/{parallel@1.26.3.rbi → parallel@1.27.0.rbi} +0 -0
@@ -35,18 +35,21 @@ end
35
35
  # That's because RubyGems does alias-method-chain for Kernel#require and such,
36
36
  # so, if Bootsnap were to do prepend, it might end up breaking RubyGems.
37
37
  #
38
- # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#68
38
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#66
39
39
  class Module
40
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#101
40
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#98
41
41
  def append_features(constant); end
42
42
 
43
- # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#71
43
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#69
44
44
  def autoload(const_name, path); end
45
45
 
46
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#111
46
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#108
47
47
  def extend_object(obj); end
48
48
 
49
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#91
49
+ # source://tapioca//lib/tapioca/runtime/trackers/method_definition.rb#60
50
+ def method_added(method_name); end
51
+
52
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#88
50
53
  def prepend_features(constant); end
51
54
  end
52
55
 
@@ -55,19 +58,7 @@ module RBI; end
55
58
 
56
59
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
57
60
  class RBI::Tree < ::RBI::NodeWithComments
58
- # source://rbi/0.3.1/lib/rbi/model.rb#117
59
- def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
60
-
61
- # source://rbi/0.3.1/lib/rbi/model.rb#124
62
- def <<(node); end
63
-
64
- # source://rbi/0.3.1/lib/rbi/rewriters/add_sig_templates.rb#63
65
- def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
66
-
67
- # source://rbi/0.3.1/lib/rbi/rewriters/annotate.rb#46
68
- def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
69
-
70
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#38
61
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#32
71
62
  sig do
72
63
  params(
73
64
  name: ::String,
@@ -77,19 +68,19 @@ class RBI::Tree < ::RBI::NodeWithComments
77
68
  end
78
69
  def create_class(name, superclass_name: T.unsafe(nil), &block); end
79
70
 
80
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#45
71
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#39
81
72
  sig { params(name: ::String, value: ::String).void }
82
73
  def create_constant(name, value:); end
83
74
 
84
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#55
75
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#49
85
76
  sig { params(name: ::String).void }
86
77
  def create_extend(name); end
87
78
 
88
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#50
79
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#44
89
80
  sig { params(name: ::String).void }
90
81
  def create_include(name); end
91
82
 
92
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#90
83
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#65
93
84
  sig do
94
85
  params(
95
86
  name: ::String,
@@ -103,7 +94,7 @@ class RBI::Tree < ::RBI::NodeWithComments
103
94
  end
104
95
  def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
105
96
 
106
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#60
97
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#54
107
98
  sig { params(name: ::String).void }
108
99
  def create_mixes_in_class_methods(name); end
109
100
 
@@ -115,7 +106,7 @@ class RBI::Tree < ::RBI::NodeWithComments
115
106
  sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
116
107
  def create_path(constant, &block); end
117
108
 
118
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#74
109
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#59
119
110
  sig do
120
111
  params(
121
112
  name: ::String,
@@ -128,71 +119,21 @@ class RBI::Tree < ::RBI::NodeWithComments
128
119
  end
129
120
  def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
130
121
 
131
- # source://rbi/0.3.1/lib/rbi/rewriters/deannotate.rb#38
132
- def deannotate!(annotation); end
133
-
134
- # source://rbi/0.3.1/lib/rbi/model.rb#130
135
- def empty?; end
136
-
137
- # source://rbi/0.3.1/lib/rbi/rewriters/filter_versions.rb#113
138
- def filter_versions!(version); end
139
-
140
- # source://rbi/0.3.1/lib/rbi/rewriters/flatten_singleton_methods.rb#57
141
- def flatten_singleton_methods!; end
142
-
143
- # source://rbi/0.3.1/lib/rbi/rewriters/flatten_visibilities.rb#57
144
- def flatten_visibilities!; end
145
-
146
- # source://rbi/0.3.1/lib/rbi/rewriters/group_nodes.rb#78
147
- def group_nodes!; end
148
-
149
- # source://rbi/0.3.1/lib/rbi/index.rb#64
150
- def index; end
151
-
152
- # source://rbi/0.3.1/lib/rbi/rewriters/merge_trees.rb#314
153
- def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
154
-
155
- # source://rbi/0.3.1/lib/rbi/rewriters/nest_non_public_members.rb#43
156
- def nest_non_public_members!; end
157
-
158
- # source://rbi/0.3.1/lib/rbi/rewriters/nest_singleton_methods.rb#33
159
- def nest_singleton_methods!; end
160
-
161
- # source://rbi/0.3.1/lib/rbi/rewriters/nest_top_level_members.rb#60
162
- def nest_top_level_members!; end
163
-
164
- # source://rbi/0.3.1/lib/rbi/model.rb#114
165
- def nodes; end
166
-
167
- # source://rbi/0.3.1/lib/rbi/rewriters/attr_to_methods.rb#50
168
- def replace_attributes_with_methods!; end
169
-
170
- # source://rbi/0.3.1/lib/rbi/rewriters/sort_nodes.rb#116
171
- def sort_nodes!; end
172
-
173
- # source://rbi/0.3.1/lib/rbi/rewriters/translate_rbs_sigs.rb#82
174
- def translate_rbs_sigs!; end
175
-
176
122
  private
177
123
 
178
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#123
124
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#98
179
125
  sig { params(node: ::RBI::Node).returns(::RBI::Node) }
180
126
  def create_node(node); end
181
127
 
182
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#118
128
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#93
183
129
  sig { returns(T::Hash[::String, ::RBI::Node]) }
184
130
  def nodes_cache; end
185
131
  end
186
132
 
187
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#133
133
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#108
188
134
  class RBI::TypedParam < ::T::Struct
189
135
  const :param, ::RBI::Param
190
136
  const :type, ::String
191
-
192
- class << self
193
- # source://sorbet-runtime/0.5.11953/lib/types/struct.rb#13
194
- def inherited(s); end
195
- end
196
137
  end
197
138
 
198
139
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
@@ -387,18 +328,12 @@ end
387
328
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4
388
329
  module Tapioca
389
330
  class << self
390
- # source://tapioca//lib/tapioca.rb#20
391
- sig do
392
- type_parameters(:Result)
393
- .params(
394
- blk: T.proc.returns(T.type_parameter(:Result))
395
- ).returns(T.type_parameter(:Result))
396
- end
331
+ # source://tapioca//lib/tapioca.rb#16
397
332
  def silence_warnings(&blk); end
398
333
  end
399
334
  end
400
335
 
401
- # source://tapioca//lib/tapioca.rb#39
336
+ # source://tapioca//lib/tapioca.rb#35
402
337
  Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
403
338
 
404
339
  # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
@@ -412,7 +347,7 @@ module Tapioca::BundlerExt; end
412
347
  module Tapioca::BundlerExt::AutoRequireHook
413
348
  requires_ancestor { Bundler::Dependency }
414
349
 
415
- # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#46
350
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#41
416
351
  sig { returns(T.untyped) }
417
352
  def autorequire; end
418
353
 
@@ -426,7 +361,7 @@ module Tapioca::BundlerExt::AutoRequireHook
426
361
  sig { params(name: T.untyped).returns(T::Boolean) }
427
362
  def excluded?(name); end
428
363
 
429
- # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#36
364
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#31
430
365
  sig do
431
366
  type_parameters(:Result)
432
367
  .params(
@@ -438,13 +373,13 @@ module Tapioca::BundlerExt::AutoRequireHook
438
373
  end
439
374
  end
440
375
 
441
- # source://tapioca//lib/tapioca.rb#62
376
+ # source://tapioca//lib/tapioca.rb#55
442
377
  Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
443
378
 
444
- # source://tapioca//lib/tapioca.rb#61
379
+ # source://tapioca//lib/tapioca.rb#54
445
380
  Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
446
381
 
447
- # source://tapioca//lib/tapioca.rb#60
382
+ # source://tapioca//lib/tapioca.rb#53
448
383
  Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
449
384
 
450
385
  # source://tapioca//lib/tapioca/cli.rb#5
@@ -524,7 +459,7 @@ end
524
459
  # source://tapioca//lib/tapioca/commands.rb#5
525
460
  module Tapioca::Commands; end
526
461
 
527
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
462
+ # @abstract
528
463
  #
529
464
  # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#6
530
465
  class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
@@ -533,7 +468,7 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
533
468
 
534
469
  abstract!
535
470
 
536
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#34
471
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#15
537
472
  sig do
538
473
  params(
539
474
  requested_constants: T::Array[::String],
@@ -560,15 +495,15 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
560
495
 
561
496
  private
562
497
 
563
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#107
498
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#88
564
499
  sig { returns(T::Array[::String]) }
565
500
  def all_requested_constants; end
566
501
 
567
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#313
502
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#284
568
503
  sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
569
504
  def build_error_for_files(cause, files); end
570
505
 
571
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#237
506
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#208
572
507
  sig do
573
508
  params(
574
509
  constant_name: ::String,
@@ -579,80 +514,80 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
579
514
  end
580
515
  def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
581
516
 
582
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#172
517
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#150
583
518
  sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
584
519
  def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
585
520
 
586
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#197
521
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#175
587
522
  sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
588
523
  def constantize_compilers(compiler_names); end
589
524
 
590
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#373
525
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
591
526
  sig { returns(T::Array[::String]) }
592
527
  def constants_from_requested_paths; end
593
528
 
594
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#133
529
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#111
595
530
  sig { returns(::Tapioca::Dsl::Pipeline) }
596
531
  def create_pipeline; end
597
532
 
598
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#276
533
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#247
599
534
  sig { params(constant_name: ::String).returns(::Pathname) }
600
535
  def dsl_rbi_filename(constant_name); end
601
536
 
602
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#158
537
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#136
603
538
  sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
604
539
  def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
605
540
 
606
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#368
541
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#339
607
542
  sig { params(constant: ::String).returns(::String) }
608
543
  def generate_command_for(constant); end
609
544
 
610
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#79
545
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#60
611
546
  sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
612
547
  def generate_dsl_rbi_files(outpath, quiet:); end
613
548
 
614
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#120
549
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#98
615
550
  sig { void }
616
551
  def load_application; end
617
552
 
618
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#255
553
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#226
619
554
  sig { params(dir: ::Pathname).void }
620
555
  def perform_dsl_verification(dir); end
621
556
 
622
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#115
557
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#93
623
558
  sig { returns(::Tapioca::Dsl::Pipeline) }
624
559
  def pipeline; end
625
560
 
626
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#264
561
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
627
562
  sig { params(files: T::Set[::Pathname]).void }
628
563
  def purge_stale_dsl_rbi_files(files); end
629
564
 
630
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#363
565
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#334
631
566
  sig { params(constant: ::String).returns(::String) }
632
567
  def rbi_filename_for(constant); end
633
568
 
634
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
569
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#315
635
570
  sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
636
571
  def rbi_files_in(path); end
637
572
 
638
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#322
573
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
639
574
  sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
640
575
  def report_diff_and_exit_if_out_of_date(diff, command); end
641
576
 
642
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#217
577
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#195
643
578
  sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
644
579
  def resolve(name); end
645
580
 
646
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#351
581
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#322
647
582
  sig { params(class_name: ::String).returns(::String) }
648
583
  def underscore(class_name); end
649
584
 
650
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#281
585
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#252
651
586
  sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
652
587
  def verify_dsl_rbi(tmp_dir:); end
653
588
  end
654
589
 
655
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
590
+ # @abstract
656
591
  #
657
592
  # source://tapioca//lib/tapioca/commands/abstract_gem.rb#6
658
593
  class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
@@ -661,7 +596,7 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
661
596
 
662
597
  abstract!
663
598
 
664
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#33
599
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#15
665
600
  sig do
666
601
  params(
667
602
  gem_names: T::Array[::String],
@@ -687,70 +622,70 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
687
622
 
688
623
  private
689
624
 
690
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#200
625
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#182
691
626
  sig { returns(T::Array[::String]) }
692
627
  def added_rbis; end
693
628
 
694
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#261
629
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#243
695
630
  sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
696
631
  def build_error_for_files(cause, files); end
697
632
 
698
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#80
633
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#62
699
634
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
700
635
  def compile_gem_rbi(gem); end
701
636
 
702
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#195
637
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#177
703
638
  sig { params(gem_name: ::String).returns(::Pathname) }
704
639
  def existing_rbi(gem_name); end
705
640
 
706
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#243
641
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#225
707
642
  sig { returns(T::Hash[::String, ::String]) }
708
643
  def existing_rbis; end
709
644
 
710
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#207
645
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#189
711
646
  sig { params(gem_name: ::String).returns(::Pathname) }
712
647
  def expected_rbi(gem_name); end
713
648
 
714
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#249
649
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#231
715
650
  sig { returns(T::Hash[::String, ::String]) }
716
651
  def expected_rbis; end
717
652
 
718
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#212
653
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#194
719
654
  sig { params(gem_name: ::String).returns(T::Boolean) }
720
655
  def gem_rbi_exists?(gem_name); end
721
656
 
722
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#256
657
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#238
723
658
  sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
724
659
  def gem_rbi_filename(gem_name, version); end
725
660
 
726
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#266
661
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#248
727
662
  sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
728
663
  def merge_with_exported_rbi(gem, file); end
729
664
 
730
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#237
665
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#219
731
666
  sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
732
667
  def move(old_filename, new_filename); end
733
668
 
734
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#147
669
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#129
735
670
  sig { void }
736
671
  def perform_additions; end
737
672
 
738
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#120
673
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#102
739
674
  sig { void }
740
675
  def perform_removals; end
741
676
 
742
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#190
677
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#172
743
678
  sig { returns(T::Array[::String]) }
744
679
  def removed_rbis; end
745
680
 
746
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#217
681
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#199
747
682
  sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
748
683
  def report_diff_and_exit_if_out_of_date(diff, command); end
749
684
  end
750
685
 
751
686
  # source://tapioca//lib/tapioca/commands/annotations.rb#6
752
687
  class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
753
- # source://tapioca//lib/tapioca/commands/annotations.rb#18
688
+ # source://tapioca//lib/tapioca/commands/annotations.rb#10
754
689
  sig do
755
690
  params(
756
691
  central_repo_root_uris: T::Array[::String],
@@ -764,71 +699,71 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
764
699
 
765
700
  private
766
701
 
767
- # source://tapioca//lib/tapioca/commands/annotations.rb#197
702
+ # source://tapioca//lib/tapioca/commands/annotations.rb#191
768
703
  sig { params(name: ::String, content: ::String).returns(::String) }
769
704
  def add_header(name, content); end
770
705
 
771
- # source://tapioca//lib/tapioca/commands/annotations.rb#217
706
+ # source://tapioca//lib/tapioca/commands/annotations.rb#211
772
707
  sig { params(name: ::String, content: ::String).returns(::String) }
773
708
  def apply_typed_override(name, content); end
774
709
 
775
- # source://tapioca//lib/tapioca/commands/annotations.rb#39
710
+ # source://tapioca//lib/tapioca/commands/annotations.rb#32
776
711
  sig { override.void }
777
712
  def execute; end
778
713
 
779
- # source://tapioca//lib/tapioca/commands/annotations.rb#136
780
- sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).void }
714
+ # source://tapioca//lib/tapioca/commands/annotations.rb#129
715
+ sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).returns(T::Boolean) }
781
716
  def fetch_annotation(repo_uris, gem_info); end
782
717
 
783
- # source://tapioca//lib/tapioca/commands/annotations.rb#113
718
+ # source://tapioca//lib/tapioca/commands/annotations.rb#106
784
719
  sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) }
785
720
  def fetch_annotations(project_gems); end
786
721
 
787
- # source://tapioca//lib/tapioca/commands/annotations.rb#156
722
+ # source://tapioca//lib/tapioca/commands/annotations.rb#150
788
723
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
789
724
  def fetch_file(repo_uri, path); end
790
725
 
791
- # source://tapioca//lib/tapioca/commands/annotations.rb#173
726
+ # source://tapioca//lib/tapioca/commands/annotations.rb#167
792
727
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
793
728
  def fetch_http_file(repo_uri, path); end
794
729
 
795
- # source://tapioca//lib/tapioca/commands/annotations.rb#102
796
- sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
730
+ # source://tapioca//lib/tapioca/commands/annotations.rb#95
731
+ sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(::Tapioca::RepoIndex)) }
797
732
  def fetch_index(repo_uri, repo_number:); end
798
733
 
799
- # source://tapioca//lib/tapioca/commands/annotations.rb#81
800
- sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
734
+ # source://tapioca//lib/tapioca/commands/annotations.rb#74
735
+ sig { returns(T::Hash[::String, ::Tapioca::RepoIndex]) }
801
736
  def fetch_indexes; end
802
737
 
803
- # source://tapioca//lib/tapioca/commands/annotations.rb#165
738
+ # source://tapioca//lib/tapioca/commands/annotations.rb#159
804
739
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
805
740
  def fetch_local_file(repo_uri, path); end
806
741
 
807
- # source://tapioca//lib/tapioca/commands/annotations.rb#229
742
+ # source://tapioca//lib/tapioca/commands/annotations.rb#223
808
743
  sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) }
809
744
  def filter_versions(gem_version, content); end
810
745
 
811
- # source://tapioca//lib/tapioca/commands/annotations.rb#50
746
+ # source://tapioca//lib/tapioca/commands/annotations.rb#43
812
747
  sig { returns(T::Array[::Tapioca::GemInfo]) }
813
748
  def list_gemfile_gems; end
814
749
 
815
- # source://tapioca//lib/tapioca/commands/annotations.rb#237
750
+ # source://tapioca//lib/tapioca/commands/annotations.rb#231
816
751
  sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
817
752
  def merge_files(gem_name, contents); end
818
753
 
819
- # source://tapioca//lib/tapioca/commands/annotations.rb#60
754
+ # source://tapioca//lib/tapioca/commands/annotations.rb#53
820
755
  sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void }
821
756
  def remove_expired_annotations(project_gems); end
822
757
 
823
- # source://tapioca//lib/tapioca/commands/annotations.rb#264
758
+ # source://tapioca//lib/tapioca/commands/annotations.rb#258
824
759
  sig { returns(T::Hash[::String, T.nilable(::String)]) }
825
760
  def repo_tokens; end
826
761
 
827
- # source://tapioca//lib/tapioca/commands/annotations.rb#292
762
+ # source://tapioca//lib/tapioca/commands/annotations.rb#286
828
763
  sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
829
764
  def say_http_error(path, repo_uri, message:); end
830
765
 
831
- # source://tapioca//lib/tapioca/commands/annotations.rb#276
766
+ # source://tapioca//lib/tapioca/commands/annotations.rb#270
832
767
  sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
833
768
  def token_for(repo_uri); end
834
769
  end
@@ -838,7 +773,7 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
838
773
  include ::Tapioca::SorbetHelper
839
774
  include ::Tapioca::RBIFilesHelper
840
775
 
841
- # source://tapioca//lib/tapioca/commands/check_shims.rb#22
776
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#12
842
777
  sig do
843
778
  params(
844
779
  gem_rbi_dir: ::String,
@@ -854,12 +789,12 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
854
789
 
855
790
  private
856
791
 
857
- # source://tapioca//lib/tapioca/commands/check_shims.rb#44
792
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#35
858
793
  sig { override.void }
859
794
  def execute; end
860
795
  end
861
796
 
862
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
797
+ # @abstract
863
798
  #
864
799
  # source://tapioca//lib/tapioca/commands/command.rb#6
865
800
  class Tapioca::Commands::Command
@@ -876,17 +811,17 @@ class Tapioca::Commands::Command
876
811
  sig { void }
877
812
  def initialize; end
878
813
 
879
- # source://thor/1.3.2/lib/thor/base.rb#155
814
+ # source://tapioca//lib/tapioca/commands/command.rb#44
880
815
  sig { returns(::Thor::Actions) }
881
816
  def file_writer; end
882
817
 
883
- # source://tapioca//lib/tapioca/commands/command.rb#25
818
+ # source://tapioca//lib/tapioca/commands/command.rb#26
884
819
  sig(:final) { void }
885
820
  def run; end
886
821
 
887
822
  private
888
823
 
889
- # source://tapioca//lib/tapioca/commands/command.rb#53
824
+ # source://tapioca//lib/tapioca/commands/command.rb#47
890
825
  sig do
891
826
  params(
892
827
  path: T.any(::Pathname, ::String),
@@ -898,28 +833,29 @@ class Tapioca::Commands::Command
898
833
  end
899
834
  def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
900
835
 
901
- # source://tapioca//lib/tapioca/commands/command.rb#37
836
+ # source://tapioca//lib/tapioca/commands/command.rb#39
902
837
  sig { params(command: ::Symbol, args: ::String).returns(::String) }
903
838
  def default_command(command, *args); end
904
839
 
905
840
  # @abstract
841
+ # @raise [NotImplementedError]
906
842
  #
907
- # source://tapioca//lib/tapioca/commands/command.rb#34
843
+ # source://tapioca//lib/tapioca/commands/command.rb#36
908
844
  sig { abstract.void }
909
845
  def execute; end
910
846
 
911
- # source://tapioca//lib/tapioca/commands/command.rb#63
847
+ # source://tapioca//lib/tapioca/commands/command.rb#52
912
848
  sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
913
849
  def remove_file(path, verbose: T.unsafe(nil)); end
914
850
  end
915
851
 
916
- # source://tapioca//lib/tapioca/commands/command.rb#10
852
+ # source://tapioca//lib/tapioca/commands/command.rb#12
917
853
  class Tapioca::Commands::Command::FileWriter < ::Thor
918
854
  include ::Thor::Actions
919
855
  extend ::Thor::Actions::ClassMethods
920
856
  end
921
857
 
922
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
858
+ # @abstract
923
859
  #
924
860
  # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6
925
861
  class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
@@ -932,37 +868,37 @@ end
932
868
 
933
869
  # source://tapioca//lib/tapioca/commands/configure.rb#6
934
870
  class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
935
- # source://tapioca//lib/tapioca/commands/configure.rb#14
871
+ # source://tapioca//lib/tapioca/commands/configure.rb#8
936
872
  sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
937
873
  def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
938
874
 
939
875
  private
940
876
 
941
- # source://tapioca//lib/tapioca/commands/configure.rb#79
877
+ # source://tapioca//lib/tapioca/commands/configure.rb#74
942
878
  sig { void }
943
879
  def create_binstub; end
944
880
 
945
- # source://tapioca//lib/tapioca/commands/configure.rb#69
881
+ # source://tapioca//lib/tapioca/commands/configure.rb#64
946
882
  sig { void }
947
883
  def create_post_require; end
948
884
 
949
- # source://tapioca//lib/tapioca/commands/configure.rb#40
885
+ # source://tapioca//lib/tapioca/commands/configure.rb#35
950
886
  sig { void }
951
887
  def create_sorbet_config; end
952
888
 
953
- # source://tapioca//lib/tapioca/commands/configure.rb#50
889
+ # source://tapioca//lib/tapioca/commands/configure.rb#45
954
890
  sig { void }
955
891
  def create_tapioca_config; end
956
892
 
957
- # source://tapioca//lib/tapioca/commands/configure.rb#32
893
+ # source://tapioca//lib/tapioca/commands/configure.rb#27
958
894
  sig { override.void }
959
895
  def execute; end
960
896
 
961
- # source://tapioca//lib/tapioca/commands/configure.rb#92
897
+ # source://tapioca//lib/tapioca/commands/configure.rb#87
962
898
  sig { returns(::Bundler::Installer) }
963
899
  def installer; end
964
900
 
965
- # source://tapioca//lib/tapioca/commands/configure.rb#97
901
+ # source://tapioca//lib/tapioca/commands/configure.rb#92
966
902
  sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
967
903
  def spec; end
968
904
  end
@@ -971,7 +907,7 @@ end
971
907
  class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
972
908
  private
973
909
 
974
- # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#10
910
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#11
975
911
  sig { override.void }
976
912
  def execute; end
977
913
  end
@@ -980,7 +916,7 @@ end
980
916
  class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
981
917
  private
982
918
 
983
- # source://tapioca//lib/tapioca/commands/dsl_generate.rb#10
919
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#11
984
920
  sig { override.void }
985
921
  def execute; end
986
922
  end
@@ -989,7 +925,7 @@ end
989
925
  class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
990
926
  private
991
927
 
992
- # source://tapioca//lib/tapioca/commands/dsl_verify.rb#10
928
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#11
993
929
  sig { override.void }
994
930
  def execute; end
995
931
  end
@@ -998,11 +934,11 @@ end
998
934
  class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
999
935
  private
1000
936
 
1001
- # source://tapioca//lib/tapioca/commands/gem_generate.rb#10
937
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#11
1002
938
  sig { override.void }
1003
939
  def execute; end
1004
940
 
1005
- # source://tapioca//lib/tapioca/commands/gem_generate.rb#74
941
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#70
1006
942
  sig do
1007
943
  params(
1008
944
  gem: ::Tapioca::Gemfile::GemSpec,
@@ -1011,7 +947,7 @@ class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
1011
947
  end
1012
948
  def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
1013
949
 
1014
- # source://tapioca//lib/tapioca/commands/gem_generate.rb#51
950
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#52
1015
951
  sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
1016
952
  def gems_to_generate(gem_names); end
1017
953
  end
@@ -1020,7 +956,7 @@ end
1020
956
  class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
1021
957
  private
1022
958
 
1023
- # source://tapioca//lib/tapioca/commands/gem_sync.rb#10
959
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#11
1024
960
  sig { override.void }
1025
961
  def execute; end
1026
962
  end
@@ -1029,24 +965,24 @@ end
1029
965
  class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
1030
966
  private
1031
967
 
1032
- # source://tapioca//lib/tapioca/commands/gem_verify.rb#10
968
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#11
1033
969
  sig { override.void }
1034
970
  def execute; end
1035
971
 
1036
- # source://tapioca//lib/tapioca/commands/gem_verify.rb#17
972
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#18
1037
973
  sig { void }
1038
974
  def perform_sync_verification; end
1039
975
  end
1040
976
 
1041
977
  # source://tapioca//lib/tapioca/commands/require.rb#6
1042
978
  class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
1043
- # source://tapioca//lib/tapioca/commands/require.rb#13
979
+ # source://tapioca//lib/tapioca/commands/require.rb#8
1044
980
  sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
1045
981
  def initialize(requires_path:, sorbet_config_path:); end
1046
982
 
1047
983
  private
1048
984
 
1049
- # source://tapioca//lib/tapioca/commands/require.rb#23
985
+ # source://tapioca//lib/tapioca/commands/require.rb#19
1050
986
  sig { override.void }
1051
987
  def execute; end
1052
988
  end
@@ -1055,25 +991,25 @@ end
1055
991
  class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
1056
992
  include ::Tapioca::SorbetHelper
1057
993
 
1058
- # source://tapioca//lib/tapioca/commands/todo.rb#26
994
+ # source://tapioca//lib/tapioca/commands/todo.rb#21
1059
995
  sig { params(todo_file: ::String, file_header: T::Boolean).void }
1060
996
  def initialize(todo_file:, file_header:); end
1061
997
 
1062
- # source://tapioca//lib/tapioca/commands/todo.rb#34
998
+ # source://tapioca//lib/tapioca/commands/todo.rb#29
1063
999
  sig { void }
1064
1000
  def run_with_deprecation; end
1065
1001
 
1066
1002
  private
1067
1003
 
1068
- # source://tapioca//lib/tapioca/commands/todo.rb#44
1004
+ # source://tapioca//lib/tapioca/commands/todo.rb#40
1069
1005
  sig { override.void }
1070
1006
  def execute; end
1071
1007
 
1072
- # source://tapioca//lib/tapioca/commands/todo.rb#68
1008
+ # source://tapioca//lib/tapioca/commands/todo.rb#64
1073
1009
  sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
1074
1010
  def rbi(constants, command:); end
1075
1011
 
1076
- # source://tapioca//lib/tapioca/commands/todo.rb#88
1012
+ # source://tapioca//lib/tapioca/commands/todo.rb#84
1077
1013
  sig { returns(T::Array[::String]) }
1078
1014
  def unresolved_constants; end
1079
1015
  end
@@ -1103,11 +1039,11 @@ module Tapioca::ConfigHelper
1103
1039
 
1104
1040
  private
1105
1041
 
1106
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#153
1042
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#147
1107
1043
  sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
1108
1044
  def build_error(msg); end
1109
1045
 
1110
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#178
1046
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#172
1111
1047
  sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
1112
1048
  def build_error_message(config_file, errors); end
1113
1049
 
@@ -1123,7 +1059,7 @@ module Tapioca::ConfigHelper
1123
1059
  sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
1124
1060
  def filter_defaults(options); end
1125
1061
 
1126
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#196
1062
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#187
1127
1063
  sig do
1128
1064
  params(
1129
1065
  options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
@@ -1135,7 +1071,7 @@ module Tapioca::ConfigHelper
1135
1071
  sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void }
1136
1072
  def validate_config!(config_file, config); end
1137
1073
 
1138
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#102
1074
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#96
1139
1075
  sig do
1140
1076
  params(
1141
1077
  command_options: T::Hash[::Symbol, ::Thor::Option],
@@ -1146,64 +1082,54 @@ module Tapioca::ConfigHelper
1146
1082
  def validate_config_options(command_options, config_key, config_options); end
1147
1083
  end
1148
1084
 
1149
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#148
1085
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#142
1150
1086
  class Tapioca::ConfigHelper::ConfigError < ::T::Struct
1151
1087
  const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
1152
-
1153
- class << self
1154
- # source://sorbet-runtime/0.5.11953/lib/types/struct.rb#13
1155
- def inherited(s); end
1156
- end
1157
1088
  end
1158
1089
 
1159
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#143
1090
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#137
1160
1091
  class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
1161
1092
  const :message, ::String
1162
1093
  const :colors, T::Array[::Symbol]
1163
-
1164
- class << self
1165
- # source://sorbet-runtime/0.5.11953/lib/types/struct.rb#13
1166
- def inherited(s); end
1167
- end
1168
1094
  end
1169
1095
 
1170
- # source://tapioca//lib/tapioca.rb#46
1096
+ # source://tapioca//lib/tapioca.rb#42
1171
1097
  Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
1172
1098
 
1173
- # source://tapioca//lib/tapioca.rb#42
1099
+ # source://tapioca//lib/tapioca.rb#38
1174
1100
  Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
1175
1101
 
1176
- # source://tapioca//lib/tapioca.rb#58
1102
+ # source://tapioca//lib/tapioca.rb#51
1177
1103
  Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1178
1104
 
1179
- # source://tapioca//lib/tapioca.rb#43
1105
+ # source://tapioca//lib/tapioca.rb#39
1180
1106
  Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1181
1107
 
1182
- # source://tapioca//lib/tapioca.rb#48
1108
+ # source://tapioca//lib/tapioca.rb#44
1183
1109
  Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1184
1110
 
1185
- # source://tapioca//lib/tapioca.rb#40
1111
+ # source://tapioca//lib/tapioca.rb#36
1186
1112
  Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1187
1113
 
1188
- # source://tapioca//lib/tapioca.rb#41
1114
+ # source://tapioca//lib/tapioca.rb#37
1189
1115
  Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1190
1116
 
1191
- # source://tapioca//lib/tapioca/rbi_formatter.rb#31
1117
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#25
1192
1118
  Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1193
1119
 
1194
- # source://tapioca//lib/tapioca.rb#57
1120
+ # source://tapioca//lib/tapioca.rb#50
1195
1121
  Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1196
1122
 
1197
- # source://tapioca//lib/tapioca.rb#44
1123
+ # source://tapioca//lib/tapioca.rb#40
1198
1124
  Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1199
1125
 
1200
- # source://tapioca//lib/tapioca.rb#45
1126
+ # source://tapioca//lib/tapioca.rb#41
1201
1127
  Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1202
1128
 
1203
1129
  # source://tapioca//lib/tapioca/dsl/compilers.rb#5
1204
1130
  module Tapioca::Dsl; end
1205
1131
 
1206
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1132
+ # @abstract
1207
1133
  #
1208
1134
  # source://tapioca//lib/tapioca/dsl/compiler.rb#6
1209
1135
  class Tapioca::Dsl::Compiler
@@ -1219,7 +1145,7 @@ class Tapioca::Dsl::Compiler
1219
1145
 
1220
1146
  ConstantType = type_member { { upper: Module } }
1221
1147
 
1222
- # source://tapioca//lib/tapioca/dsl/compiler.rb#110
1148
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#93
1223
1149
  sig do
1224
1150
  params(
1225
1151
  pipeline: ::Tapioca::Dsl::Pipeline,
@@ -1232,64 +1158,66 @@ class Tapioca::Dsl::Compiler
1232
1158
 
1233
1159
  # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1234
1160
  #
1235
- # source://tapioca//lib/tapioca/dsl/compiler.rb#128
1161
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#112
1236
1162
  sig { params(error: ::String).void }
1237
1163
  def add_error(error); end
1238
1164
 
1239
- # source://tapioca//lib/tapioca/dsl/compiler.rb#119
1165
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#102
1240
1166
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1241
1167
  def compiler_enabled?(compiler_name); end
1242
1168
 
1243
- # source://tapioca//lib/tapioca/dsl/compiler.rb#20
1169
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#22
1244
1170
  sig { returns(ConstantType) }
1245
1171
  def constant; end
1246
1172
 
1247
1173
  # @abstract
1174
+ # @raise [NotImplementedError]
1248
1175
  #
1249
- # source://tapioca//lib/tapioca/dsl/compiler.rb#124
1176
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#108
1250
1177
  sig { abstract.void }
1251
1178
  def decorate; end
1252
1179
 
1253
- # source://tapioca//lib/tapioca/dsl/compiler.rb#26
1180
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#28
1254
1181
  sig { returns(T::Hash[::String, T.untyped]) }
1255
1182
  def options; end
1256
1183
 
1257
- # source://tapioca//lib/tapioca/dsl/compiler.rb#23
1184
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#25
1258
1185
  sig { returns(::RBI::Tree) }
1259
1186
  def root; end
1260
1187
 
1261
1188
  private
1262
1189
 
1263
- # source://tapioca//lib/tapioca/dsl/compiler.rb#177
1190
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#156
1264
1191
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1265
1192
  def compile_method_parameters_to_rbi(method_def); end
1266
1193
 
1267
- # source://tapioca//lib/tapioca/dsl/compiler.rb#213
1194
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#192
1268
1195
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1269
1196
  def compile_method_return_type_to_rbi(method_def); end
1270
1197
 
1271
- # source://tapioca//lib/tapioca/dsl/compiler.rb#167
1198
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#146
1272
1199
  sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1273
1200
  def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1274
1201
 
1275
1202
  # Get the types of each parameter from a method signature
1276
1203
  #
1277
- # source://tapioca//lib/tapioca/dsl/compiler.rb#141
1204
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#120
1278
1205
  sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1279
1206
  def parameters_types_from_signature(method_def, signature); end
1280
1207
 
1281
1208
  class << self
1282
1209
  # @abstract
1210
+ # @raise [NotImplementedError]
1283
1211
  #
1284
- # source://tapioca//lib/tapioca/dsl/compiler.rb#39
1212
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#42
1285
1213
  sig { abstract.returns(T::Enumerable[::Module]) }
1286
1214
  def gather_constants; end
1287
1215
 
1288
- # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1216
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#36
1289
1217
  sig { params(constant: ::Module).returns(T::Boolean) }
1290
1218
  def handles?(constant); end
1291
1219
 
1292
- # source://tapioca//lib/tapioca/dsl/compiler.rb#42
1220
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#45
1293
1221
  sig { returns(T::Set[::Module]) }
1294
1222
  def processable_constants; end
1295
1223
 
@@ -1303,15 +1231,15 @@ class Tapioca::Dsl::Compiler
1303
1231
 
1304
1232
  private
1305
1233
 
1306
- # source://tapioca//lib/tapioca/dsl/compiler.rb#82
1234
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#78
1307
1235
  sig { returns(T::Enumerable[T::Class[T.anything]]) }
1308
1236
  def all_classes; end
1309
1237
 
1310
- # source://tapioca//lib/tapioca/dsl/compiler.rb#90
1238
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#83
1311
1239
  sig { returns(T::Enumerable[::Module]) }
1312
1240
  def all_modules; end
1313
1241
 
1314
- # source://tapioca//lib/tapioca/dsl/compiler.rb#68
1242
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#64
1315
1243
  sig do
1316
1244
  type_parameters(:U)
1317
1245
  .params(
@@ -1337,7 +1265,7 @@ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1337
1265
 
1338
1266
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#6
1339
1267
  class Tapioca::Dsl::Pipeline
1340
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#40
1268
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#28
1341
1269
  sig do
1342
1270
  params(
1343
1271
  requested_constants: T::Array[::Module],
@@ -1357,15 +1285,15 @@ class Tapioca::Dsl::Pipeline
1357
1285
  sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1358
1286
  def active_compilers; end
1359
1287
 
1360
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#110
1288
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#92
1361
1289
  sig { params(error: ::String).void }
1362
1290
  def add_error(error); end
1363
1291
 
1364
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#115
1292
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#97
1365
1293
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1366
1294
  def compiler_enabled?(compiler_name); end
1367
1295
 
1368
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#124
1296
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#106
1369
1297
  sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1370
1298
  def compilers; end
1371
1299
 
@@ -1385,7 +1313,7 @@ class Tapioca::Dsl::Pipeline
1385
1313
  sig { returns(T::Array[::Pathname]) }
1386
1314
  def requested_paths; end
1387
1315
 
1388
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#70
1316
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#52
1389
1317
  sig do
1390
1318
  type_parameters(:T)
1391
1319
  .params(
@@ -1400,15 +1328,15 @@ class Tapioca::Dsl::Pipeline
1400
1328
 
1401
1329
  private
1402
1330
 
1403
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#231
1331
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#199
1404
1332
  sig { void }
1405
1333
  def abort_if_pending_migrations!; end
1406
1334
 
1407
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#177
1335
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#145
1408
1336
  sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1409
1337
  def filter_anonymous_and_reloaded_constants(constants); end
1410
1338
 
1411
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#141
1339
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#115
1412
1340
  sig do
1413
1341
  params(
1414
1342
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1417,7 +1345,7 @@ class Tapioca::Dsl::Pipeline
1417
1345
  end
1418
1346
  def gather_active_compilers(requested_compilers, excluded_compilers); end
1419
1347
 
1420
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#155
1348
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#123
1421
1349
  sig do
1422
1350
  params(
1423
1351
  requested_constants: T::Array[::Module],
@@ -1427,11 +1355,11 @@ class Tapioca::Dsl::Pipeline
1427
1355
  end
1428
1356
  def gather_constants(requested_constants, requested_paths, skipped_constants); end
1429
1357
 
1430
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#206
1358
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#174
1431
1359
  sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1432
1360
  def rbi_for_constant(constant); end
1433
1361
 
1434
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#225
1362
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#193
1435
1363
  sig { params(error: ::String).void }
1436
1364
  def report_error(error); end
1437
1365
  end
@@ -1453,7 +1381,7 @@ class Tapioca::Executor
1453
1381
  sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void }
1454
1382
  def initialize(queue, number_of_workers: T.unsafe(nil)); end
1455
1383
 
1456
- # source://tapioca//lib/tapioca/executor.rb#28
1384
+ # source://tapioca//lib/tapioca/executor.rb#22
1457
1385
  sig do
1458
1386
  type_parameters(:T)
1459
1387
  .params(
@@ -1464,7 +1392,7 @@ class Tapioca::Executor
1464
1392
 
1465
1393
  private
1466
1394
 
1467
- # source://tapioca//lib/tapioca/executor.rb#37
1395
+ # source://tapioca//lib/tapioca/executor.rb#31
1468
1396
  sig { returns(::Integer) }
1469
1397
  def max_processors; end
1470
1398
  end
@@ -1475,57 +1403,57 @@ Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer)
1475
1403
  # source://tapioca//lib/tapioca/gem/events.rb#5
1476
1404
  module Tapioca::Gem; end
1477
1405
 
1478
- # source://tapioca//lib/tapioca/gem/events.rb#77
1406
+ # source://tapioca//lib/tapioca/gem/events.rb#82
1479
1407
  class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded
1480
- # source://tapioca//lib/tapioca/gem/events.rb#84
1408
+ # source://tapioca//lib/tapioca/gem/events.rb#89
1481
1409
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1482
1410
  def initialize(symbol, constant, node); end
1483
1411
 
1484
- # source://tapioca//lib/tapioca/gem/events.rb#81
1412
+ # source://tapioca//lib/tapioca/gem/events.rb#86
1485
1413
  sig { returns(::RBI::Const) }
1486
1414
  def node; end
1487
1415
  end
1488
1416
 
1489
- # source://tapioca//lib/tapioca/gem/events.rb#26
1417
+ # source://tapioca//lib/tapioca/gem/events.rb#27
1490
1418
  class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event
1491
- # source://tapioca//lib/tapioca/gem/events.rb#36
1492
- sig { params(symbol: ::String, constant: ::BasicObject).void }
1419
+ # @return [ConstantFound] a new instance of ConstantFound
1420
+ #
1421
+ # source://tapioca//lib/tapioca/gem/events.rb#39
1493
1422
  def initialize(symbol, constant); end
1494
1423
 
1495
- # source://tapioca//lib/tapioca/gem/events.rb#33
1496
- sig { returns(::BasicObject) }
1424
+ # source://tapioca//lib/tapioca/gem/events.rb#35
1497
1425
  def constant; end
1498
1426
 
1499
- # source://tapioca//lib/tapioca/gem/events.rb#30
1427
+ # source://tapioca//lib/tapioca/gem/events.rb#31
1500
1428
  sig { returns(::String) }
1501
1429
  def symbol; end
1502
1430
  end
1503
1431
 
1504
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1432
+ # @abstract
1505
1433
  #
1506
1434
  # source://tapioca//lib/tapioca/gem/events.rb#6
1507
1435
  class Tapioca::Gem::Event
1508
1436
  abstract!
1509
1437
  end
1510
1438
 
1511
- # source://tapioca//lib/tapioca/gem/events.rb#43
1439
+ # source://tapioca//lib/tapioca/gem/events.rb#46
1512
1440
  class Tapioca::Gem::ForeignConstantFound < ::Tapioca::Gem::ConstantFound
1513
- # source://tapioca//lib/tapioca/gem/events.rb#52
1441
+ # source://tapioca//lib/tapioca/gem/events.rb#56
1514
1442
  sig { params(symbol: ::String, constant: ::Module).void }
1515
1443
  def initialize(symbol, constant); end
1516
1444
 
1517
- # source://tapioca//lib/tapioca/gem/events.rb#47
1445
+ # source://tapioca//lib/tapioca/gem/events.rb#51
1518
1446
  sig { override.returns(::Module) }
1519
1447
  def constant; end
1520
1448
  end
1521
1449
 
1522
- # source://tapioca//lib/tapioca/gem/events.rb#103
1450
+ # source://tapioca//lib/tapioca/gem/events.rb#108
1523
1451
  class Tapioca::Gem::ForeignScopeNodeAdded < ::Tapioca::Gem::ScopeNodeAdded; end
1524
1452
 
1525
1453
  # source://tapioca//lib/tapioca/gem/listeners/base.rb#6
1526
1454
  module Tapioca::Gem::Listeners; end
1527
1455
 
1528
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1456
+ # @abstract
1529
1457
  #
1530
1458
  # source://tapioca//lib/tapioca/gem/listeners/base.rb#7
1531
1459
  class Tapioca::Gem::Listeners::Base
@@ -1565,11 +1493,11 @@ class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base
1565
1493
 
1566
1494
  private
1567
1495
 
1568
- # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#31
1496
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#33
1569
1497
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1570
1498
  def ignore?(event); end
1571
1499
 
1572
- # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#15
1500
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#16
1573
1501
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1574
1502
  def on_scope(event); end
1575
1503
  end
@@ -1581,15 +1509,15 @@ class Tapioca::Gem::Listeners::ForeignConstants < ::Tapioca::Gem::Listeners::Bas
1581
1509
 
1582
1510
  private
1583
1511
 
1584
- # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#60
1512
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#58
1585
1513
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1586
1514
  def ignore?(event); end
1587
1515
 
1588
- # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#55
1516
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#52
1589
1517
  sig { params(location: ::String).returns(T::Boolean) }
1590
1518
  def mixed_in_by_gem?(location); end
1591
1519
 
1592
- # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#15
1520
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#16
1593
1521
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1594
1522
  def on_scope(event); end
1595
1523
  end
@@ -1603,7 +1531,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1603
1531
 
1604
1532
  private
1605
1533
 
1606
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#35
1534
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#28
1607
1535
  sig do
1608
1536
  params(
1609
1537
  tree: ::RBI::Tree,
@@ -1615,7 +1543,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1615
1543
  end
1616
1544
  def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil), attached_class: T.unsafe(nil)); end
1617
1545
 
1618
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#71
1546
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#56
1619
1547
  sig do
1620
1548
  params(
1621
1549
  tree: ::RBI::Tree,
@@ -1627,7 +1555,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1627
1555
  end
1628
1556
  def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
1629
1557
 
1630
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#211
1558
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#212
1631
1559
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1632
1560
  def ignore?(event); end
1633
1561
 
@@ -1635,11 +1563,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1635
1563
  sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1636
1564
  def initialize_method_for(constant); end
1637
1565
 
1638
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#216
1639
- sig { params(method: ::UnboundMethod).returns(T.untyped) }
1640
- def lookup_signature_of(method); end
1641
-
1642
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
1566
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#177
1643
1567
  sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1644
1568
  def method_names_by_visibility(mod); end
1645
1569
 
@@ -1657,15 +1581,15 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1657
1581
  # It walks up the ancestor tree via the `super_method` method; if any of the super
1658
1582
  # methods are owned by the constant, it means that the constant declares the method.
1659
1583
  #
1660
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#158
1584
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#163
1661
1585
  sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) }
1662
1586
  def method_owned_by_constant?(method, constant); end
1663
1587
 
1664
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#16
1588
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#17
1665
1589
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1666
1590
  def on_scope(event); end
1667
1591
 
1668
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#181
1592
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#186
1669
1593
  sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) }
1670
1594
  def struct_method?(constant, method_name); end
1671
1595
  end
@@ -1677,7 +1601,7 @@ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base
1677
1601
 
1678
1602
  private
1679
1603
 
1680
- # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#42
1604
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#36
1681
1605
  sig do
1682
1606
  params(
1683
1607
  tree: ::RBI::Tree,
@@ -1688,15 +1612,15 @@ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base
1688
1612
  end
1689
1613
  def add_mixins(tree, constant, mods, mixin_type); end
1690
1614
 
1691
- # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#84
1615
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#72
1692
1616
  sig { params(mixin_name: ::String).returns(T::Boolean) }
1693
1617
  def filtered_mixin?(mixin_name); end
1694
1618
 
1695
- # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#91
1619
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#79
1696
1620
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
1697
1621
  def interesting_ancestors_of(constant); end
1698
1622
 
1699
- # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#75
1623
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#63
1700
1624
  sig do
1701
1625
  params(
1702
1626
  constant: ::Module,
@@ -1706,7 +1630,7 @@ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base
1706
1630
  end
1707
1631
  def mixed_in_by_gem?(constant, mixin, mixin_type); end
1708
1632
 
1709
- # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#15
1633
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#16
1710
1634
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1711
1635
  def on_scope(event); end
1712
1636
  end
@@ -1718,11 +1642,11 @@ class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listen
1718
1642
 
1719
1643
  private
1720
1644
 
1721
- # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#20
1645
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#22
1722
1646
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1723
1647
  def ignore?(event); end
1724
1648
 
1725
- # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#15
1649
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#16
1726
1650
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1727
1651
  def on_scope(event); end
1728
1652
  end
@@ -1731,11 +1655,11 @@ end
1731
1655
  class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base
1732
1656
  private
1733
1657
 
1734
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#28
1658
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#30
1735
1659
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1736
1660
  def ignore?(event); end
1737
1661
 
1738
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#13
1662
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#14
1739
1663
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1740
1664
  def on_scope(event); end
1741
1665
  end
@@ -1747,11 +1671,11 @@ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
1747
1671
 
1748
1672
  private
1749
1673
 
1750
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#27
1674
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#29
1751
1675
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1752
1676
  def ignore?(event); end
1753
1677
 
1754
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#15
1678
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#16
1755
1679
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1756
1680
  def on_scope(event); end
1757
1681
  end
@@ -1763,11 +1687,11 @@ class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1763
1687
 
1764
1688
  private
1765
1689
 
1766
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#33
1690
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#35
1767
1691
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1768
1692
  def ignore?(event); end
1769
1693
 
1770
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#14
1694
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#15
1771
1695
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1772
1696
  def on_scope(event); end
1773
1697
  end
@@ -1776,11 +1700,11 @@ end
1776
1700
  class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base
1777
1701
  private
1778
1702
 
1779
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#23
1703
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#25
1780
1704
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1781
1705
  def ignore?(event); end
1782
1706
 
1783
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#13
1707
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#14
1784
1708
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1785
1709
  def on_scope(event); end
1786
1710
  end
@@ -1794,19 +1718,19 @@ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Bas
1794
1718
 
1795
1719
  private
1796
1720
 
1797
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#26
1721
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#27
1798
1722
  sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
1799
1723
  def compile_signature(signature, parameters); end
1800
1724
 
1801
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#79
1725
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#81
1802
1726
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1803
1727
  def ignore?(event); end
1804
1728
 
1805
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#18
1729
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#19
1806
1730
  sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1807
1731
  def on_method(event); end
1808
1732
 
1809
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#68
1733
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#69
1810
1734
  sig { params(signature: T.untyped).returns(T::Boolean) }
1811
1735
  def signature_final?(signature); end
1812
1736
  end
@@ -1821,19 +1745,19 @@ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::
1821
1745
 
1822
1746
  private
1823
1747
 
1824
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#27
1748
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#28
1825
1749
  sig { params(tree: ::RBI::Tree, constant: ::Module).void }
1826
1750
  def compile_type_variable_declarations(tree, constant); end
1827
1751
 
1828
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#63
1752
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#65
1829
1753
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1830
1754
  def ignore?(event); end
1831
1755
 
1832
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1756
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#51
1833
1757
  sig { params(type_variable: ::Tapioca::TypeVariableModule).returns(T.nilable(::RBI::Node)) }
1834
1758
  def node_from_type_variable(type_variable); end
1835
1759
 
1836
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15
1760
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#16
1837
1761
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1838
1762
  def on_scope(event); end
1839
1763
  end
@@ -1842,19 +1766,19 @@ end
1842
1766
  class Tapioca::Gem::Listeners::SourceLocation < ::Tapioca::Gem::Listeners::Base
1843
1767
  private
1844
1768
 
1845
- # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#41
1769
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#48
1846
1770
  sig { params(node: ::RBI::NodeWithComments, file: T.nilable(::String), line: T.nilable(::Integer)).void }
1847
1771
  def add_source_location_comment(node, file, line); end
1848
1772
 
1849
- # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#13
1773
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#14
1850
1774
  sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1851
1775
  def on_const(event); end
1852
1776
 
1853
- # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#35
1777
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#38
1854
1778
  sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1855
1779
  def on_method(event); end
1856
1780
 
1857
- # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#19
1781
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#21
1858
1782
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1859
1783
  def on_scope(event); end
1860
1784
  end
@@ -1866,53 +1790,57 @@ class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base
1866
1790
 
1867
1791
  private
1868
1792
 
1869
- # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#35
1793
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#37
1870
1794
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1871
1795
  def ignore?(event); end
1872
1796
 
1873
- # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#15
1797
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#16
1874
1798
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1875
1799
  def on_scope(event); end
1876
1800
  end
1877
1801
 
1878
1802
  # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#7
1879
1803
  class Tapioca::Gem::Listeners::YardDoc < ::Tapioca::Gem::Listeners::Base
1880
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#27
1804
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#25
1881
1805
  sig { params(pipeline: ::Tapioca::Gem::Pipeline).void }
1882
1806
  def initialize(pipeline); end
1883
1807
 
1884
1808
  private
1885
1809
 
1886
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#55
1810
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#61
1887
1811
  sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
1888
1812
  def documentation_comments(name, sigs: T.unsafe(nil)); end
1889
1813
 
1890
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#99
1814
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#106
1891
1815
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1892
1816
  def ignore?(event); end
1893
1817
 
1894
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#36
1818
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#40
1895
1819
  sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1896
1820
  def on_const(event); end
1897
1821
 
1898
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#46
1822
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#52
1899
1823
  sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1900
1824
  def on_method(event); end
1901
1825
 
1902
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#41
1826
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#46
1903
1827
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1904
1828
  def on_scope(event); end
1829
+
1830
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#34
1831
+ sig { params(line: ::String).returns(T::Boolean) }
1832
+ def rbs_comment?(line); end
1905
1833
  end
1906
1834
 
1907
1835
  # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#10
1908
1836
  Tapioca::Gem::Listeners::YardDoc::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array)
1909
1837
 
1910
- # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#24
1838
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#22
1911
1839
  Tapioca::Gem::Listeners::YardDoc::IGNORED_SIG_TAGS = T.let(T.unsafe(nil), Array)
1912
1840
 
1913
- # source://tapioca//lib/tapioca/gem/events.rb#105
1841
+ # source://tapioca//lib/tapioca/gem/events.rb#110
1914
1842
  class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded
1915
- # source://tapioca//lib/tapioca/gem/events.rb#130
1843
+ # source://tapioca//lib/tapioca/gem/events.rb#126
1916
1844
  sig do
1917
1845
  params(
1918
1846
  symbol: ::String,
@@ -1925,38 +1853,38 @@ class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded
1925
1853
  end
1926
1854
  def initialize(symbol, constant, method, node, signature, parameters); end
1927
1855
 
1928
- # source://tapioca//lib/tapioca/gem/events.rb#109
1856
+ # source://tapioca//lib/tapioca/gem/events.rb#114
1929
1857
  sig { returns(::UnboundMethod) }
1930
1858
  def method; end
1931
1859
 
1932
- # source://tapioca//lib/tapioca/gem/events.rb#112
1860
+ # source://tapioca//lib/tapioca/gem/events.rb#117
1933
1861
  sig { returns(::RBI::Method) }
1934
1862
  def node; end
1935
1863
 
1936
- # source://tapioca//lib/tapioca/gem/events.rb#118
1864
+ # source://tapioca//lib/tapioca/gem/events.rb#123
1937
1865
  sig { returns(T::Array[[::Symbol, ::String]]) }
1938
1866
  def parameters; end
1939
1867
 
1940
- # source://tapioca//lib/tapioca/gem/events.rb#115
1868
+ # source://tapioca//lib/tapioca/gem/events.rb#120
1941
1869
  sig { returns(T.untyped) }
1942
1870
  def signature; end
1943
1871
  end
1944
1872
 
1945
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1873
+ # @abstract
1946
1874
  #
1947
- # source://tapioca//lib/tapioca/gem/events.rb#57
1875
+ # source://tapioca//lib/tapioca/gem/events.rb#61
1948
1876
  class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
1949
1877
  abstract!
1950
1878
 
1951
- # source://tapioca//lib/tapioca/gem/events.rb#70
1879
+ # source://tapioca//lib/tapioca/gem/events.rb#75
1952
1880
  sig { params(symbol: ::String, constant: ::Module).void }
1953
1881
  def initialize(symbol, constant); end
1954
1882
 
1955
- # source://tapioca//lib/tapioca/gem/events.rb#67
1883
+ # source://tapioca//lib/tapioca/gem/events.rb#72
1956
1884
  sig { returns(::Module) }
1957
1885
  def constant; end
1958
1886
 
1959
- # source://tapioca//lib/tapioca/gem/events.rb#64
1887
+ # source://tapioca//lib/tapioca/gem/events.rb#69
1960
1888
  sig { returns(::String) }
1961
1889
  def symbol; end
1962
1890
  end
@@ -1968,7 +1896,7 @@ class Tapioca::Gem::Pipeline
1968
1896
  include ::Tapioca::SorbetHelper
1969
1897
  include ::Tapioca::RBIHelper
1970
1898
 
1971
- # source://tapioca//lib/tapioca/gem/pipeline.rb#27
1899
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#20
1972
1900
  sig do
1973
1901
  params(
1974
1902
  gem: ::Tapioca::Gemfile::GemSpec,
@@ -1979,11 +1907,11 @@ class Tapioca::Gem::Pipeline
1979
1907
  end
1980
1908
  def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1981
1909
 
1982
- # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1910
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#57
1983
1911
  sig { returns(::RBI::Tree) }
1984
1912
  def compile; end
1985
1913
 
1986
- # source://tapioca//lib/tapioca/gem/pipeline.rb#135
1914
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#111
1987
1915
  sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1988
1916
  def constant_in_gem?(name); end
1989
1917
 
@@ -1995,33 +1923,35 @@ class Tapioca::Gem::Pipeline
1995
1923
  sig { returns(::Tapioca::Gemfile::GemSpec) }
1996
1924
  def gem; end
1997
1925
 
1998
- # source://tapioca//lib/tapioca/gem/pipeline.rb#153
1999
- sig { params(method: ::UnboundMethod).returns(T::Boolean) }
2000
- def method_in_gem?(method); end
1926
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#149
1927
+ sig do
1928
+ params(
1929
+ method_name: ::Symbol,
1930
+ owner: ::Module
1931
+ ).returns(::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult)
1932
+ end
1933
+ def method_definition_in_gem(method_name, owner); end
2001
1934
 
2002
- # Helpers
2003
- #
2004
- # source://tapioca//lib/tapioca/gem/pipeline.rb#163
1935
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#175
2005
1936
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
2006
1937
  def name_of(constant); end
2007
1938
 
2008
- # source://tapioca//lib/tapioca/gem/pipeline.rb#87
1939
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#81
2009
1940
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
2010
1941
  def push_const(symbol, constant, node); end
2011
1942
 
2012
- # source://tapioca//lib/tapioca/gem/pipeline.rb#77
2013
- sig { params(symbol: ::String, constant: ::BasicObject).void }
1943
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#71
2014
1944
  def push_constant(symbol, constant); end
2015
1945
 
2016
- # source://tapioca//lib/tapioca/gem/pipeline.rb#82
1946
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#76
2017
1947
  sig { params(symbol: ::String, constant: ::Module).void }
2018
1948
  def push_foreign_constant(symbol, constant); end
2019
1949
 
2020
- # source://tapioca//lib/tapioca/gem/pipeline.rb#101
1950
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#91
2021
1951
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
2022
1952
  def push_foreign_scope(symbol, constant, node); end
2023
1953
 
2024
- # source://tapioca//lib/tapioca/gem/pipeline.rb#115
1954
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#96
2025
1955
  sig do
2026
1956
  params(
2027
1957
  symbol: ::String,
@@ -2034,169 +1964,185 @@ class Tapioca::Gem::Pipeline
2034
1964
  end
2035
1965
  def push_method(symbol, constant, method, node, signature, parameters); end
2036
1966
 
2037
- # source://tapioca//lib/tapioca/gem/pipeline.rb#94
1967
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#86
2038
1968
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
2039
1969
  def push_scope(symbol, constant, node); end
2040
1970
 
2041
- # Events handling
2042
- #
2043
- # source://tapioca//lib/tapioca/gem/pipeline.rb#72
1971
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#65
2044
1972
  sig { params(symbol: ::String).void }
2045
1973
  def push_symbol(symbol); end
2046
1974
 
2047
- # Constants and properties filtering
2048
- #
2049
- # source://tapioca//lib/tapioca/gem/pipeline.rb#122
1975
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#103
2050
1976
  sig { params(symbol_name: ::String).returns(T::Boolean) }
2051
1977
  def symbol_in_payload?(symbol_name); end
2052
1978
 
2053
1979
  private
2054
1980
 
2055
- # source://tapioca//lib/tapioca/gem/pipeline.rb#456
1981
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#472
2056
1982
  sig { params(name: ::String).void }
2057
1983
  def add_to_alias_namespace(name); end
2058
1984
 
2059
- # source://tapioca//lib/tapioca/gem/pipeline.rb#461
1985
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#477
2060
1986
  sig { params(name: ::String).returns(T::Boolean) }
2061
1987
  def alias_namespaced?(name); end
2062
1988
 
2063
- # source://tapioca//lib/tapioca/gem/pipeline.rb#260
1989
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#273
2064
1990
  sig { params(name: ::String, constant: ::Module).void }
2065
1991
  def compile_alias(name, constant); end
2066
1992
 
2067
- # source://tapioca//lib/tapioca/gem/pipeline.rb#246
2068
- sig { params(symbol: ::String, constant: ::BasicObject).void }
1993
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#259
2069
1994
  def compile_constant(symbol, constant); end
2070
1995
 
2071
- # Compiling
2072
- #
2073
- # source://tapioca//lib/tapioca/gem/pipeline.rb#235
1996
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#247
2074
1997
  sig { params(symbol: ::String, constant: ::Module).void }
2075
1998
  def compile_foreign_constant(symbol, constant); end
2076
1999
 
2077
- # source://tapioca//lib/tapioca/gem/pipeline.rb#314
2000
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#328
2078
2001
  sig { params(name: ::String, constant: ::Module).void }
2079
2002
  def compile_module(name, constant); end
2080
2003
 
2081
- # source://tapioca//lib/tapioca/gem/pipeline.rb#281
2082
- sig { params(name: ::String, value: ::BasicObject).void }
2004
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#295
2083
2005
  def compile_object(name, value); end
2084
2006
 
2085
- # source://tapioca//lib/tapioca/gem/pipeline.rb#325
2007
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#339
2086
2008
  sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
2087
2009
  def compile_scope(name, constant); end
2088
2010
 
2089
- # source://tapioca//lib/tapioca/gem/pipeline.rb#339
2011
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#353
2090
2012
  sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
2091
2013
  def compile_superclass(constant); end
2092
2014
 
2093
- # source://tapioca//lib/tapioca/gem/pipeline.rb#437
2015
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#453
2094
2016
  sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
2095
2017
  def defined_in_gem?(constant, strict: T.unsafe(nil)); end
2096
2018
 
2097
- # source://tapioca//lib/tapioca/gem/pipeline.rb#193
2019
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#205
2098
2020
  sig { params(event: ::Tapioca::Gem::Event).void }
2099
2021
  def dispatch(event); end
2100
2022
 
2101
- # Helpers
2102
- #
2103
- # source://tapioca//lib/tapioca/gem/pipeline.rb#480
2023
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#496
2104
2024
  sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
2105
2025
  def generic_name_of(constant); end
2106
2026
 
2107
- # source://tapioca//lib/tapioca/gem/pipeline.rb#449
2027
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#465
2108
2028
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2109
2029
  def get_file_candidates(constant); end
2110
2030
 
2111
- # source://tapioca//lib/tapioca/gem/pipeline.rb#178
2031
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#190
2112
2032
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
2113
2033
  def load_bootstrap_symbols(gem); end
2114
2034
 
2115
- # source://tapioca//lib/tapioca/gem/pipeline.rb#496
2035
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#512
2116
2036
  sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
2117
2037
  def name_of_proxy_target(constant, class_name); end
2118
2038
 
2119
- # Events handling
2120
- #
2121
- # source://tapioca//lib/tapioca/gem/pipeline.rb#188
2039
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#200
2122
2040
  sig { returns(::Tapioca::Gem::Event) }
2123
2041
  def next_event; end
2124
2042
 
2125
- # source://tapioca//lib/tapioca/gem/pipeline.rb#216
2043
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#228
2126
2044
  sig { params(event: ::Tapioca::Gem::ConstantFound).void }
2127
2045
  def on_constant(event); end
2128
2046
 
2129
- # source://tapioca//lib/tapioca/gem/pipeline.rb#228
2047
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#240
2130
2048
  sig { params(event: ::Tapioca::Gem::NodeAdded).void }
2131
2049
  def on_node(event); end
2132
2050
 
2133
- # source://tapioca//lib/tapioca/gem/pipeline.rb#207
2051
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#219
2134
2052
  sig { params(event: ::Tapioca::Gem::SymbolFound).void }
2135
2053
  def on_symbol(event); end
2136
2054
 
2137
- # source://tapioca//lib/tapioca/gem/pipeline.rb#468
2055
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#484
2138
2056
  sig { params(name: ::String).void }
2139
2057
  def seen!(name); end
2140
2058
 
2141
- # source://tapioca//lib/tapioca/gem/pipeline.rb#473
2059
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#489
2142
2060
  sig { params(name: ::String).returns(T::Boolean) }
2143
2061
  def seen?(name); end
2144
2062
 
2145
- # source://tapioca//lib/tapioca/gem/pipeline.rb#407
2063
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#422
2146
2064
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2147
2065
  def skip_alias?(name, constant); end
2148
2066
 
2149
- # source://tapioca//lib/tapioca/gem/pipeline.rb#395
2150
- sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
2067
+ # @return [Boolean]
2068
+ #
2069
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#410
2151
2070
  def skip_constant?(name, constant); end
2152
2071
 
2153
- # source://tapioca//lib/tapioca/gem/pipeline.rb#424
2072
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#440
2154
2073
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2155
2074
  def skip_foreign_constant?(name, constant); end
2156
2075
 
2157
- # source://tapioca//lib/tapioca/gem/pipeline.rb#429
2076
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#445
2158
2077
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2159
2078
  def skip_module?(name, constant); end
2160
2079
 
2161
- # source://tapioca//lib/tapioca/gem/pipeline.rb#416
2162
- sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
2080
+ # @return [Boolean]
2081
+ #
2082
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#432
2163
2083
  def skip_object?(name, constant); end
2164
2084
 
2165
- # Constants and properties filtering
2166
- #
2167
- # source://tapioca//lib/tapioca/gem/pipeline.rb#390
2085
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#404
2168
2086
  sig { params(name: ::String).returns(T::Boolean) }
2169
2087
  def skip_symbol?(name); end
2170
2088
  end
2171
2089
 
2172
- # this looks something like:
2173
- # "(eval at /path/to/file.rb:123)"
2174
- # and we are just interested in the "/path/to/file.rb" part
2090
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#11
2091
+ Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
2092
+
2093
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2094
+ #
2095
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#120
2096
+ class Tapioca::Gem::Pipeline::MethodDefinitionLookupResult
2097
+ abstract!
2098
+ end
2099
+
2100
+ # The method defined in gem and has a source location
2101
+ #
2102
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#135
2103
+ class Tapioca::Gem::Pipeline::MethodInGemWithLocation < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult
2104
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#142
2105
+ sig { params(location: ::Tapioca::Runtime::SourceLocation).void }
2106
+ def initialize(location); end
2107
+
2108
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#139
2109
+ sig { returns(::Tapioca::Runtime::SourceLocation) }
2110
+ def location; end
2111
+ end
2112
+
2113
+ # The method probably defined in the gem but doesn't have a source location
2175
2114
  #
2176
2115
  # source://tapioca//lib/tapioca/gem/pipeline.rb#132
2177
- Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
2116
+ class Tapioca::Gem::Pipeline::MethodInGemWithoutLocation < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult; end
2178
2117
 
2179
- # source://tapioca//lib/tapioca/gem/pipeline.rb#11
2180
- Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
2118
+ # The method is not defined in the gem
2119
+ #
2120
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#129
2121
+ class Tapioca::Gem::Pipeline::MethodNotInGem < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult; end
2181
2122
 
2182
- # source://tapioca//lib/tapioca/gem/events.rb#90
2123
+ # The method doesn't seem to exist
2124
+ #
2125
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#126
2126
+ class Tapioca::Gem::Pipeline::MethodUnknown < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult; end
2127
+
2128
+ # source://tapioca//lib/tapioca/gem/events.rb#95
2183
2129
  class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded
2184
- # source://tapioca//lib/tapioca/gem/events.rb#97
2130
+ # source://tapioca//lib/tapioca/gem/events.rb#102
2185
2131
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
2186
2132
  def initialize(symbol, constant, node); end
2187
2133
 
2188
- # source://tapioca//lib/tapioca/gem/events.rb#94
2134
+ # source://tapioca//lib/tapioca/gem/events.rb#99
2189
2135
  sig { returns(::RBI::Scope) }
2190
2136
  def node; end
2191
2137
  end
2192
2138
 
2193
- # source://tapioca//lib/tapioca/gem/events.rb#13
2139
+ # source://tapioca//lib/tapioca/gem/events.rb#14
2194
2140
  class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event
2195
- # source://tapioca//lib/tapioca/gem/events.rb#20
2141
+ # source://tapioca//lib/tapioca/gem/events.rb#21
2196
2142
  sig { params(symbol: ::String).void }
2197
2143
  def initialize(symbol); end
2198
2144
 
2199
- # source://tapioca//lib/tapioca/gem/events.rb#17
2145
+ # source://tapioca//lib/tapioca/gem/events.rb#18
2200
2146
  sig { returns(::String) }
2201
2147
  def symbol; end
2202
2148
  end
@@ -2235,9 +2181,6 @@ class Tapioca::GemInfo < ::T::Struct
2235
2181
  # source://tapioca//lib/tapioca/gem_info.rb#13
2236
2182
  sig { params(spec: ::Bundler::LazySpecification).returns(::Tapioca::GemInfo) }
2237
2183
  def from_spec(spec); end
2238
-
2239
- # source://sorbet-runtime/0.5.11953/lib/types/struct.rb#13
2240
- def inherited(s); end
2241
2184
  end
2242
2185
  end
2243
2186
 
@@ -2285,8 +2228,6 @@ class Tapioca::Gemfile
2285
2228
  sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
2286
2229
  def load_dependencies; end
2287
2230
 
2288
- # @return [File]
2289
- #
2290
2231
  # source://tapioca//lib/tapioca/gemfile.rb#54
2291
2232
  def lockfile; end
2292
2233
 
@@ -2303,94 +2244,92 @@ end
2303
2244
  class Tapioca::Gemfile::GemSpec
2304
2245
  include ::Tapioca::GemHelper
2305
2246
 
2306
- # source://tapioca//lib/tapioca/gemfile.rb#145
2247
+ # source://tapioca//lib/tapioca/gemfile.rb#139
2307
2248
  sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
2308
2249
  def initialize(spec); end
2309
2250
 
2310
- # source://tapioca//lib/tapioca/gemfile.rb#155
2251
+ # source://tapioca//lib/tapioca/gemfile.rb#149
2311
2252
  sig { params(other: ::BasicObject).returns(T::Boolean) }
2312
2253
  def ==(other); end
2313
2254
 
2314
- # source://tapioca//lib/tapioca/gemfile.rb#180
2255
+ # source://tapioca//lib/tapioca/gemfile.rb#174
2315
2256
  sig { params(path: ::String).returns(T::Boolean) }
2316
2257
  def contains_path?(path); end
2317
2258
 
2318
- # source://tapioca//lib/tapioca/gemfile.rb#170
2259
+ # source://tapioca//lib/tapioca/gemfile.rb#164
2319
2260
  sig { returns(T::Array[::Gem::Dependency]) }
2320
2261
  def dependencies; end
2321
2262
 
2322
- # source://tapioca//lib/tapioca/gemfile.rb#210
2263
+ # source://tapioca//lib/tapioca/gemfile.rb#204
2323
2264
  sig { returns(T::Boolean) }
2324
2265
  def export_rbi_files?; end
2325
2266
 
2326
- # source://tapioca//lib/tapioca/gemfile.rb#205
2267
+ # source://tapioca//lib/tapioca/gemfile.rb#199
2327
2268
  sig { returns(T::Array[::String]) }
2328
2269
  def exported_rbi_files; end
2329
2270
 
2330
- # source://tapioca//lib/tapioca/gemfile.rb#215
2271
+ # source://tapioca//lib/tapioca/gemfile.rb#209
2331
2272
  sig { returns(::RBI::MergeTree) }
2332
2273
  def exported_rbi_tree; end
2333
2274
 
2334
- # source://tapioca//lib/tapioca/gemfile.rb#142
2275
+ # source://tapioca//lib/tapioca/gemfile.rb#136
2335
2276
  sig { returns(T::Array[::Pathname]) }
2336
2277
  def files; end
2337
2278
 
2338
- # source://tapioca//lib/tapioca/gemfile.rb#139
2279
+ # source://tapioca//lib/tapioca/gemfile.rb#133
2339
2280
  sig { returns(::String) }
2340
2281
  def full_gem_path; end
2341
2282
 
2342
- # source://tapioca//lib/tapioca/gemfile.rb#160
2283
+ # source://tapioca//lib/tapioca/gemfile.rb#154
2343
2284
  sig { params(gemfile_dir: ::String).returns(T::Boolean) }
2344
2285
  def ignore?(gemfile_dir); end
2345
2286
 
2346
- # source://tapioca//lib/tapioca/gemfile.rb#165
2287
+ # source://tapioca//lib/tapioca/gemfile.rb#159
2347
2288
  sig { returns(::String) }
2348
2289
  def name; end
2349
2290
 
2350
- # source://tapioca//lib/tapioca/gemfile.rb#189
2291
+ # source://tapioca//lib/tapioca/gemfile.rb#183
2351
2292
  sig { void }
2352
2293
  def parse_yard_docs; end
2353
2294
 
2354
- # source://tapioca//lib/tapioca/gemfile.rb#175
2295
+ # source://tapioca//lib/tapioca/gemfile.rb#169
2355
2296
  sig { returns(::String) }
2356
2297
  def rbi_file_name; end
2357
2298
 
2358
- # source://tapioca//lib/tapioca/gemfile.rb#227
2299
+ # source://tapioca//lib/tapioca/gemfile.rb#221
2359
2300
  sig { params(file: ::Pathname).returns(::Pathname) }
2360
2301
  def relative_path_for(file); end
2361
2302
 
2362
- # @return [String]
2363
- #
2364
- # source://tapioca//lib/tapioca/gemfile.rb#139
2303
+ # source://tapioca//lib/tapioca/gemfile.rb#133
2365
2304
  def version; end
2366
2305
 
2367
2306
  private
2368
2307
 
2369
- # source://tapioca//lib/tapioca/gemfile.rb#238
2308
+ # source://tapioca//lib/tapioca/gemfile.rb#232
2370
2309
  sig { returns(T::Array[::Pathname]) }
2371
2310
  def collect_files; end
2372
2311
 
2373
- # source://tapioca//lib/tapioca/gemfile.rb#253
2312
+ # source://tapioca//lib/tapioca/gemfile.rb#247
2374
2313
  sig { returns(T.nilable(T::Boolean)) }
2375
2314
  def default_gem?; end
2376
2315
 
2377
- # source://tapioca//lib/tapioca/gemfile.rb#312
2316
+ # source://tapioca//lib/tapioca/gemfile.rb#303
2378
2317
  sig { returns(T::Boolean) }
2379
2318
  def gem_ignored?; end
2380
2319
 
2381
- # source://tapioca//lib/tapioca/gemfile.rb#291
2320
+ # source://tapioca//lib/tapioca/gemfile.rb#282
2382
2321
  sig { params(path: ::String).returns(T::Boolean) }
2383
2322
  def has_parent_gemspec?(path); end
2384
2323
 
2385
- # source://tapioca//lib/tapioca/gemfile.rb#258
2324
+ # source://tapioca//lib/tapioca/gemfile.rb#252
2386
2325
  sig { returns(::Regexp) }
2387
2326
  def require_paths_prefix_matcher; end
2388
2327
 
2389
- # source://tapioca//lib/tapioca/gemfile.rb#270
2328
+ # source://tapioca//lib/tapioca/gemfile.rb#261
2390
2329
  sig { params(file: ::String).returns(::Pathname) }
2391
2330
  def resolve_to_ruby_lib_dir(file); end
2392
2331
 
2393
- # source://tapioca//lib/tapioca/gemfile.rb#284
2332
+ # source://tapioca//lib/tapioca/gemfile.rb#275
2394
2333
  sig { returns(::String) }
2395
2334
  def version_string; end
2396
2335
 
@@ -2401,13 +2340,13 @@ class Tapioca::Gemfile::GemSpec
2401
2340
  end
2402
2341
  end
2403
2342
 
2404
- # source://tapioca//lib/tapioca/gemfile.rb#125
2343
+ # source://tapioca//lib/tapioca/gemfile.rb#122
2405
2344
  Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2406
2345
 
2407
2346
  # source://tapioca//lib/tapioca/gemfile.rb#10
2408
2347
  Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2409
2348
 
2410
- # source://tapioca//lib/tapioca.rb#33
2349
+ # source://tapioca//lib/tapioca.rb#29
2411
2350
  Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String)
2412
2351
 
2413
2352
  # source://tapioca//lib/tapioca/loaders/loader.rb#5
@@ -2415,7 +2354,7 @@ module Tapioca::Loaders; end
2415
2354
 
2416
2355
  # source://tapioca//lib/tapioca/loaders/dsl.rb#6
2417
2356
  class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2418
- # source://tapioca//lib/tapioca/loaders/dsl.rb#74
2357
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#66
2419
2358
  sig do
2420
2359
  params(
2421
2360
  tapioca_path: ::String,
@@ -2426,40 +2365,40 @@ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2426
2365
  end
2427
2366
  def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2428
2367
 
2429
- # source://tapioca//lib/tapioca/loaders/dsl.rb#36
2368
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#30
2430
2369
  sig { override.void }
2431
2370
  def load; end
2432
2371
 
2433
- # source://tapioca//lib/tapioca/loaders/dsl.rb#43
2372
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#37
2434
2373
  sig { void }
2435
2374
  def load_dsl_extensions_and_compilers; end
2436
2375
 
2437
- # source://tapioca//lib/tapioca/loaders/dsl.rb#49
2376
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#43
2438
2377
  sig { void }
2439
2378
  def reload_custom_compilers; end
2440
2379
 
2441
2380
  protected
2442
2381
 
2443
- # source://tapioca//lib/tapioca/loaders/dsl.rb#120
2382
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#112
2444
2383
  sig { void }
2445
2384
  def load_application; end
2446
2385
 
2447
- # source://tapioca//lib/tapioca/loaders/dsl.rb#100
2386
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#92
2448
2387
  sig { void }
2449
2388
  def load_dsl_compilers; end
2450
2389
 
2451
- # source://tapioca//lib/tapioca/loaders/dsl.rb#85
2390
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#77
2452
2391
  sig { void }
2453
2392
  def load_dsl_extensions; end
2454
2393
 
2455
2394
  private
2456
2395
 
2457
- # source://tapioca//lib/tapioca/loaders/dsl.rb#136
2396
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#128
2458
2397
  sig { void }
2459
2398
  def load_custom_dsl_compilers; end
2460
2399
 
2461
2400
  class << self
2462
- # source://tapioca//lib/tapioca/loaders/dsl.rb#20
2401
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#13
2463
2402
  sig do
2464
2403
  params(
2465
2404
  tapioca_path: ::String,
@@ -2474,7 +2413,7 @@ end
2474
2413
 
2475
2414
  # source://tapioca//lib/tapioca/loaders/gem.rb#6
2476
2415
  class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2477
- # source://tapioca//lib/tapioca/loaders/gem.rb#49
2416
+ # source://tapioca//lib/tapioca/loaders/gem.rb#34
2478
2417
  sig do
2479
2418
  params(
2480
2419
  bundle: ::Tapioca::Gemfile,
@@ -2486,22 +2425,22 @@ class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2486
2425
  end
2487
2426
  def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2488
2427
 
2489
- # source://tapioca//lib/tapioca/loaders/gem.rb#34
2428
+ # source://tapioca//lib/tapioca/loaders/gem.rb#27
2490
2429
  sig { override.void }
2491
2430
  def load; end
2492
2431
 
2493
2432
  protected
2494
2433
 
2495
- # source://tapioca//lib/tapioca/loaders/gem.rb#80
2434
+ # source://tapioca//lib/tapioca/loaders/gem.rb#65
2496
2435
  sig { params(file: ::String, error: ::LoadError).void }
2497
2436
  def explain_failed_require(file, error); end
2498
2437
 
2499
- # source://tapioca//lib/tapioca/loaders/gem.rb#60
2438
+ # source://tapioca//lib/tapioca/loaders/gem.rb#45
2500
2439
  sig { void }
2501
2440
  def require_gem_file; end
2502
2441
 
2503
2442
  class << self
2504
- # source://tapioca//lib/tapioca/loaders/gem.rb#21
2443
+ # source://tapioca//lib/tapioca/loaders/gem.rb#13
2505
2444
  sig do
2506
2445
  params(
2507
2446
  bundle: ::Tapioca::Gemfile,
@@ -2515,7 +2454,7 @@ class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2515
2454
  end
2516
2455
  end
2517
2456
 
2518
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2457
+ # @abstract
2519
2458
  #
2520
2459
  # source://tapioca//lib/tapioca/loaders/loader.rb#6
2521
2460
  class Tapioca::Loaders::Loader
@@ -2530,8 +2469,9 @@ class Tapioca::Loaders::Loader
2530
2469
  abstract!
2531
2470
 
2532
2471
  # @abstract
2472
+ # @raise [NotImplementedError]
2533
2473
  #
2534
- # source://tapioca//lib/tapioca/loaders/loader.rb#17
2474
+ # source://tapioca//lib/tapioca/loaders/loader.rb#18
2535
2475
  sig { abstract.void }
2536
2476
  def load; end
2537
2477
 
@@ -2542,22 +2482,17 @@ class Tapioca::Loaders::Loader
2542
2482
  # engine paths. The following commit is the change:
2543
2483
  # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
2544
2484
  #
2545
- # @param engine [T.class_of(Rails::Engine)]
2546
- # @return [Array<String>]
2547
- #
2548
- # source://tapioca//lib/tapioca/loaders/loader.rb#234
2485
+ # source://tapioca//lib/tapioca/loaders/loader.rb#219
2549
2486
  def eager_load_paths(engine); end
2550
2487
 
2551
- # source://tapioca//lib/tapioca/loaders/loader.rb#199
2488
+ # source://tapioca//lib/tapioca/loaders/loader.rb#183
2552
2489
  sig { void }
2553
2490
  def eager_load_rails_app; end
2554
2491
 
2555
- # @return [Array<T.class_of(Rails::Engine)>]
2556
- #
2557
- # source://tapioca//lib/tapioca/loaders/loader.rb#178
2492
+ # source://tapioca//lib/tapioca/loaders/loader.rb#162
2558
2493
  def engines; end
2559
2494
 
2560
- # source://tapioca//lib/tapioca/loaders/loader.rb#29
2495
+ # source://tapioca//lib/tapioca/loaders/loader.rb#23
2561
2496
  sig do
2562
2497
  params(
2563
2498
  gemfile: ::Tapioca::Gemfile,
@@ -2568,15 +2503,15 @@ class Tapioca::Loaders::Loader
2568
2503
  end
2569
2504
  def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2570
2505
 
2571
- # source://tapioca//lib/tapioca/loaders/loader.rb#136
2506
+ # source://tapioca//lib/tapioca/loaders/loader.rb#119
2572
2507
  sig { void }
2573
2508
  def load_engines_in_classic_mode; end
2574
2509
 
2575
- # source://tapioca//lib/tapioca/loaders/loader.rb#114
2510
+ # source://tapioca//lib/tapioca/loaders/loader.rb#101
2576
2511
  sig { void }
2577
2512
  def load_engines_in_zeitwerk_mode; end
2578
2513
 
2579
- # source://tapioca//lib/tapioca/loaders/loader.rb#49
2514
+ # source://tapioca//lib/tapioca/loaders/loader.rb#36
2580
2515
  sig do
2581
2516
  params(
2582
2517
  environment_load: T::Boolean,
@@ -2587,26 +2522,26 @@ class Tapioca::Loaders::Loader
2587
2522
  end
2588
2523
  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
2589
2524
 
2590
- # source://tapioca//lib/tapioca/loaders/loader.rb#89
2525
+ # source://tapioca//lib/tapioca/loaders/loader.rb#76
2591
2526
  sig { void }
2592
2527
  def load_rails_engines; end
2593
2528
 
2594
- # source://tapioca//lib/tapioca/loaders/loader.rb#220
2529
+ # source://tapioca//lib/tapioca/loaders/loader.rb#204
2595
2530
  sig { params(file: T.nilable(::String)).void }
2596
2531
  def require_helper(file); end
2597
2532
 
2598
- # source://tapioca//lib/tapioca/loaders/loader.rb#103
2533
+ # source://tapioca//lib/tapioca/loaders/loader.rb#90
2599
2534
  def run_initializers; end
2600
2535
 
2601
- # source://tapioca//lib/tapioca/loaders/loader.rb#192
2536
+ # source://tapioca//lib/tapioca/loaders/loader.rb#176
2602
2537
  sig { params(path: ::String).void }
2603
2538
  def safe_require(path); end
2604
2539
 
2605
- # source://tapioca//lib/tapioca/loaders/loader.rb#161
2540
+ # source://tapioca//lib/tapioca/loaders/loader.rb#144
2606
2541
  sig { params(blk: T.proc.void).void }
2607
2542
  def with_rails_application(&blk); end
2608
2543
 
2609
- # source://tapioca//lib/tapioca/loaders/loader.rb#154
2544
+ # source://tapioca//lib/tapioca/loaders/loader.rb#137
2610
2545
  sig { returns(T::Boolean) }
2611
2546
  def zeitwerk_mode?; end
2612
2547
  end
@@ -2616,7 +2551,7 @@ module Tapioca::RBIFilesHelper
2616
2551
  requires_ancestor { Tapioca::SorbetHelper }
2617
2552
  requires_ancestor { Thor::Shell }
2618
2553
 
2619
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#48
2554
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#43
2620
2555
  sig do
2621
2556
  params(
2622
2557
  index: ::RBI::Index,
@@ -2626,19 +2561,19 @@ module Tapioca::RBIFilesHelper
2626
2561
  end
2627
2562
  def duplicated_nodes_from_index(index, shim_rbi_dir:, todo_rbi_file:); end
2628
2563
 
2629
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#13
2564
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#14
2630
2565
  sig { params(index: ::RBI::Index, kind: ::String, file: ::String).void }
2631
2566
  def index_rbi(index, kind, file); end
2632
2567
 
2633
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#25
2568
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#26
2634
2569
  sig { params(index: ::RBI::Index, kind: ::String, dir: ::String, number_of_workers: T.nilable(::Integer)).void }
2635
2570
  def index_rbis(index, kind, dir, number_of_workers:); end
2636
2571
 
2637
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#65
2572
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#60
2638
2573
  sig { params(loc: ::RBI::Loc, path_prefix: T.nilable(::String)).returns(::String) }
2639
2574
  def location_to_payload_url(loc, path_prefix:); end
2640
2575
 
2641
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#86
2576
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#72
2642
2577
  sig do
2643
2578
  params(
2644
2579
  command: ::String,
@@ -2653,27 +2588,11 @@ module Tapioca::RBIFilesHelper
2653
2588
 
2654
2589
  private
2655
2590
 
2656
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#223
2657
- sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) }
2658
- def extract_empty_scopes(nodes); end
2659
-
2660
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#228
2591
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#250
2661
2592
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2662
2593
  def extract_methods_and_attrs(nodes); end
2663
2594
 
2664
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#238
2665
- sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) }
2666
- def extract_mixins(nodes); end
2667
-
2668
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#248
2669
- sig do
2670
- params(
2671
- nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)]
2672
- ).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)])
2673
- end
2674
- def extract_nodes_with_sigs(nodes); end
2675
-
2676
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#216
2595
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#243
2677
2596
  sig do
2678
2597
  params(
2679
2598
  nodes: T::Array[::RBI::Node],
@@ -2683,30 +2602,44 @@ module Tapioca::RBIFilesHelper
2683
2602
  end
2684
2603
  def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2685
2604
 
2686
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#280
2605
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#287
2687
2606
  sig { params(path: ::String).returns(::String) }
2688
2607
  def gem_name_from_rbi_path(path); end
2689
2608
 
2690
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#155
2609
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#211
2610
+ sig { params(nodes: T::Array[::RBI::Node], shims_or_todos: T::Array[::RBI::Node]).returns(T::Boolean) }
2611
+ def has_duplicated_methods_and_attrs?(nodes, shims_or_todos); end
2612
+
2613
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#203
2614
+ sig { params(shims_or_todos: T::Array[::RBI::Node]).returns(T::Boolean) }
2615
+ def has_duplicated_mixins?(shims_or_todos); end
2616
+
2617
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#175
2618
+ sig { params(all_nodes: T::Array[::RBI::Node], shims_or_todos: T::Array[::RBI::Node]).returns(T::Boolean) }
2619
+ def has_duplicated_scopes?(all_nodes, shims_or_todos); end
2620
+
2621
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#141
2691
2622
  sig { params(index: ::RBI::Index, files: T::Array[::String], number_of_workers: T.nilable(::Integer)).void }
2692
2623
  def parse_and_index_files(index, files, number_of_workers:); end
2693
2624
 
2694
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#171
2625
+ # Do the list of `nodes` sharing the same name have duplicates?
2626
+ #
2627
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#158
2695
2628
  sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2696
2629
  def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2697
2630
 
2698
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#253
2631
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#260
2699
2632
  sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2700
2633
  def update_gem_rbis_strictnesses(errors, gem_dir); end
2701
2634
  end
2702
2635
 
2703
2636
  # source://tapioca//lib/tapioca/rbi_formatter.rb#5
2704
2637
  class Tapioca::RBIFormatter < ::RBI::Formatter
2705
- # source://tapioca//lib/tapioca/rbi_formatter.rb#24
2638
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#18
2706
2639
  sig { params(file: ::RBI::File).void }
2707
2640
  def write_empty_body_comment!(file); end
2708
2641
 
2709
- # source://tapioca//lib/tapioca/rbi_formatter.rb#15
2642
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#9
2710
2643
  sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void }
2711
2644
  def write_header!(file, command, reason: T.unsafe(nil)); end
2712
2645
  end
@@ -2717,60 +2650,60 @@ module Tapioca::RBIHelper
2717
2650
  extend ::Tapioca::SorbetHelper
2718
2651
  extend ::Tapioca::RBIHelper
2719
2652
 
2720
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#91
2653
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#83
2721
2654
  sig { params(type: ::String).returns(::String) }
2722
2655
  def as_nilable_type(type); end
2723
2656
 
2724
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2657
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#92
2725
2658
  sig { params(type: ::String).returns(::String) }
2726
2659
  def as_non_nilable_type(type); end
2727
2660
 
2728
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#72
2661
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#64
2729
2662
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2730
2663
  def create_block_param(name, type:); end
2731
2664
 
2732
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#62
2665
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#54
2733
2666
  sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2734
2667
  def create_kw_opt_param(name, type:, default:); end
2735
2668
 
2736
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#57
2669
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#49
2737
2670
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2738
2671
  def create_kw_param(name, type:); end
2739
2672
 
2740
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#67
2673
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#59
2741
2674
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2742
2675
  def create_kw_rest_param(name, type:); end
2743
2676
 
2744
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#47
2677
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#39
2745
2678
  sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2746
2679
  def create_opt_param(name, type:, default:); end
2747
2680
 
2748
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#42
2681
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#34
2749
2682
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2750
2683
  def create_param(name, type:); end
2751
2684
 
2752
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#52
2685
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#44
2753
2686
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2754
2687
  def create_rest_param(name, type:); end
2755
2688
 
2756
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#77
2689
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#69
2757
2690
  sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) }
2758
2691
  def create_typed_param(param, type); end
2759
2692
 
2760
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#82
2693
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#74
2761
2694
  sig { params(sig_string: ::String).returns(::String) }
2762
2695
  def sanitize_signature_types(sig_string); end
2763
2696
 
2764
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#109
2697
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#101
2765
2698
  sig { params(name: ::String).returns(T::Boolean) }
2766
2699
  def valid_method_name?(name); end
2767
2700
 
2768
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#114
2701
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#106
2769
2702
  sig { params(name: ::String).returns(T::Boolean) }
2770
2703
  def valid_parameter_name?(name); end
2771
2704
 
2772
2705
  class << self
2773
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#23
2706
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#15
2774
2707
  sig do
2775
2708
  params(
2776
2709
  type: ::String,
@@ -2786,29 +2719,29 @@ end
2786
2719
 
2787
2720
  # source://tapioca//lib/tapioca/repo_index.rb#5
2788
2721
  class Tapioca::RepoIndex
2789
- # source://tapioca//lib/tapioca/repo_index.rb#26
2722
+ # source://tapioca//lib/tapioca/repo_index.rb#24
2790
2723
  sig { void }
2791
2724
  def initialize; end
2792
2725
 
2793
- # source://tapioca//lib/tapioca/repo_index.rb#31
2726
+ # source://tapioca//lib/tapioca/repo_index.rb#29
2794
2727
  sig { params(gem_name: ::String).void }
2795
2728
  def <<(gem_name); end
2796
2729
 
2797
- # source://tapioca//lib/tapioca/repo_index.rb#36
2730
+ # source://tapioca//lib/tapioca/repo_index.rb#34
2798
2731
  sig { returns(T::Enumerable[::String]) }
2799
2732
  def gems; end
2800
2733
 
2801
- # source://tapioca//lib/tapioca/repo_index.rb#41
2734
+ # source://tapioca//lib/tapioca/repo_index.rb#39
2802
2735
  sig { params(gem_name: ::String).returns(T::Boolean) }
2803
2736
  def has_gem?(gem_name); end
2804
2737
 
2805
2738
  class << self
2806
- # source://tapioca//lib/tapioca/repo_index.rb#18
2807
- sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(Tapioca::RepoIndex) }
2739
+ # source://tapioca//lib/tapioca/repo_index.rb#16
2740
+ sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(::Tapioca::RepoIndex) }
2808
2741
  def from_hash(hash); end
2809
2742
 
2810
- # source://tapioca//lib/tapioca/repo_index.rb#13
2811
- sig { params(json: ::String).returns(Tapioca::RepoIndex) }
2743
+ # source://tapioca//lib/tapioca/repo_index.rb#11
2744
+ sig { params(json: ::String).returns(::Tapioca::RepoIndex) }
2812
2745
  def from_json(json); end
2813
2746
  end
2814
2747
  end
@@ -2822,7 +2755,6 @@ module Tapioca::Runtime; end
2822
2755
  # class by iterating through ObjectSpace.
2823
2756
  module Tapioca::Runtime::AttachedClassOf
2824
2757
  # source://tapioca//lib/tapioca/runtime/attached_class_of_32.rb#14
2825
- sig { params(singleton_class: ::Class).returns(T.nilable(::Module)) }
2826
2758
  def attached_class_of(singleton_class); end
2827
2759
  end
2828
2760
 
@@ -2831,65 +2763,54 @@ class Tapioca::Runtime::DynamicMixinCompiler
2831
2763
  include ::Tapioca::Runtime::AttachedClassOf
2832
2764
  include ::Tapioca::Runtime::Reflection
2833
2765
 
2766
+ # @return [DynamicMixinCompiler] a new instance of DynamicMixinCompiler
2767
+ #
2834
2768
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#20
2835
- sig { params(constant: ::Module).void }
2836
2769
  def initialize(constant); end
2837
2770
 
2838
- # @return [Array<Symbol>]
2839
- #
2840
2771
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2841
2772
  def class_attribute_predicates; end
2842
2773
 
2843
2774
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2844
- sig { returns(T::Array[::Symbol]) }
2845
2775
  def class_attribute_readers; end
2846
2776
 
2847
- # @return [Array<Symbol>]
2848
- #
2849
2777
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2850
2778
  def class_attribute_writers; end
2851
2779
 
2852
2780
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#137
2853
- sig { params(tree: ::RBI::Tree).void }
2854
2781
  def compile_class_attributes(tree); end
2855
2782
 
2856
2783
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#180
2857
- sig { params(tree: ::RBI::Tree).returns([T::Array[::Module], T::Array[::Module]]) }
2858
2784
  def compile_mixes_in_class_methods(tree); end
2859
2785
 
2860
2786
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11
2861
- sig { returns(T::Array[::Module]) }
2862
2787
  def dynamic_extends; end
2863
2788
 
2864
- # @return [Array<Module>]
2865
- #
2866
2789
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11
2867
2790
  def dynamic_includes; end
2868
2791
 
2792
+ # @return [Boolean]
2793
+ #
2869
2794
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#132
2870
- sig { returns(T::Boolean) }
2871
2795
  def empty_attributes?; end
2872
2796
 
2797
+ # @return [Boolean]
2798
+ #
2873
2799
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#222
2874
- sig { params(qualified_mixin_name: ::String).returns(T::Boolean) }
2875
2800
  def filtered_mixin?(qualified_mixin_name); end
2876
2801
 
2877
- # @return [Array<Symbol>]
2878
- #
2879
2802
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2880
2803
  def instance_attribute_predicates; end
2881
2804
 
2882
2805
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2883
- sig { returns(T::Array[::Symbol]) }
2884
2806
  def instance_attribute_readers; end
2885
2807
 
2886
- # @return [Array<Symbol>]
2887
- #
2888
2808
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2889
2809
  def instance_attribute_writers; end
2890
2810
 
2811
+ # @return [Boolean]
2812
+ #
2891
2813
  # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#215
2892
- sig { params(mod: ::Module, dynamic_extends: T::Array[::Module]).returns(T::Boolean) }
2893
2814
  def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end
2894
2815
  end
2895
2816
 
@@ -2914,12 +2835,12 @@ end
2914
2835
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#23
2915
2836
  module Tapioca::Runtime::GenericTypeRegistry
2916
2837
  class << self
2917
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#80
2918
- sig { params(instance: ::Object).returns(T::Boolean) }
2838
+ # @return [Boolean]
2839
+ #
2840
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#75
2919
2841
  def generic_type_instance?(instance); end
2920
2842
 
2921
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#85
2922
- sig { params(constant: ::Module).returns(T.nilable(T::Array[::Tapioca::TypeVariableModule])) }
2843
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#80
2923
2844
  def lookup_type_variables(constant); end
2924
2845
 
2925
2846
  # This method is responsible for building the name of the instantiated concrete type
@@ -2934,8 +2855,7 @@ module Tapioca::Runtime::GenericTypeRegistry
2934
2855
  #
2935
2856
  # This method returns the created or cached clone of the constant.
2936
2857
  #
2937
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#65
2938
- sig { params(constant: T.untyped, types: T.untyped).returns(::Module) }
2858
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#60
2939
2859
  def register_type(constant, types); end
2940
2860
 
2941
2861
  # This method is called from intercepted calls to `type_member` and `type_template`.
@@ -2948,34 +2868,32 @@ module Tapioca::Runtime::GenericTypeRegistry
2948
2868
  # Finally, the original `type_variable` is returned from this method, so that the caller
2949
2869
  # can return it from the original methods as well.
2950
2870
  #
2951
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#104
2952
- sig { params(constant: T.untyped, type_variable: ::Tapioca::TypeVariableModule).void }
2871
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#94
2953
2872
  def register_type_variable(constant, type_variable); end
2954
2873
 
2955
2874
  private
2956
2875
 
2957
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#113
2958
- sig { params(constant: ::Module, name: ::String).returns(::Module) }
2876
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#103
2959
2877
  def create_generic_type(constant, name); end
2960
2878
 
2961
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155
2962
- sig { params(constant: T::Class[T.anything]).returns(T::Class[T.anything]) }
2879
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#145
2963
2880
  def create_safe_subclass(constant); end
2964
2881
 
2965
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182
2966
- sig { params(constant: ::Module).returns(T::Array[::Tapioca::TypeVariableModule]) }
2882
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#172
2967
2883
  def lookup_or_initialize_type_variables(constant); end
2968
2884
  end
2969
2885
  end
2970
2886
 
2971
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#34
2887
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#28
2972
2888
  class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
2973
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#38
2974
- sig { params(raw_type: ::Module, underlying_type: ::Module).void }
2889
+ # @return [GenericType] a new instance of GenericType
2890
+ #
2891
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#32
2975
2892
  def initialize(raw_type, underlying_type); end
2976
2893
 
2977
- # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45
2978
- sig { override.params(obj: T.untyped).returns(T::Boolean) }
2894
+ # @return [Boolean]
2895
+ #
2896
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#40
2979
2897
  def valid?(obj); end
2980
2898
  end
2981
2899
 
@@ -2984,34 +2902,32 @@ module Tapioca::Runtime::Reflection
2984
2902
  extend ::Tapioca::Runtime::AttachedClassOf
2985
2903
  extend ::Tapioca::Runtime::Reflection
2986
2904
 
2987
- # source://tapioca//lib/tapioca/runtime/reflection.rb#207
2988
- sig { params(constant: ::Module).returns(T.untyped) }
2905
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#228
2989
2906
  def abstract_type_of(constant); end
2990
2907
 
2991
- # source://tapioca//lib/tapioca/runtime/reflection.rb#77
2992
- sig { params(constant: ::Module).returns(T::Array[::Module]) }
2908
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#75
2993
2909
  def ancestors_of(constant); end
2994
2910
 
2995
- # source://tapioca//lib/tapioca/runtime/reflection.rb#92
2996
- sig { params(object: ::BasicObject, other: ::BasicObject).returns(T::Boolean) }
2911
+ # @return [Boolean]
2912
+ #
2913
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#90
2997
2914
  def are_equal?(object, other); end
2998
2915
 
2999
- # source://tapioca//lib/tapioca/runtime/reflection.rb#56
3000
- sig { params(object: ::BasicObject).returns(T::Class[T.anything]) }
2916
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#54
3001
2917
  def class_of(object); end
3002
2918
 
3003
- # @param constant [BasicObject]
2919
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#179
2920
+ def const_source_location(constant_name); end
2921
+
3004
2922
  # @return [Boolean]
3005
2923
  #
3006
- # source://tapioca//lib/tapioca/runtime/reflection.rb#38
2924
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#41
3007
2925
  def constant_defined?(constant); end
3008
2926
 
3009
- # source://tapioca//lib/tapioca/runtime/reflection.rb#49
3010
- sig { params(symbol: ::String, inherit: T::Boolean, namespace: ::Module).returns(::BasicObject) }
2927
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#47
3011
2928
  def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end
3012
2929
 
3013
- # source://tapioca//lib/tapioca/runtime/reflection.rb#61
3014
- sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2930
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#59
3015
2931
  def constants_of(constant); end
3016
2932
 
3017
2933
  # Returns an array with all classes that are < than the supplied class.
@@ -3028,57 +2944,42 @@ module Tapioca::Runtime::Reflection
3028
2944
  # class D < C; end
3029
2945
  # descendants_of(C) # => [B, A, D]
3030
2946
  #
3031
- # source://tapioca//lib/tapioca/runtime/reflection.rb#172
3032
- sig do
3033
- type_parameters(:U)
3034
- .params(
3035
- klass: T.all(T.type_parameter(:U), T::Class[T.anything])
3036
- ).returns(T::Array[T.type_parameter(:U)])
3037
- end
2947
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#170
3038
2948
  def descendants_of(klass); end
3039
2949
 
3040
- # source://tapioca//lib/tapioca/runtime/reflection.rb#200
3041
- sig { params(constant: ::Module).returns(T::Set[::String]) }
2950
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#221
3042
2951
  def file_candidates_for(constant); end
3043
2952
 
3044
- # source://tapioca//lib/tapioca/runtime/reflection.rb#213
3045
- sig { params(constant: ::Module).returns(T::Boolean) }
2953
+ # @return [Boolean]
2954
+ #
2955
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#234
3046
2956
  def final_module?(constant); end
3047
2957
 
3048
- # source://tapioca//lib/tapioca/runtime/reflection.rb#112
3049
- sig { params(constant: ::Module).returns(T::Array[::Module]) }
2958
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#110
3050
2959
  def inherited_ancestors_of(constant); end
3051
2960
 
3052
- # source://tapioca//lib/tapioca/runtime/reflection.rb#150
3053
- sig { params(constant: ::Module, method: ::Symbol).returns(::Method) }
2961
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#152
3054
2962
  def method_of(constant, method); end
3055
2963
 
3056
- # source://tapioca//lib/tapioca/runtime/reflection.rb#66
3057
- sig { params(constant: ::Module).returns(T.nilable(::String)) }
2964
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#64
3058
2965
  def name_of(constant); end
3059
2966
 
3060
- # source://tapioca//lib/tapioca/runtime/reflection.rb#145
3061
- sig { params(type: ::T::Types::Base).returns(::String) }
2967
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#147
3062
2968
  def name_of_type(type); end
3063
2969
 
3064
- # source://tapioca//lib/tapioca/runtime/reflection.rb#87
3065
- sig { params(object: ::BasicObject).returns(::Integer) }
2970
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#85
3066
2971
  def object_id_of(object); end
3067
2972
 
3068
- # source://tapioca//lib/tapioca/runtime/reflection.rb#107
3069
- sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2973
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#105
3070
2974
  def private_instance_methods_of(constant); end
3071
2975
 
3072
- # source://tapioca//lib/tapioca/runtime/reflection.rb#102
3073
- sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2976
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#100
3074
2977
  def protected_instance_methods_of(constant); end
3075
2978
 
3076
- # source://tapioca//lib/tapioca/runtime/reflection.rb#97
3077
- sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2979
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#95
3078
2980
  def public_instance_methods_of(constant); end
3079
2981
 
3080
- # source://tapioca//lib/tapioca/runtime/reflection.rb#121
3081
- sig { params(constant: ::Module).returns(T.nilable(::String)) }
2982
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#119
3082
2983
  def qualified_name_of(constant); end
3083
2984
 
3084
2985
  # Examines the call stack to identify the closest location where a "require" is performed
@@ -3086,110 +2987,128 @@ module Tapioca::Runtime::Reflection
3086
2987
  # case of an ActiveSupport.on_load hook. If none is found, it returns the location
3087
2988
  # labeled "<main>", which is the original call site.
3088
2989
  #
3089
- # source://tapioca//lib/tapioca/runtime/reflection.rb#185
3090
- sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
2990
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#192
3091
2991
  def resolve_loc(locations); end
3092
2992
 
3093
- # source://tapioca//lib/tapioca/runtime/reflection.rb#218
3094
- sig { params(constant: ::Module).returns(T::Boolean) }
2993
+ # @return [Boolean]
2994
+ #
2995
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#239
3095
2996
  def sealed_module?(constant); end
3096
2997
 
3097
- # source://tapioca//lib/tapioca/runtime/reflection.rb#138
3098
- sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
2998
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#140
3099
2999
  def signature_of(method); end
3100
3000
 
3101
3001
  # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3102
- sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3103
3002
  def signature_of!(method); end
3104
3003
 
3105
- # source://tapioca//lib/tapioca/runtime/reflection.rb#72
3106
- sig { params(constant: ::Module).returns(T::Class[T.anything]) }
3004
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#70
3107
3005
  def singleton_class_of(constant); end
3108
3006
 
3109
- # source://tapioca//lib/tapioca/runtime/reflection.rb#82
3110
- sig { params(constant: T::Class[T.anything]).returns(T.nilable(T::Class[T.anything])) }
3007
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#80
3111
3008
  def superclass_of(constant); end
3112
3009
 
3113
3010
  private
3114
3011
 
3115
- # source://tapioca//lib/tapioca/runtime/reflection.rb#255
3116
- sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
3012
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#276
3117
3013
  def child_module_for_parent_with_name(parent, name); end
3118
3014
 
3119
- # source://tapioca//lib/tapioca/runtime/reflection.rb#271
3120
- sig { params(name: ::String).returns(T::Boolean) }
3015
+ # @return [Boolean]
3016
+ #
3017
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#292
3121
3018
  def has_aliased_namespace?(name); end
3122
3019
 
3123
- # source://tapioca//lib/tapioca/runtime/reflection.rb#266
3124
- sig { params(method: ::UnboundMethod).returns(T::Boolean) }
3020
+ # @return [Boolean]
3021
+ #
3022
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#287
3125
3023
  def method_defined_by_forwardable_module?(method); end
3126
3024
 
3127
- # source://tapioca//lib/tapioca/runtime/reflection.rb#241
3128
- sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3025
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#262
3129
3026
  def methods_for(constant); end
3130
3027
 
3131
- # source://tapioca//lib/tapioca/runtime/reflection.rb#225
3132
- sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3028
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#246
3133
3029
  def relevant_methods_for(constant); end
3134
3030
  end
3135
3031
 
3136
- # source://tapioca//lib/tapioca/runtime/reflection.rb#25
3032
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#27
3137
3033
  Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3138
3034
 
3139
- # source://tapioca//lib/tapioca/runtime/reflection.rb#21
3035
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#23
3140
3036
  Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3141
3037
 
3142
- # source://tapioca//lib/tapioca/runtime/reflection.rb#22
3038
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#24
3143
3039
  Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3144
3040
 
3145
- # source://tapioca//lib/tapioca/runtime/reflection.rb#28
3041
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#30
3146
3042
  Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3147
3043
 
3148
- # source://tapioca//lib/tapioca/runtime/reflection.rb#32
3044
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#34
3149
3045
  Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3150
3046
 
3151
- # source://tapioca//lib/tapioca/runtime/reflection.rb#23
3047
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#25
3152
3048
  Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3153
3049
 
3154
- # source://tapioca//lib/tapioca/runtime/reflection.rb#27
3050
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#29
3155
3051
  Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3156
3052
 
3157
- # source://tapioca//lib/tapioca/runtime/reflection.rb#31
3053
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#33
3158
3054
  Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3159
3055
 
3160
- # source://tapioca//lib/tapioca/runtime/reflection.rb#30
3056
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#32
3161
3057
  Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3162
3058
 
3163
- # source://tapioca//lib/tapioca/runtime/reflection.rb#29
3059
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#31
3164
3060
  Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3165
3061
 
3166
- # source://tapioca//lib/tapioca/runtime/reflection.rb#35
3062
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#37
3167
3063
  Tapioca::Runtime::Reflection::REQUIRED_FROM_LABELS = T.let(T.unsafe(nil), Array)
3168
3064
 
3169
- # source://tapioca//lib/tapioca/runtime/reflection.rb#24
3065
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#26
3170
3066
  Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3171
3067
 
3172
- # source://tapioca//lib/tapioca/runtime/reflection.rb#26
3068
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#28
3173
3069
  Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3174
3070
 
3071
+ class Tapioca::Runtime::Reflection::SignatureBlockError < ::Tapioca::Error; end
3072
+
3073
+ class Tapioca::Runtime::SourceLocation
3074
+ # @return [SourceLocation] a new instance of SourceLocation
3075
+ #
3076
+ # source://tapioca//lib/tapioca/runtime/source_location.rb#18
3077
+ def initialize(file:, line:); end
3078
+
3079
+ # source://tapioca//lib/tapioca/runtime/source_location.rb#13
3080
+ def file; end
3081
+
3082
+ # source://tapioca//lib/tapioca/runtime/source_location.rb#16
3083
+ def line; end
3084
+
3085
+ class << self
3086
+ # source://tapioca//lib/tapioca/runtime/source_location.rb#38
3087
+ def from_loc(loc); end
3088
+
3089
+ private
3090
+
3091
+ def new(*_arg0); end
3092
+ end
3093
+ end
3094
+
3095
+ # this looks something like:
3096
+ # "(eval at /path/to/file.rb:123)"
3097
+ # and we are interested in the "/path/to/file.rb" and "123" parts
3098
+ #
3099
+ # source://tapioca//lib/tapioca/runtime/source_location.rb#10
3100
+ Tapioca::Runtime::SourceLocation::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
3101
+
3175
3102
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#6
3176
3103
  module Tapioca::Runtime::Trackers
3177
3104
  class << self
3178
- # source://tapioca//lib/tapioca/runtime/trackers.rb#34
3179
- sig { void }
3105
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#30
3180
3106
  def disable_all!; end
3181
3107
 
3182
- # source://tapioca//lib/tapioca/runtime/trackers.rb#39
3183
- sig { params(tracker: ::Tapioca::Runtime::Trackers::Tracker).void }
3108
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#35
3184
3109
  def register_tracker(tracker); end
3185
3110
 
3186
- # source://tapioca//lib/tapioca/runtime/trackers.rb#21
3187
- sig do
3188
- type_parameters(:Return)
3189
- .params(
3190
- blk: T.proc.returns(T.type_parameter(:Return))
3191
- ).returns(T.type_parameter(:Return))
3192
- end
3111
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#17
3193
3112
  def with_trackers_enabled(&blk); end
3194
3113
  end
3195
3114
  end
@@ -3200,20 +3119,12 @@ module Tapioca::Runtime::Trackers::Autoload
3200
3119
 
3201
3120
  class << self
3202
3121
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#19
3203
- sig { void }
3204
3122
  def eager_load_all!; end
3205
3123
 
3206
3124
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#31
3207
- sig { params(constant_name: ::String).void }
3208
3125
  def register(constant_name); end
3209
3126
 
3210
- # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#42
3211
- sig do
3212
- type_parameters(:Result)
3213
- .params(
3214
- block: T.proc.returns(T.type_parameter(:Result))
3215
- ).returns(T.type_parameter(:Result))
3216
- end
3127
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#38
3217
3128
  def with_disabled_exits(&block); end
3218
3129
  end
3219
3130
  end
@@ -3232,7 +3143,7 @@ module Tapioca::Runtime::Trackers::ConstantDefinition
3232
3143
 
3233
3144
  class << self
3234
3145
  # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#61
3235
- def build_constant_location(tp, locations); end
3146
+ def build_source_location(tp, locations); end
3236
3147
 
3237
3148
  # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#55
3238
3149
  def disable!; end
@@ -3241,71 +3152,57 @@ module Tapioca::Runtime::Trackers::ConstantDefinition
3241
3152
  # about situations where the class was opened prior to +require+ing,
3242
3153
  # or where metaprogramming was used via +eval+, etc.
3243
3154
  #
3244
- # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#71
3155
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#74
3245
3156
  def files_for(klass); end
3246
3157
 
3247
- # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#75
3158
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#79
3248
3159
  def locations_for(klass); end
3249
3160
  end
3250
3161
  end
3251
3162
 
3163
+ # source://tapioca//lib/tapioca/runtime/trackers/method_definition.rb#7
3164
+ module Tapioca::Runtime::Trackers::MethodDefinition
3165
+ extend ::Tapioca::Runtime::Trackers::Tracker
3166
+
3167
+ class << self
3168
+ # source://tapioca//lib/tapioca/runtime/trackers/method_definition.rb#29
3169
+ def method_definitions_for(method_name, owner); end
3170
+
3171
+ # source://tapioca//lib/tapioca/runtime/trackers/method_definition.rb#15
3172
+ def register(method_name, owner, locations); end
3173
+
3174
+ private
3175
+
3176
+ # source://tapioca//lib/tapioca/runtime/trackers/method_definition.rb#43
3177
+ def registrations_for(method_name, owner); end
3178
+ end
3179
+ end
3180
+
3252
3181
  module Tapioca::Runtime::Trackers::Mixin
3253
3182
  extend ::Tapioca::Runtime::Trackers::Tracker
3254
3183
 
3255
3184
  class << self
3256
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#56
3257
- sig do
3258
- params(
3259
- mixin: ::Module
3260
- ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]])
3261
- end
3185
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#53
3262
3186
  def constants_with_mixin(mixin); end
3263
3187
 
3264
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#61
3265
- sig do
3266
- params(
3267
- mixin: ::Module,
3268
- mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type,
3269
- constant: ::Module
3270
- ).returns(T.nilable(::String))
3271
- end
3188
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#58
3272
3189
  def mixin_location(mixin, mixin_type, constant); end
3273
3190
 
3274
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#35
3275
- sig { params(constant: ::Module, mixin: ::Module, mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type).void }
3191
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#31
3276
3192
  def register(constant, mixin, mixin_type); end
3277
3193
 
3278
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#43
3194
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#40
3279
3195
  def resolve_to_attached_class(constant, mixin, mixin_type); end
3280
3196
 
3281
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#30
3282
- sig do
3283
- type_parameters(:Result)
3284
- .params(
3285
- block: T.proc.returns(T.type_parameter(:Result))
3286
- ).returns(T.type_parameter(:Result))
3287
- end
3197
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#26
3288
3198
  def with_disabled_registration(&block); end
3289
3199
 
3290
3200
  private
3291
3201
 
3292
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#76
3293
- sig do
3294
- params(
3295
- mixin: ::Module
3296
- ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]])
3297
- end
3202
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#73
3298
3203
  def find_or_initialize_mixin_lookup(mixin); end
3299
3204
 
3300
- # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#68
3301
- sig do
3302
- params(
3303
- constant: ::Module,
3304
- mixin: ::Module,
3305
- mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type,
3306
- location: ::String
3307
- ).void
3308
- end
3205
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#65
3309
3206
  def register_with_location(constant, mixin, mixin_type, location); end
3310
3207
  end
3311
3208
  end
@@ -3324,109 +3221,102 @@ module Tapioca::Runtime::Trackers::RequiredAncestor
3324
3221
 
3325
3222
  class << self
3326
3223
  # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#15
3327
- sig { params(requiring: ::T::Helpers, block: T.proc.void).void }
3328
3224
  def register(requiring, block); end
3329
3225
 
3330
3226
  # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#23
3331
- sig { params(mod: ::Module).returns(T::Array[T.proc.void]) }
3332
3227
  def required_ancestors_blocks_by(mod); end
3333
3228
 
3334
3229
  # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#28
3335
- sig { params(mod: ::Module).returns(T::Array[T.untyped]) }
3336
3230
  def required_ancestors_by(mod); end
3337
3231
  end
3338
3232
  end
3339
3233
 
3340
- # @abstract Subclasses must implement the `abstract` methods below.
3234
+ # @abstract
3341
3235
  module Tapioca::Runtime::Trackers::Tracker
3342
- abstract!
3343
-
3344
- # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#26
3345
- sig { void }
3236
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#23
3346
3237
  def disable!; end
3347
3238
 
3348
3239
  # @return [Boolean]
3349
3240
  #
3350
- # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#30
3241
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#27
3351
3242
  def enabled?; end
3352
3243
 
3353
- # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#34
3244
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#31
3354
3245
  def with_disabled_tracker(&block); end
3355
3246
 
3356
3247
  class << self
3357
- # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#17
3358
- sig { params(base: T.all(::Module, ::Tapioca::Runtime::Trackers::Tracker)).void }
3248
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#14
3359
3249
  def extended(base); end
3360
3250
  end
3361
3251
  end
3362
3252
 
3363
- # source://tapioca//lib/tapioca.rb#35
3253
+ # source://tapioca//lib/tapioca.rb#31
3364
3254
  Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
3365
3255
 
3366
- # source://tapioca//lib/tapioca.rb#34
3256
+ # source://tapioca//lib/tapioca.rb#30
3367
3257
  Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3368
3258
 
3369
3259
  # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
3370
3260
  module Tapioca::SorbetHelper
3371
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#32
3261
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#23
3372
3262
  sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
3373
3263
  def sorbet(*sorbet_args); end
3374
3264
 
3375
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#37
3265
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#28
3376
3266
  sig { returns(::String) }
3377
3267
  def sorbet_path; end
3378
3268
 
3379
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#44
3269
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#35
3380
3270
  sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
3381
3271
  def sorbet_supports?(feature, version: T.unsafe(nil)); end
3382
3272
  end
3383
3273
 
3384
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#24
3274
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#18
3385
3275
  Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash)
3386
3276
 
3387
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#13
3277
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#10
3388
3278
  Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname)
3389
3279
 
3390
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#18
3280
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#12
3391
3281
  Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String)
3392
3282
 
3393
3283
  # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#8
3394
3284
  Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification)
3395
3285
 
3396
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#20
3286
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#14
3397
3287
  Tapioca::SorbetHelper::SORBET_PAYLOAD_URL = T.let(T.unsafe(nil), String)
3398
3288
 
3399
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#22
3289
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#16
3400
3290
  Tapioca::SorbetHelper::SPOOM_CONTEXT = T.let(T.unsafe(nil), Spoom::Context)
3401
3291
 
3402
3292
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3403
3293
  class Tapioca::SourceURI < ::URI::File
3404
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#72
3294
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#62
3405
3295
  sig { params(v: T.nilable(::String)).returns(T::Boolean) }
3406
3296
  def check_host(v); end
3407
3297
 
3408
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#55
3298
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#45
3409
3299
  sig { returns(T.nilable(::String)) }
3410
3300
  def gem_name; end
3411
3301
 
3412
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#29
3302
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#26
3413
3303
  sig { returns(T.nilable(::String)) }
3414
3304
  def gem_version; end
3415
3305
 
3416
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#60
3306
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#50
3417
3307
  sig { returns(T.nilable(::String)) }
3418
3308
  def line_number; end
3419
3309
 
3420
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#65
3310
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#55
3421
3311
  sig { params(v: T.nilable(::String)).void }
3422
3312
  def set_path(v); end
3423
3313
 
3424
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#84
3314
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#74
3425
3315
  sig { returns(::String) }
3426
3316
  def to_s; end
3427
3317
 
3428
3318
  class << self
3429
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#42
3319
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#32
3430
3320
  sig do
3431
3321
  params(
3432
3322
  gem_name: ::String,
@@ -3448,7 +3338,7 @@ Tapioca::SourceURI::COMPONENT = T.let(T.unsafe(nil), Array)
3448
3338
  # handling to select a parser that doesn't emit deprecations. While it was backported to Ruby 3.1, users may
3449
3339
  # have the uri gem in their own bundle and thus not use a compatible version.
3450
3340
  #
3451
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#26
3341
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#23
3452
3342
  Tapioca::SourceURI::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
3453
3343
 
3454
3344
  # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#5
@@ -3508,12 +3398,10 @@ module Tapioca::Static::SymbolLoader
3508
3398
 
3509
3399
  private
3510
3400
 
3511
- # @return [Array<T.class_of(Rails::Engine)>]
3512
- #
3513
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#71
3401
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#72
3514
3402
  def engines; end
3515
3403
 
3516
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#84
3404
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
3517
3405
  sig { params(input: ::String, table_type: ::String).returns(::String) }
3518
3406
  def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
3519
3407
  end
@@ -3547,10 +3435,10 @@ end
3547
3435
  # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9
3548
3436
  Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3549
3437
 
3550
- # source://tapioca//lib/tapioca.rb#37
3438
+ # source://tapioca//lib/tapioca.rb#33
3551
3439
  Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3552
3440
 
3553
- # source://tapioca//lib/tapioca.rb#36
3441
+ # source://tapioca//lib/tapioca.rb#32
3554
3442
  Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3555
3443
 
3556
3444
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
@@ -3574,41 +3462,31 @@ end
3574
3462
  #
3575
3463
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3576
3464
  class Tapioca::TypeVariableModule < ::Module
3577
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#146
3578
- sig do
3579
- params(
3580
- context: ::Module,
3581
- type: ::Tapioca::TypeVariableModule::Type,
3582
- variance: ::Symbol,
3583
- bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3584
- ).void
3585
- end
3465
+ # @return [TypeVariableModule] a new instance of TypeVariableModule
3466
+ #
3467
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#139
3586
3468
  def initialize(context, type, variance, bounds_proc); end
3587
3469
 
3588
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#181
3589
- sig { returns(::Tapioca::TypeVariable) }
3470
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#175
3590
3471
  def coerce_to_type_variable; end
3591
3472
 
3592
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#161
3593
- sig { returns(T::Boolean) }
3473
+ # @return [Boolean]
3474
+ #
3475
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155
3594
3476
  def fixed?; end
3595
3477
 
3596
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155
3597
- sig { returns(T.nilable(::String)) }
3478
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#149
3598
3479
  def name; end
3599
3480
 
3600
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#166
3601
- sig { returns(::String) }
3481
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#160
3602
3482
  def serialize; end
3603
3483
 
3604
3484
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3605
- sig { returns(::Tapioca::TypeVariableModule::Type) }
3606
3485
  def type; end
3607
3486
 
3608
3487
  private
3609
3488
 
3610
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#188
3611
- sig { returns(T::Hash[::Symbol, T.untyped]) }
3489
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#182
3612
3490
  def bounds; end
3613
3491
  end
3614
3492