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