sorbet-result 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.standard.yml +6 -0
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +21 -0
  6. data/Gemfile +3 -5
  7. data/Gemfile.lock +79 -64
  8. data/README.md +25 -2
  9. data/Rakefile +3 -5
  10. data/lib/minitest/result_assertions.rb +48 -0
  11. data/lib/sorbet-result.rb +1 -5
  12. data/lib/typed/result.rb +199 -7
  13. data/sorbet/rbi/gems/.gitattributes +1 -0
  14. data/sorbet/rbi/gems/ast@2.4.2.rbi +1 -0
  15. data/sorbet/rbi/gems/erubi@1.13.0.rbi +150 -0
  16. data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +1 -0
  17. data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.5.rbi} +168 -72
  18. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
  19. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  20. data/sorbet/rbi/gems/{minitest@5.18.1.rbi → minitest@5.25.1.rbi} +337 -282
  21. data/sorbet/rbi/gems/netrc@0.11.0.rbi +1 -0
  22. data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.26.3.rbi} +38 -20
  23. data/sorbet/rbi/gems/{parser@3.2.2.3.rbi → parser@3.3.5.1.rbi} +663 -2397
  24. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  25. data/sorbet/rbi/gems/psych@5.1.2.rbi +1732 -0
  26. data/sorbet/rbi/gems/{racc@1.7.1.rbi → racc@1.8.1.rbi} +37 -36
  27. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +1 -0
  28. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.2.1.rbi} +79 -75
  29. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  30. data/sorbet/rbi/gems/{regexp_parser@2.8.1.rbi → regexp_parser@2.9.2.rbi} +190 -167
  31. data/sorbet/rbi/gems/{reline@0.3.5.rbi → reline@0.5.10.rbi} +1 -0
  32. data/sorbet/rbi/gems/{rubocop-ast@1.29.0.rbi → rubocop-ast@1.33.1.rbi} +1220 -748
  33. data/sorbet/rbi/gems/rubocop-performance@1.22.1.rbi +9 -0
  34. data/sorbet/rbi/gems/rubocop-sorbet@0.7.8.rbi +9 -0
  35. data/sorbet/rbi/gems/{rubocop@1.52.1.rbi → rubocop@1.66.1.rbi} +6236 -3446
  36. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1 -0
  37. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  38. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +9 -0
  39. data/sorbet/rbi/gems/standard-performance@1.5.0.rbi +9 -0
  40. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +53 -0
  41. data/sorbet/rbi/gems/standard@1.41.1.rbi +926 -0
  42. data/sorbet/rbi/gems/stringio@3.1.1.rbi +9 -0
  43. data/sorbet/rbi/gems/{tapioca@0.11.6.rbi → tapioca@0.16.3.rbi} +937 -635
  44. data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.2.rbi} +832 -419
  45. data/sorbet/rbi/gems/{unicode-display_width@2.4.2.rbi → unicode-display_width@2.6.0.rbi} +1 -0
  46. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  47. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.37.rbi} +431 -271
  48. data/sorbet/tapioca/config.yml +3 -12
  49. data/sorbet/tapioca/require.rb +0 -1
  50. metadata +37 -47
  51. data/.rubocop.yml +0 -33
  52. data/lib/typed/failure.rb +0 -81
  53. data/lib/typed/success.rb +0 -80
  54. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
  55. data/sorbet/rbi/gems/irb@1.7.0.rbi +0 -342
  56. data/sorbet/rbi/gems/rbi@0.0.16.rbi +0 -3008
  57. data/sorbet/rbi/gems/rexml@3.2.5.rbi +0 -4717
  58. data/sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi +0 -2528
  59. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -328
  60. data/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi +0 -1043
  61. data/sorbet/rbi/gems/spoom@1.2.1.rbi +0 -2503
  62. data/sorbet/rbi/gems/unparser@0.6.8.rbi +0 -4525
  63. data/sorbet/rbi/gems/zeitwerk@2.6.8.rbi +0 -986
@@ -1,11 +1,31 @@
1
- # typed: false
1
+ # typed: true
2
2
 
3
3
  # DO NOT EDIT MANUALLY
4
4
  # This is an autogenerated file for types exported from the `tapioca` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem tapioca`.
6
6
 
7
+
7
8
  class Bundler::Dependency < ::Gem::Dependency
8
- include ::Tapioca::Gemfile::AutoRequireHook
9
+ include ::Tapioca::BundlerExt::AutoRequireHook
10
+ end
11
+
12
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#4
13
+ class GitAttributes
14
+ class << self
15
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#9
16
+ sig { params(path: ::Pathname).void }
17
+ def create_generated_attribute_file(path); end
18
+
19
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#16
20
+ sig { params(path: ::Pathname).void }
21
+ def create_vendored_attribute_file(path); end
22
+
23
+ private
24
+
25
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#25
26
+ sig { params(path: ::Pathname, content: ::String).void }
27
+ def create_gitattributes_file(path, content); end
28
+ end
9
29
  end
10
30
 
11
31
  # We need to do the alias-method-chain dance since Bootsnap does the same,
@@ -35,7 +55,7 @@ module RBI; end
35
55
 
36
56
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
37
57
  class RBI::Tree < ::RBI::NodeWithComments
38
- # source://rbi/0.0.16/lib/rbi/model.rb#115
58
+ # source://rbi/0.2.1/lib/rbi/model.rb#121
39
59
  sig do
40
60
  params(
41
61
  loc: T.nilable(::RBI::Loc),
@@ -45,19 +65,15 @@ class RBI::Tree < ::RBI::NodeWithComments
45
65
  end
46
66
  def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
47
67
 
48
- # source://rbi/0.0.16/lib/rbi/model.rb#122
68
+ # source://rbi/0.2.1/lib/rbi/model.rb#128
49
69
  sig { params(node: ::RBI::Node).void }
50
70
  def <<(node); end
51
71
 
52
- # source://rbi/0.0.16/lib/rbi/printer.rb#224
53
- sig { override.params(v: ::RBI::Printer).void }
54
- def accept_printer(v); end
55
-
56
- # source://rbi/0.0.16/lib/rbi/rewriters/add_sig_templates.rb#66
72
+ # source://rbi/0.2.1/lib/rbi/rewriters/add_sig_templates.rb#66
57
73
  sig { params(with_todo_comment: T::Boolean).void }
58
74
  def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
59
75
 
60
- # source://rbi/0.0.16/lib/rbi/rewriters/annotate.rb#48
76
+ # source://rbi/0.2.1/lib/rbi/rewriters/annotate.rb#49
61
77
  sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
62
78
  def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
63
79
 
@@ -83,18 +99,19 @@ class RBI::Tree < ::RBI::NodeWithComments
83
99
  sig { params(name: ::String).void }
84
100
  def create_include(name); end
85
101
 
86
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#89
102
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#90
87
103
  sig do
88
104
  params(
89
105
  name: ::String,
90
106
  parameters: T::Array[::RBI::TypedParam],
91
- return_type: ::String,
107
+ return_type: T.nilable(::String),
92
108
  class_method: T::Boolean,
93
109
  visibility: ::RBI::Visibility,
94
- comments: T::Array[::RBI::Comment]
110
+ comments: T::Array[::RBI::Comment],
111
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
95
112
  ).void
96
113
  end
97
- def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
114
+ 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
98
115
 
99
116
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#60
100
117
  sig { params(name: ::String).void }
@@ -121,23 +138,35 @@ class RBI::Tree < ::RBI::NodeWithComments
121
138
  end
122
139
  def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
123
140
 
124
- # source://rbi/0.0.16/lib/rbi/rewriters/deannotate.rb#40
141
+ # source://rbi/0.2.1/lib/rbi/rewriters/deannotate.rb#41
125
142
  sig { params(annotation: ::String).void }
126
143
  def deannotate!(annotation); end
127
144
 
128
- # source://rbi/0.0.16/lib/rbi/model.rb#128
145
+ # source://rbi/0.2.1/lib/rbi/model.rb#134
129
146
  sig { returns(T::Boolean) }
130
147
  def empty?; end
131
148
 
132
- # source://rbi/0.0.16/lib/rbi/rewriters/group_nodes.rb#38
149
+ # source://rbi/0.2.1/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.2.1/lib/rbi/rewriters/flatten_singleton_methods.rb#60
154
+ sig { void }
155
+ def flatten_singleton_methods!; end
156
+
157
+ # source://rbi/0.2.1/lib/rbi/rewriters/flatten_visibilities.rb#60
158
+ sig { void }
159
+ def flatten_visibilities!; end
160
+
161
+ # source://rbi/0.2.1/lib/rbi/rewriters/group_nodes.rb#81
133
162
  sig { void }
134
163
  def group_nodes!; end
135
164
 
136
- # source://rbi/0.0.16/lib/rbi/index.rb#64
165
+ # source://rbi/0.2.1/lib/rbi/index.rb#68
137
166
  sig { returns(::RBI::Index) }
138
167
  def index; end
139
168
 
140
- # source://rbi/0.0.16/lib/rbi/rewriters/merge_trees.rb#318
169
+ # source://rbi/0.2.1/lib/rbi/rewriters/merge_trees.rb#324
141
170
  sig do
142
171
  params(
143
172
  other: ::RBI::Tree,
@@ -148,58 +177,67 @@ class RBI::Tree < ::RBI::NodeWithComments
148
177
  end
149
178
  def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
150
179
 
151
- # source://rbi/0.0.16/lib/rbi/rewriters/nest_non_public_methods.rb#45
180
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_non_public_members.rb#46
152
181
  sig { void }
153
- def nest_non_public_methods!; end
182
+ def nest_non_public_members!; end
154
183
 
155
- # source://rbi/0.0.16/lib/rbi/rewriters/nest_singleton_methods.rb#35
184
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_singleton_methods.rb#36
156
185
  sig { void }
157
186
  def nest_singleton_methods!; end
158
187
 
159
- # source://rbi/0.0.16/lib/rbi/model.rb#106
188
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_top_level_members.rb#63
189
+ sig { void }
190
+ def nest_top_level_members!; end
191
+
192
+ # source://rbi/0.2.1/lib/rbi/model.rb#112
160
193
  sig { returns(T::Array[::RBI::Node]) }
161
194
  def nodes; end
162
195
 
163
- # source://rbi/0.0.16/lib/rbi/printer.rb#231
164
- sig { override.returns(T::Boolean) }
165
- def oneline?; end
196
+ # source://rbi/0.2.1/lib/rbi/rewriters/attr_to_methods.rb#53
197
+ sig { void }
198
+ def replace_attributes_with_methods!; end
166
199
 
167
- # source://rbi/0.0.16/lib/rbi/rewriters/sort_nodes.rb#107
200
+ # source://rbi/0.2.1/lib/rbi/rewriters/sort_nodes.rb#119
168
201
  sig { void }
169
202
  def sort_nodes!; end
170
203
 
171
204
  private
172
205
 
173
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#116
206
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#123
174
207
  sig { params(node: ::RBI::Node).returns(::RBI::Node) }
175
208
  def create_node(node); end
176
209
 
177
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#111
210
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#118
178
211
  sig { returns(T::Hash[::String, ::RBI::Node]) }
179
212
  def nodes_cache; end
180
213
  end
181
214
 
182
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#126
215
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#133
183
216
  class RBI::TypedParam < ::T::Struct
184
217
  const :param, ::RBI::Param
185
218
  const :type, ::String
186
219
 
187
220
  class << self
188
- # source://sorbet-runtime/0.5.10832/lib/types/struct.rb#13
221
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
189
222
  def inherited(s); end
190
223
  end
191
224
  end
192
225
 
193
226
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
194
227
  module T::Generic
228
+ include ::Kernel
229
+
195
230
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
196
231
  def [](*types); end
197
232
 
233
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
234
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
235
+
198
236
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
199
- def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
237
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
200
238
 
201
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37
202
- def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
239
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
240
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
203
241
  end
204
242
 
205
243
  # This module intercepts calls to generic type instantiations and type variable definitions.
@@ -214,11 +252,14 @@ module T::Generic::TypeStoragePatch
214
252
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
215
253
  def [](*types); end
216
254
 
255
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
256
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
257
+
217
258
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
218
- def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
259
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
219
260
 
220
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37
221
- def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
261
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
262
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
222
263
  end
223
264
 
224
265
  # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28
@@ -302,18 +343,18 @@ end
302
343
 
303
344
  # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#6
304
345
  class T::Types::Simple < ::T::Types::Base
305
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
346
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
306
347
  def name; end
307
348
  end
308
349
 
309
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#59
350
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#65
310
351
  module T::Types::Simple::GenericPatch
311
352
  # This method intercepts calls to the `name` method for simple types, so that
312
353
  # it can ask the name to the type if the type is generic, since, by this point,
313
354
  # we've created a clone of that type with the `name` method returning the
314
355
  # appropriate name for that specific concrete type.
315
356
  #
316
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
357
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
317
358
  def name; end
318
359
  end
319
360
 
@@ -329,24 +370,24 @@ end
329
370
  # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#8
330
371
  T::Types::Simple::NamePatch::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
331
372
 
332
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#84
373
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#87
333
374
  module T::Utils::Private
334
375
  class << self
335
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
376
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
336
377
  def coerce_and_check_module_types(val, check_val, check_module_type); end
337
378
  end
338
379
  end
339
380
 
340
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#85
381
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#88
341
382
  module T::Utils::Private::PrivateCoercePatch
342
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
383
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
343
384
  def coerce_and_check_module_types(val, check_val, check_module_type); end
344
385
  end
345
386
 
346
387
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4
347
388
  module Tapioca
348
389
  class << self
349
- # source://tapioca//lib/tapioca.rb#19
390
+ # source://tapioca//lib/tapioca.rb#20
350
391
  sig do
351
392
  type_parameters(:Result)
352
393
  .params(
@@ -357,16 +398,53 @@ module Tapioca
357
398
  end
358
399
  end
359
400
 
360
- # source://tapioca//lib/tapioca.rb#37
401
+ # source://tapioca//lib/tapioca.rb#39
361
402
  Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
362
403
 
363
- # source://tapioca//lib/tapioca.rb#60
404
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
405
+ module Tapioca::BundlerExt; end
406
+
407
+ # This is a module that gets prepended to `Bundler::Dependency` and
408
+ # makes sure even gems marked as `require: false` are required during
409
+ # `Bundler.require`.
410
+ #
411
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#9
412
+ module Tapioca::BundlerExt::AutoRequireHook
413
+ requires_ancestor { Bundler::Dependency }
414
+
415
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#46
416
+ sig { returns(T.untyped) }
417
+ def autorequire; end
418
+
419
+ class << self
420
+ # @return [Boolean]
421
+ #
422
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#26
423
+ def enabled?; end
424
+
425
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#22
426
+ sig { params(name: T.untyped).returns(T::Boolean) }
427
+ def excluded?(name); end
428
+
429
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#36
430
+ sig do
431
+ type_parameters(:Result)
432
+ .params(
433
+ exclude: T::Array[::String],
434
+ blk: T.proc.returns(T.type_parameter(:Result))
435
+ ).returns(T.type_parameter(:Result))
436
+ end
437
+ def override_require_false(exclude:, &blk); end
438
+ end
439
+ end
440
+
441
+ # source://tapioca//lib/tapioca.rb#62
364
442
  Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
365
443
 
366
- # source://tapioca//lib/tapioca.rb#59
444
+ # source://tapioca//lib/tapioca.rb#61
367
445
  Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
368
446
 
369
- # source://tapioca//lib/tapioca.rb#58
447
+ # source://tapioca//lib/tapioca.rb#60
370
448
  Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
371
449
 
372
450
  # source://tapioca//lib/tapioca/cli.rb#5
@@ -375,40 +453,42 @@ class Tapioca::Cli < ::Thor
375
453
  include ::Tapioca::ConfigHelper
376
454
  include ::Tapioca::EnvHelper
377
455
 
378
- # source://tapioca//lib/tapioca/cli.rb#336
456
+ # source://tapioca//lib/tapioca/cli.rb#366
379
457
  def __print_version; end
380
458
 
381
- # source://tapioca//lib/tapioca/cli.rb#316
459
+ # source://tapioca//lib/tapioca/cli.rb#348
382
460
  def annotations; end
383
461
 
384
- # source://tapioca//lib/tapioca/cli.rb#286
462
+ # source://tapioca//lib/tapioca/cli.rb#320
385
463
  def check_shims; end
386
464
 
387
- # source://tapioca//lib/tapioca/cli.rb#41
465
+ # source://tapioca//lib/tapioca/cli.rb#46
388
466
  def configure; end
389
467
 
390
- # source://tapioca//lib/tapioca/cli.rb#133
468
+ # source://tapioca//lib/tapioca/cli.rb#147
391
469
  def dsl(*constant_or_paths); end
392
470
 
393
- # source://tapioca//lib/tapioca/cli.rb#238
471
+ # @raise [MalformattedArgumentError]
472
+ #
473
+ # source://tapioca//lib/tapioca/cli.rb#264
394
474
  def gem(*gems); end
395
475
 
396
476
  # source://tapioca//lib/tapioca/cli.rb#27
397
477
  def init; end
398
478
 
399
- # source://tapioca//lib/tapioca/cli.rb#52
479
+ # source://tapioca//lib/tapioca/cli.rb#57
400
480
  def require; end
401
481
 
402
- # source://tapioca//lib/tapioca/cli.rb#71
482
+ # source://tapioca//lib/tapioca/cli.rb#74
403
483
  def todo; end
404
484
 
405
485
  private
406
486
 
407
- # source://tapioca//lib/tapioca/cli.rb#350
487
+ # source://tapioca//lib/tapioca/cli.rb#380
408
488
  def print_init_next_steps; end
409
489
 
410
490
  class << self
411
- # source://tapioca//lib/tapioca/cli.rb#342
491
+ # source://tapioca//lib/tapioca/cli.rb#372
412
492
  def exit_on_failure?; end
413
493
  end
414
494
  end
@@ -436,6 +516,241 @@ end
436
516
  # source://tapioca//lib/tapioca/commands.rb#5
437
517
  module Tapioca::Commands; end
438
518
 
519
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
520
+ #
521
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#6
522
+ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
523
+ include ::Tapioca::SorbetHelper
524
+ include ::Tapioca::RBIFilesHelper
525
+
526
+ abstract!
527
+
528
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#33
529
+ sig do
530
+ params(
531
+ requested_constants: T::Array[::String],
532
+ requested_paths: T::Array[::Pathname],
533
+ outpath: ::Pathname,
534
+ only: T::Array[::String],
535
+ exclude: T::Array[::String],
536
+ file_header: T::Boolean,
537
+ tapioca_path: ::String,
538
+ skip_constant: T::Array[::String],
539
+ quiet: T::Boolean,
540
+ verbose: T::Boolean,
541
+ number_of_workers: T.nilable(::Integer),
542
+ auto_strictness: T::Boolean,
543
+ gem_dir: ::String,
544
+ rbi_formatter: ::Tapioca::RBIFormatter,
545
+ app_root: ::String,
546
+ halt_upon_load_error: T::Boolean,
547
+ compiler_options: T::Hash[::String, T.untyped]
548
+ ).void
549
+ end
550
+ 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
551
+
552
+ private
553
+
554
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#100
555
+ sig { returns(T::Array[::String]) }
556
+ def all_requested_constants; end
557
+
558
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
559
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
560
+ def build_error_for_files(cause, files); end
561
+
562
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#217
563
+ sig do
564
+ params(
565
+ constant_name: ::String,
566
+ rbi: ::RBI::File,
567
+ outpath: ::Pathname,
568
+ quiet: T::Boolean
569
+ ).returns(T.nilable(::Pathname))
570
+ end
571
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
572
+
573
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#154
574
+ sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
575
+ def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
576
+
577
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#177
578
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
579
+ def constantize_compilers(compiler_names); end
580
+
581
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#353
582
+ sig { returns(T::Array[::String]) }
583
+ def constants_from_requested_paths; end
584
+
585
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#123
586
+ sig { returns(::Tapioca::Dsl::Pipeline) }
587
+ def create_pipeline; end
588
+
589
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#256
590
+ sig { params(constant_name: ::String).returns(::Pathname) }
591
+ def dsl_rbi_filename(constant_name); end
592
+
593
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#140
594
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
595
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
596
+
597
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#348
598
+ sig { params(constant: ::String).returns(::String) }
599
+ def generate_command_for(constant); end
600
+
601
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#76
602
+ sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
603
+ def generate_dsl_rbi_files(outpath, quiet:); end
604
+
605
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#113
606
+ sig { void }
607
+ def load_application; end
608
+
609
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
610
+ sig { params(dir: ::Pathname).void }
611
+ def perform_dsl_verification(dir); end
612
+
613
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#108
614
+ sig { returns(::Tapioca::Dsl::Pipeline) }
615
+ def pipeline; end
616
+
617
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#244
618
+ sig { params(files: T::Set[::Pathname]).void }
619
+ def purge_stale_dsl_rbi_files(files); end
620
+
621
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#343
622
+ sig { params(constant: ::String).returns(::String) }
623
+ def rbi_filename_for(constant); end
624
+
625
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#324
626
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
627
+ def rbi_files_in(path); end
628
+
629
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#302
630
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
631
+ def report_diff_and_exit_if_out_of_date(diff, command); end
632
+
633
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#197
634
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
635
+ def resolve(name); end
636
+
637
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#331
638
+ sig { params(class_name: ::String).returns(::String) }
639
+ def underscore(class_name); end
640
+
641
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#261
642
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
643
+ def verify_dsl_rbi(tmp_dir:); end
644
+ end
645
+
646
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
647
+ #
648
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#6
649
+ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
650
+ include ::Tapioca::SorbetHelper
651
+ include ::Tapioca::RBIFilesHelper
652
+
653
+ abstract!
654
+
655
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#32
656
+ sig do
657
+ params(
658
+ gem_names: T::Array[::String],
659
+ exclude: T::Array[::String],
660
+ include_dependencies: T::Boolean,
661
+ prerequire: T.nilable(::String),
662
+ postrequire: ::String,
663
+ typed_overrides: T::Hash[::String, ::String],
664
+ outpath: ::Pathname,
665
+ file_header: T::Boolean,
666
+ include_doc: T::Boolean,
667
+ include_loc: T::Boolean,
668
+ include_exported_rbis: T::Boolean,
669
+ number_of_workers: T.nilable(::Integer),
670
+ auto_strictness: T::Boolean,
671
+ dsl_dir: ::String,
672
+ rbi_formatter: ::Tapioca::RBIFormatter,
673
+ halt_upon_load_error: T::Boolean
674
+ ).void
675
+ end
676
+ 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
677
+
678
+ private
679
+
680
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#230
681
+ sig { returns(T::Array[::String]) }
682
+ def added_rbis; end
683
+
684
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#291
685
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
686
+ def build_error_for_files(cause, files); end
687
+
688
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#110
689
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
690
+ def compile_gem_rbi(gem); end
691
+
692
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#225
693
+ sig { params(gem_name: ::String).returns(::Pathname) }
694
+ def existing_rbi(gem_name); end
695
+
696
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#273
697
+ sig { returns(T::Hash[::String, ::String]) }
698
+ def existing_rbis; end
699
+
700
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#237
701
+ sig { params(gem_name: ::String).returns(::Pathname) }
702
+ def expected_rbi(gem_name); end
703
+
704
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#279
705
+ sig { returns(T::Hash[::String, ::String]) }
706
+ def expected_rbis; end
707
+
708
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#98
709
+ sig do
710
+ params(
711
+ gem: ::Tapioca::Gemfile::GemSpec,
712
+ dependencies: T::Array[::Tapioca::Gemfile::GemSpec]
713
+ ).returns(T::Array[::Tapioca::Gemfile::GemSpec])
714
+ end
715
+ def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
716
+
717
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#242
718
+ sig { params(gem_name: ::String).returns(T::Boolean) }
719
+ def gem_rbi_exists?(gem_name); end
720
+
721
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#286
722
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
723
+ def gem_rbi_filename(gem_name, version); end
724
+
725
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#77
726
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
727
+ def gems_to_generate(gem_names); end
728
+
729
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#296
730
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
731
+ def merge_with_exported_rbi(gem, file); end
732
+
733
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#267
734
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
735
+ def move(old_filename, new_filename); end
736
+
737
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#177
738
+ sig { void }
739
+ def perform_additions; end
740
+
741
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#150
742
+ sig { void }
743
+ def perform_removals; end
744
+
745
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#220
746
+ sig { returns(T::Array[::String]) }
747
+ def removed_rbis; end
748
+
749
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#247
750
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
751
+ def report_diff_and_exit_if_out_of_date(diff, command); end
752
+ end
753
+
439
754
  # source://tapioca//lib/tapioca/commands/annotations.rb#6
440
755
  class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
441
756
  # source://tapioca//lib/tapioca/commands/annotations.rb#18
@@ -450,69 +765,73 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
450
765
  end
451
766
  def initialize(central_repo_root_uris:, auth: T.unsafe(nil), netrc_file: T.unsafe(nil), central_repo_index_path: T.unsafe(nil), typed_overrides: T.unsafe(nil)); end
452
767
 
453
- # source://tapioca//lib/tapioca/commands/annotations.rb#36
454
- sig { override.void }
455
- def execute; end
456
-
457
768
  private
458
769
 
459
- # source://tapioca//lib/tapioca/commands/annotations.rb#191
770
+ # source://tapioca//lib/tapioca/commands/annotations.rb#197
460
771
  sig { params(name: ::String, content: ::String).returns(::String) }
461
772
  def add_header(name, content); end
462
773
 
463
- # source://tapioca//lib/tapioca/commands/annotations.rb#211
774
+ # source://tapioca//lib/tapioca/commands/annotations.rb#217
464
775
  sig { params(name: ::String, content: ::String).returns(::String) }
465
776
  def apply_typed_override(name, content); end
466
777
 
467
- # source://tapioca//lib/tapioca/commands/annotations.rb#132
468
- sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
469
- def fetch_annotation(repo_uris, gem_name); end
778
+ # source://tapioca//lib/tapioca/commands/annotations.rb#39
779
+ sig { override.void }
780
+ def execute; end
781
+
782
+ # source://tapioca//lib/tapioca/commands/annotations.rb#136
783
+ sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).void }
784
+ def fetch_annotation(repo_uris, gem_info); end
470
785
 
471
- # source://tapioca//lib/tapioca/commands/annotations.rb#109
472
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
473
- def fetch_annotations(gem_names); end
786
+ # source://tapioca//lib/tapioca/commands/annotations.rb#113
787
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) }
788
+ def fetch_annotations(project_gems); end
474
789
 
475
- # source://tapioca//lib/tapioca/commands/annotations.rb#150
790
+ # source://tapioca//lib/tapioca/commands/annotations.rb#156
476
791
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
477
792
  def fetch_file(repo_uri, path); end
478
793
 
479
- # source://tapioca//lib/tapioca/commands/annotations.rb#167
794
+ # source://tapioca//lib/tapioca/commands/annotations.rb#173
480
795
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
481
796
  def fetch_http_file(repo_uri, path); end
482
797
 
483
- # source://tapioca//lib/tapioca/commands/annotations.rb#98
798
+ # source://tapioca//lib/tapioca/commands/annotations.rb#102
484
799
  sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
485
800
  def fetch_index(repo_uri, repo_number:); end
486
801
 
487
- # source://tapioca//lib/tapioca/commands/annotations.rb#77
802
+ # source://tapioca//lib/tapioca/commands/annotations.rb#81
488
803
  sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
489
804
  def fetch_indexes; end
490
805
 
491
- # source://tapioca//lib/tapioca/commands/annotations.rb#159
806
+ # source://tapioca//lib/tapioca/commands/annotations.rb#165
492
807
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
493
808
  def fetch_local_file(repo_uri, path); end
494
809
 
495
- # source://tapioca//lib/tapioca/commands/annotations.rb#46
496
- sig { returns(T::Array[::String]) }
810
+ # source://tapioca//lib/tapioca/commands/annotations.rb#229
811
+ sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) }
812
+ def filter_versions(gem_version, content); end
813
+
814
+ # source://tapioca//lib/tapioca/commands/annotations.rb#50
815
+ sig { returns(T::Array[::Tapioca::GemInfo]) }
497
816
  def list_gemfile_gems; end
498
817
 
499
- # source://tapioca//lib/tapioca/commands/annotations.rb#223
818
+ # source://tapioca//lib/tapioca/commands/annotations.rb#237
500
819
  sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
501
820
  def merge_files(gem_name, contents); end
502
821
 
503
- # source://tapioca//lib/tapioca/commands/annotations.rb#56
504
- sig { params(project_gems: T::Array[::String]).void }
822
+ # source://tapioca//lib/tapioca/commands/annotations.rb#60
823
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void }
505
824
  def remove_expired_annotations(project_gems); end
506
825
 
507
- # source://tapioca//lib/tapioca/commands/annotations.rb#250
826
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
508
827
  sig { returns(T::Hash[::String, T.nilable(::String)]) }
509
828
  def repo_tokens; end
510
829
 
511
- # source://tapioca//lib/tapioca/commands/annotations.rb#278
830
+ # source://tapioca//lib/tapioca/commands/annotations.rb#292
512
831
  sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
513
832
  def say_http_error(path, repo_uri, message:); end
514
833
 
515
- # source://tapioca//lib/tapioca/commands/annotations.rb#262
834
+ # source://tapioca//lib/tapioca/commands/annotations.rb#276
516
835
  sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
517
836
  def token_for(repo_uri); end
518
837
  end
@@ -536,7 +855,9 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
536
855
  end
537
856
  def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
538
857
 
539
- # source://tapioca//lib/tapioca/commands/check_shims.rb#42
858
+ private
859
+
860
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#44
540
861
  sig { override.void }
541
862
  def execute; end
542
863
  end
@@ -558,19 +879,17 @@ class Tapioca::Commands::Command
558
879
  sig { void }
559
880
  def initialize; end
560
881
 
561
- # @abstract
562
- #
563
- # source://tapioca//lib/tapioca/commands/command.rb#25
564
- sig { abstract.void }
565
- def execute; end
566
-
567
- # source://thor/1.2.2/lib/thor/base.rb#139
882
+ # source://thor/1.3.2/lib/thor/base.rb#155
568
883
  sig { returns(::Thor::Actions) }
569
884
  def file_writer; end
570
885
 
886
+ # source://tapioca//lib/tapioca/commands/command.rb#25
887
+ sig(:final) { void }
888
+ def run; end
889
+
571
890
  private
572
891
 
573
- # source://tapioca//lib/tapioca/commands/command.rb#46
892
+ # source://tapioca//lib/tapioca/commands/command.rb#53
574
893
  sig do
575
894
  params(
576
895
  path: T.any(::Pathname, ::String),
@@ -582,18 +901,19 @@ class Tapioca::Commands::Command
582
901
  end
583
902
  def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
584
903
 
585
- # source://tapioca//lib/tapioca/commands/command.rb#30
904
+ # source://tapioca//lib/tapioca/commands/command.rb#37
586
905
  sig { params(command: ::Symbol, args: ::String).returns(::String) }
587
906
  def default_command(command, *args); end
588
907
 
589
- # source://tapioca//lib/tapioca/commands/command.rb#56
908
+ # @abstract
909
+ #
910
+ # source://tapioca//lib/tapioca/commands/command.rb#34
911
+ sig { abstract.void }
912
+ def execute; end
913
+
914
+ # source://tapioca//lib/tapioca/commands/command.rb#63
590
915
  sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
591
916
  def remove_file(path, verbose: T.unsafe(nil)); end
592
-
593
- class << self
594
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
595
- def new(*args, **_arg1, &blk); end
596
- end
597
917
  end
598
918
 
599
919
  # source://tapioca//lib/tapioca/commands/command.rb#10
@@ -611,11 +931,6 @@ class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
611
931
  # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
612
932
  sig { void }
613
933
  def initialize; end
614
-
615
- class << self
616
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
617
- def new(*args, **_arg1, &blk); end
618
- end
619
934
  end
620
935
 
621
936
  # source://tapioca//lib/tapioca/commands/configure.rb#6
@@ -624,10 +939,6 @@ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
624
939
  sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
625
940
  def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
626
941
 
627
- # source://tapioca//lib/tapioca/commands/configure.rb#30
628
- sig { override.void }
629
- def execute; end
630
-
631
942
  private
632
943
 
633
944
  # source://tapioca//lib/tapioca/commands/configure.rb#79
@@ -646,6 +957,10 @@ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
646
957
  sig { void }
647
958
  def create_tapioca_config; end
648
959
 
960
+ # source://tapioca//lib/tapioca/commands/configure.rb#32
961
+ sig { override.void }
962
+ def execute; end
963
+
649
964
  # source://tapioca//lib/tapioca/commands/configure.rb#92
650
965
  sig { returns(::Bundler::Installer) }
651
966
  def installer; end
@@ -655,222 +970,62 @@ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
655
970
  def spec; end
656
971
  end
657
972
 
658
- # source://tapioca//lib/tapioca/commands/dsl.rb#6
659
- class Tapioca::Commands::Dsl < ::Tapioca::Commands::CommandWithoutTracker
660
- include ::Tapioca::SorbetHelper
661
- include ::Tapioca::RBIFilesHelper
662
-
663
- # source://tapioca//lib/tapioca/commands/dsl.rb#29
664
- sig do
665
- params(
666
- requested_constants: T::Array[::String],
667
- requested_paths: T::Array[::Pathname],
668
- outpath: ::Pathname,
669
- only: T::Array[::String],
670
- exclude: T::Array[::String],
671
- file_header: T::Boolean,
672
- tapioca_path: ::String,
673
- should_verify: T::Boolean,
674
- quiet: T::Boolean,
675
- verbose: T::Boolean,
676
- number_of_workers: T.nilable(::Integer),
677
- auto_strictness: T::Boolean,
678
- gem_dir: ::String,
679
- rbi_formatter: ::Tapioca::RBIFormatter,
680
- app_root: ::String
681
- ).void
682
- end
683
- def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil)); end
684
-
685
- # source://tapioca//lib/tapioca/commands/dsl.rb#93
686
- sig { override.void }
687
- def execute; end
688
-
689
- # source://tapioca//lib/tapioca/commands/dsl.rb#66
690
- sig { void }
691
- def list_compilers; end
692
-
973
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#6
974
+ class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
693
975
  private
694
976
 
695
- # source://tapioca//lib/tapioca/commands/dsl.rb#325
696
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
697
- def build_error_for_files(cause, files); end
698
-
699
- # source://tapioca//lib/tapioca/commands/dsl.rb#249
700
- sig do
701
- params(
702
- constant_name: ::String,
703
- rbi: ::RBI::File,
704
- outpath: ::Pathname,
705
- quiet: T::Boolean
706
- ).returns(T.nilable(::Pathname))
707
- end
708
- def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
709
-
710
- # source://tapioca//lib/tapioca/commands/dsl.rb#187
711
- sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
712
- def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
713
-
714
- # source://tapioca//lib/tapioca/commands/dsl.rb#210
715
- sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
716
- def constantize_compilers(compiler_names); end
717
-
718
- # source://tapioca//lib/tapioca/commands/dsl.rb#385
719
- sig { returns(T::Array[::String]) }
720
- def constants_from_requested_paths; end
721
-
722
- # source://tapioca//lib/tapioca/commands/dsl.rb#158
723
- sig { returns(::Tapioca::Dsl::Pipeline) }
724
- def create_pipeline; end
725
-
726
- # source://tapioca//lib/tapioca/commands/dsl.rb#288
727
- sig { params(constant_name: ::String).returns(::Pathname) }
728
- def dsl_rbi_filename(constant_name); end
729
-
730
- # source://tapioca//lib/tapioca/commands/dsl.rb#173
731
- sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
732
- def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
733
-
734
- # source://tapioca//lib/tapioca/commands/dsl.rb#380
735
- sig { params(constant: ::String).returns(::String) }
736
- def generate_command_for(constant); end
737
-
738
- # source://tapioca//lib/tapioca/commands/dsl.rb#267
739
- sig { params(dir: ::Pathname).void }
740
- def perform_dsl_verification(dir); end
741
-
742
- # source://tapioca//lib/tapioca/commands/dsl.rb#276
743
- sig { params(files: T::Set[::Pathname]).void }
744
- def purge_stale_dsl_rbi_files(files); end
745
-
746
- # source://tapioca//lib/tapioca/commands/dsl.rb#375
747
- sig { params(constant: ::String).returns(::String) }
748
- def rbi_filename_for(constant); end
749
-
750
- # source://tapioca//lib/tapioca/commands/dsl.rb#356
751
- sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
752
- def rbi_files_in(path); end
753
-
754
- # source://tapioca//lib/tapioca/commands/dsl.rb#334
755
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
756
- def report_diff_and_exit_if_out_of_date(diff, command); end
757
-
758
- # source://tapioca//lib/tapioca/commands/dsl.rb#229
759
- sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
760
- def resolve(name); end
761
-
762
- # source://tapioca//lib/tapioca/commands/dsl.rb#363
763
- sig { params(class_name: ::String).returns(::String) }
764
- def underscore(class_name); end
765
-
766
- # source://tapioca//lib/tapioca/commands/dsl.rb#293
767
- sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
768
- def verify_dsl_rbi(tmp_dir:); end
769
- end
770
-
771
- # source://tapioca//lib/tapioca/commands/gem.rb#6
772
- class Tapioca::Commands::Gem < ::Tapioca::Commands::Command
773
- include ::Tapioca::SorbetHelper
774
- include ::Tapioca::RBIFilesHelper
775
-
776
- # source://tapioca//lib/tapioca/commands/gem.rb#28
777
- sig do
778
- params(
779
- gem_names: T::Array[::String],
780
- exclude: T::Array[::String],
781
- prerequire: T.nilable(::String),
782
- postrequire: ::String,
783
- typed_overrides: T::Hash[::String, ::String],
784
- outpath: ::Pathname,
785
- file_header: T::Boolean,
786
- include_doc: T::Boolean,
787
- include_loc: T::Boolean,
788
- include_exported_rbis: T::Boolean,
789
- number_of_workers: T.nilable(::Integer),
790
- auto_strictness: T::Boolean,
791
- dsl_dir: ::String,
792
- rbi_formatter: ::Tapioca::RBIFormatter
793
- ).void
794
- end
795
- def initialize(gem_names:, exclude:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end
796
-
797
- # source://tapioca//lib/tapioca/commands/gem.rb#67
798
- sig { override.void }
799
- def execute; end
800
-
801
- # source://tapioca//lib/tapioca/commands/gem.rb#105
802
- sig { params(should_verify: T::Boolean, exclude: T::Array[::String]).void }
803
- def sync(should_verify: T.unsafe(nil), exclude: T.unsafe(nil)); end
804
-
805
- private
806
-
807
- # source://tapioca//lib/tapioca/commands/gem.rb#283
808
- sig { returns(T::Array[::String]) }
809
- def added_rbis; end
810
-
811
- # source://tapioca//lib/tapioca/commands/gem.rb#344
812
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
813
- def build_error_for_files(cause, files); end
814
-
815
- # source://tapioca//lib/tapioca/commands/gem.rb#154
816
- sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
817
- def compile_gem_rbi(gem); end
818
-
819
- # source://tapioca//lib/tapioca/commands/gem.rb#278
820
- sig { params(gem_name: ::String).returns(::Pathname) }
821
- def existing_rbi(gem_name); end
822
-
823
- # source://tapioca//lib/tapioca/commands/gem.rb#326
824
- sig { returns(T::Hash[::String, ::String]) }
825
- def existing_rbis; end
826
-
827
- # source://tapioca//lib/tapioca/commands/gem.rb#290
828
- sig { params(gem_name: ::String).returns(::Pathname) }
829
- def expected_rbi(gem_name); end
977
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#10
978
+ sig { override.void }
979
+ def execute; end
980
+ end
830
981
 
831
- # source://tapioca//lib/tapioca/commands/gem.rb#332
832
- sig { returns(T::Hash[::String, ::String]) }
833
- def expected_rbis; end
982
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#6
983
+ class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
984
+ private
834
985
 
835
- # source://tapioca//lib/tapioca/commands/gem.rb#295
836
- sig { params(gem_name: ::String).returns(T::Boolean) }
837
- def gem_rbi_exists?(gem_name); end
986
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#10
987
+ sig { override.void }
988
+ def execute; end
989
+ end
838
990
 
839
- # source://tapioca//lib/tapioca/commands/gem.rb#339
840
- sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
841
- def gem_rbi_filename(gem_name, version); end
991
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#6
992
+ class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
993
+ private
842
994
 
843
- # source://tapioca//lib/tapioca/commands/gem.rb#139
844
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
845
- def gems_to_generate(gem_names); end
995
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#10
996
+ sig { override.void }
997
+ def execute; end
998
+ end
846
999
 
847
- # source://tapioca//lib/tapioca/commands/gem.rb#349
848
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
849
- def merge_with_exported_rbi(gem, file); end
1000
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#6
1001
+ class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
1002
+ private
850
1003
 
851
- # source://tapioca//lib/tapioca/commands/gem.rb#320
852
- sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
853
- def move(old_filename, new_filename); end
1004
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#10
1005
+ sig { override.void }
1006
+ def execute; end
1007
+ end
854
1008
 
855
- # source://tapioca//lib/tapioca/commands/gem.rb#231
856
- sig { void }
857
- def perform_additions; end
1009
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#6
1010
+ class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
1011
+ private
858
1012
 
859
- # source://tapioca//lib/tapioca/commands/gem.rb#204
860
- sig { void }
861
- def perform_removals; end
1013
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#10
1014
+ sig { override.void }
1015
+ def execute; end
1016
+ end
862
1017
 
863
- # source://tapioca//lib/tapioca/commands/gem.rb#185
864
- sig { params(exclude: T::Array[::String]).void }
865
- def perform_sync_verification(exclude: T.unsafe(nil)); end
1018
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#6
1019
+ class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
1020
+ private
866
1021
 
867
- # source://tapioca//lib/tapioca/commands/gem.rb#273
868
- sig { returns(T::Array[::String]) }
869
- def removed_rbis; end
1022
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#10
1023
+ sig { override.void }
1024
+ def execute; end
870
1025
 
871
- # source://tapioca//lib/tapioca/commands/gem.rb#300
872
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
873
- def report_diff_and_exit_if_out_of_date(diff, command); end
1026
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#17
1027
+ sig { void }
1028
+ def perform_sync_verification; end
874
1029
  end
875
1030
 
876
1031
  # source://tapioca//lib/tapioca/commands/require.rb#6
@@ -879,7 +1034,9 @@ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
879
1034
  sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
880
1035
  def initialize(requires_path:, sorbet_config_path:); end
881
1036
 
882
- # source://tapioca//lib/tapioca/commands/require.rb#21
1037
+ private
1038
+
1039
+ # source://tapioca//lib/tapioca/commands/require.rb#23
883
1040
  sig { override.void }
884
1041
  def execute; end
885
1042
  end
@@ -888,25 +1045,32 @@ end
888
1045
  class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
889
1046
  include ::Tapioca::SorbetHelper
890
1047
 
891
- # source://tapioca//lib/tapioca/commands/todo.rb#15
1048
+ # source://tapioca//lib/tapioca/commands/todo.rb#26
892
1049
  sig { params(todo_file: ::String, file_header: T::Boolean).void }
893
1050
  def initialize(todo_file:, file_header:); end
894
1051
 
895
- # source://tapioca//lib/tapioca/commands/todo.rb#23
896
- sig { override.void }
897
- def execute; end
1052
+ # source://tapioca//lib/tapioca/commands/todo.rb#34
1053
+ sig { void }
1054
+ def run_with_deprecation; end
898
1055
 
899
1056
  private
900
1057
 
901
- # source://tapioca//lib/tapioca/commands/todo.rb#49
1058
+ # source://tapioca//lib/tapioca/commands/todo.rb#44
1059
+ sig { override.void }
1060
+ def execute; end
1061
+
1062
+ # source://tapioca//lib/tapioca/commands/todo.rb#68
902
1063
  sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
903
1064
  def rbi(constants, command:); end
904
1065
 
905
- # source://tapioca//lib/tapioca/commands/todo.rb#69
1066
+ # source://tapioca//lib/tapioca/commands/todo.rb#88
906
1067
  sig { returns(T::Array[::String]) }
907
1068
  def unresolved_constants; end
908
1069
  end
909
1070
 
1071
+ # source://tapioca//lib/tapioca/commands/todo.rb#9
1072
+ Tapioca::Commands::Todo::DEPRECATION_MESSAGE = T.let(T.unsafe(nil), String)
1073
+
910
1074
  # source://tapioca//lib/tapioca/helpers/config_helper.rb#5
911
1075
  module Tapioca::ConfigHelper
912
1076
  requires_ancestor { Thor }
@@ -929,11 +1093,11 @@ module Tapioca::ConfigHelper
929
1093
 
930
1094
  private
931
1095
 
932
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#151
1096
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#153
933
1097
  sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
934
1098
  def build_error(msg); end
935
1099
 
936
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#176
1100
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#178
937
1101
  sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
938
1102
  def build_error_message(config_file, errors); end
939
1103
 
@@ -949,7 +1113,7 @@ module Tapioca::ConfigHelper
949
1113
  sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
950
1114
  def filter_defaults(options); end
951
1115
 
952
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#194
1116
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#196
953
1117
  sig do
954
1118
  params(
955
1119
  options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
@@ -972,58 +1136,58 @@ module Tapioca::ConfigHelper
972
1136
  def validate_config_options(command_options, config_key, config_options); end
973
1137
  end
974
1138
 
975
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#146
1139
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#148
976
1140
  class Tapioca::ConfigHelper::ConfigError < ::T::Struct
977
1141
  const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
978
1142
 
979
1143
  class << self
980
- # source://sorbet-runtime/0.5.10832/lib/types/struct.rb#13
1144
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
981
1145
  def inherited(s); end
982
1146
  end
983
1147
  end
984
1148
 
985
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#141
1149
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#143
986
1150
  class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
987
1151
  const :message, ::String
988
1152
  const :colors, T::Array[::Symbol]
989
1153
 
990
1154
  class << self
991
- # source://sorbet-runtime/0.5.10832/lib/types/struct.rb#13
1155
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
992
1156
  def inherited(s); end
993
1157
  end
994
1158
  end
995
1159
 
996
- # source://tapioca//lib/tapioca.rb#44
1160
+ # source://tapioca//lib/tapioca.rb#46
997
1161
  Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
998
1162
 
999
- # source://tapioca//lib/tapioca.rb#40
1163
+ # source://tapioca//lib/tapioca.rb#42
1000
1164
  Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
1001
1165
 
1002
- # source://tapioca//lib/tapioca.rb#56
1166
+ # source://tapioca//lib/tapioca.rb#58
1003
1167
  Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1004
1168
 
1005
- # source://tapioca//lib/tapioca.rb#41
1169
+ # source://tapioca//lib/tapioca.rb#43
1006
1170
  Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1007
1171
 
1008
- # source://tapioca//lib/tapioca.rb#46
1172
+ # source://tapioca//lib/tapioca.rb#48
1009
1173
  Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1010
1174
 
1011
- # source://tapioca//lib/tapioca.rb#38
1175
+ # source://tapioca//lib/tapioca.rb#40
1012
1176
  Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1013
1177
 
1014
- # source://tapioca//lib/tapioca.rb#39
1178
+ # source://tapioca//lib/tapioca.rb#41
1015
1179
  Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1016
1180
 
1017
- # source://tapioca//lib/tapioca/rbi_formatter.rb#29
1181
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#31
1018
1182
  Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1019
1183
 
1020
- # source://tapioca//lib/tapioca.rb#55
1184
+ # source://tapioca//lib/tapioca.rb#57
1021
1185
  Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1022
1186
 
1023
- # source://tapioca//lib/tapioca.rb#42
1187
+ # source://tapioca//lib/tapioca.rb#44
1024
1188
  Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1025
1189
 
1026
- # source://tapioca//lib/tapioca.rb#43
1190
+ # source://tapioca//lib/tapioca.rb#45
1027
1191
  Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1028
1192
 
1029
1193
  # source://tapioca//lib/tapioca/dsl/compilers.rb#5
@@ -1045,17 +1209,24 @@ class Tapioca::Dsl::Compiler
1045
1209
 
1046
1210
  ConstantType = type_member { { upper: Module } }
1047
1211
 
1048
- # source://tapioca//lib/tapioca/dsl/compiler.rb#60
1049
- sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
1050
- def initialize(pipeline, root, constant); end
1212
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#107
1213
+ sig do
1214
+ params(
1215
+ pipeline: ::Tapioca::Dsl::Pipeline,
1216
+ root: ::RBI::Tree,
1217
+ constant: ConstantType,
1218
+ options: T::Hash[::String, T.untyped]
1219
+ ).void
1220
+ end
1221
+ def initialize(pipeline, root, constant, options = T.unsafe(nil)); end
1051
1222
 
1052
1223
  # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1053
1224
  #
1054
- # source://tapioca//lib/tapioca/dsl/compiler.rb#77
1225
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#125
1055
1226
  sig { params(error: ::String).void }
1056
1227
  def add_error(error); end
1057
1228
 
1058
- # source://tapioca//lib/tapioca/dsl/compiler.rb#68
1229
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#116
1059
1230
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1060
1231
  def compiler_enabled?(compiler_name); end
1061
1232
 
@@ -1065,61 +1236,75 @@ class Tapioca::Dsl::Compiler
1065
1236
 
1066
1237
  # @abstract
1067
1238
  #
1068
- # source://tapioca//lib/tapioca/dsl/compiler.rb#73
1239
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#121
1069
1240
  sig { abstract.void }
1070
1241
  def decorate; end
1071
1242
 
1243
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#26
1244
+ sig { returns(T::Hash[::String, T.untyped]) }
1245
+ def options; end
1246
+
1072
1247
  # source://tapioca//lib/tapioca/dsl/compiler.rb#23
1073
1248
  sig { returns(::RBI::Tree) }
1074
1249
  def root; end
1075
1250
 
1076
1251
  private
1077
1252
 
1078
- # source://tapioca//lib/tapioca/dsl/compiler.rb#126
1253
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#174
1079
1254
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1080
1255
  def compile_method_parameters_to_rbi(method_def); end
1081
1256
 
1082
- # source://tapioca//lib/tapioca/dsl/compiler.rb#162
1257
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#210
1083
1258
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1084
1259
  def compile_method_return_type_to_rbi(method_def); end
1085
1260
 
1086
- # source://tapioca//lib/tapioca/dsl/compiler.rb#116
1261
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#164
1087
1262
  sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1088
1263
  def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1089
1264
 
1090
1265
  # Get the types of each parameter from a method signature
1091
1266
  #
1092
- # source://tapioca//lib/tapioca/dsl/compiler.rb#90
1267
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#138
1093
1268
  sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1094
1269
  def parameters_types_from_signature(method_def, signature); end
1095
1270
 
1096
1271
  class << self
1097
1272
  # @abstract
1098
1273
  #
1099
- # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1274
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#39
1100
1275
  sig { abstract.returns(T::Enumerable[::Module]) }
1101
1276
  def gather_constants; end
1102
1277
 
1103
- # source://tapioca//lib/tapioca/dsl/compiler.rb#29
1278
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1104
1279
  sig { params(constant: ::Module).returns(T::Boolean) }
1105
1280
  def handles?(constant); end
1106
1281
 
1107
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1108
- def new(*args, **_arg1, &blk); end
1109
-
1110
- # source://tapioca//lib/tapioca/dsl/compiler.rb#37
1282
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#42
1111
1283
  sig { returns(T::Set[::Module]) }
1112
1284
  def processable_constants; end
1113
1285
 
1286
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#50
1287
+ sig { params(constants: T::Array[::Module]).void }
1288
+ def requested_constants=(constants); end
1289
+
1114
1290
  private
1115
1291
 
1116
- # source://tapioca//lib/tapioca/dsl/compiler.rb#47
1117
- sig { returns(T::Enumerable[::Class]) }
1292
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#75
1293
+ sig { returns(T::Enumerable[T::Class[T.anything]]) }
1118
1294
  def all_classes; end
1119
1295
 
1120
- # source://tapioca//lib/tapioca/dsl/compiler.rb#53
1296
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#87
1121
1297
  sig { returns(T::Enumerable[::Module]) }
1122
1298
  def all_modules; end
1299
+
1300
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#61
1301
+ sig do
1302
+ type_parameters(:U)
1303
+ .params(
1304
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
1305
+ ).returns(T::Array[T.type_parameter(:U)])
1306
+ end
1307
+ def descendants_of(klass); end
1123
1308
  end
1124
1309
  end
1125
1310
 
@@ -1138,7 +1323,7 @@ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1138
1323
 
1139
1324
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#6
1140
1325
  class Tapioca::Dsl::Pipeline
1141
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#34
1326
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#39
1142
1327
  sig do
1143
1328
  params(
1144
1329
  requested_constants: T::Array[::Module],
@@ -1146,32 +1331,34 @@ class Tapioca::Dsl::Pipeline
1146
1331
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1147
1332
  excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1148
1333
  error_handler: T.proc.params(error: ::String).void,
1149
- number_of_workers: T.nilable(::Integer)
1334
+ skipped_constants: T::Array[::Module],
1335
+ number_of_workers: T.nilable(::Integer),
1336
+ compiler_options: T::Hash[::String, T.untyped]
1150
1337
  ).void
1151
1338
  end
1152
- def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), number_of_workers: T.unsafe(nil)); end
1339
+ 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
1153
1340
 
1154
1341
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#10
1155
1342
  sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1156
1343
  def active_compilers; end
1157
1344
 
1158
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#93
1345
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#102
1159
1346
  sig { params(error: ::String).void }
1160
1347
  def add_error(error); end
1161
1348
 
1162
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#98
1349
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#107
1163
1350
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1164
1351
  def compiler_enabled?(compiler_name); end
1165
1352
 
1166
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#107
1353
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#116
1167
1354
  sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1168
1355
  def compilers; end
1169
1356
 
1170
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#19
1357
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#22
1171
1358
  sig { returns(T.proc.params(error: ::String).void) }
1172
1359
  def error_handler; end
1173
1360
 
1174
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#22
1361
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#25
1175
1362
  sig { returns(T::Array[::String]) }
1176
1363
  def errors; end
1177
1364
 
@@ -1183,7 +1370,7 @@ class Tapioca::Dsl::Pipeline
1183
1370
  sig { returns(T::Array[::Pathname]) }
1184
1371
  def requested_paths; end
1185
1372
 
1186
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#58
1373
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#67
1187
1374
  sig do
1188
1375
  type_parameters(:T)
1189
1376
  .params(
@@ -1192,17 +1379,21 @@ class Tapioca::Dsl::Pipeline
1192
1379
  end
1193
1380
  def run(&blk); end
1194
1381
 
1382
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#19
1383
+ sig { returns(T::Array[::Module]) }
1384
+ def skipped_constants; end
1385
+
1195
1386
  private
1196
1387
 
1197
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#193
1388
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#224
1198
1389
  sig { void }
1199
1390
  def abort_if_pending_migrations!; end
1200
1391
 
1201
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#139
1392
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#169
1202
1393
  sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1203
1394
  def filter_anonymous_and_reloaded_constants(constants); end
1204
1395
 
1205
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#122
1396
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#133
1206
1397
  sig do
1207
1398
  params(
1208
1399
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1211,20 +1402,21 @@ class Tapioca::Dsl::Pipeline
1211
1402
  end
1212
1403
  def gather_active_compilers(requested_compilers, excluded_compilers); end
1213
1404
 
1214
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#130
1405
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#147
1215
1406
  sig do
1216
1407
  params(
1217
1408
  requested_constants: T::Array[::Module],
1218
- requested_paths: T::Array[::Pathname]
1409
+ requested_paths: T::Array[::Pathname],
1410
+ skipped_constants: T::Array[::Module]
1219
1411
  ).returns(T::Set[::Module])
1220
1412
  end
1221
- def gather_constants(requested_constants, requested_paths); end
1413
+ def gather_constants(requested_constants, requested_paths, skipped_constants); end
1222
1414
 
1223
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#167
1415
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#198
1224
1416
  sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1225
1417
  def rbi_for_constant(constant); end
1226
1418
 
1227
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#186
1419
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#217
1228
1420
  sig { params(error: ::String).returns(T.noreturn) }
1229
1421
  def report_error(error); end
1230
1422
  end
@@ -1299,11 +1491,6 @@ end
1299
1491
  # source://tapioca//lib/tapioca/gem/events.rb#6
1300
1492
  class Tapioca::Gem::Event
1301
1493
  abstract!
1302
-
1303
- class << self
1304
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1305
- def new(*args, **_arg1, &blk); end
1306
- end
1307
1494
  end
1308
1495
 
1309
1496
  # source://tapioca//lib/tapioca/gem/events.rb#43
@@ -1354,11 +1541,6 @@ class Tapioca::Gem::Listeners::Base
1354
1541
  # source://tapioca//lib/tapioca/gem/listeners/base.rb#41
1355
1542
  sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1356
1543
  def on_scope(event); end
1357
-
1358
- class << self
1359
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1360
- def new(*args, **_arg1, &blk); end
1361
- end
1362
1544
  end
1363
1545
 
1364
1546
  # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7
@@ -1406,11 +1588,19 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1406
1588
 
1407
1589
  private
1408
1590
 
1409
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#34
1410
- sig { params(tree: ::RBI::Tree, module_name: ::String, mod: ::Module, for_visibility: T::Array[::Symbol]).void }
1411
- def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end
1591
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#35
1592
+ sig do
1593
+ params(
1594
+ tree: ::RBI::Tree,
1595
+ module_name: ::String,
1596
+ mod: ::Module,
1597
+ for_visibility: T::Array[::Symbol],
1598
+ attached_class: T.nilable(::Module)
1599
+ ).void
1600
+ end
1601
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil), attached_class: T.unsafe(nil)); end
1412
1602
 
1413
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#63
1603
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#71
1414
1604
  sig do
1415
1605
  params(
1416
1606
  tree: ::RBI::Tree,
@@ -1422,18 +1612,26 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1422
1612
  end
1423
1613
  def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
1424
1614
 
1425
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#191
1615
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#211
1426
1616
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1427
1617
  def ignore?(event); end
1428
1618
 
1429
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#184
1619
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#204
1430
1620
  sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1431
1621
  def initialize_method_for(constant); end
1432
1622
 
1433
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#165
1623
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#216
1624
+ sig { params(method: ::UnboundMethod).returns(T.untyped) }
1625
+ def lookup_signature_of(method); end
1626
+
1627
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
1434
1628
  sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1435
1629
  def method_names_by_visibility(mod); end
1436
1630
 
1631
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#196
1632
+ sig { params(attached_class: T.nilable(::Module), method_name: ::Symbol).returns(T.nilable(T::Boolean)) }
1633
+ def method_new_in_abstract_class?(attached_class, method_name); end
1634
+
1437
1635
  # Check whether the method is defined by the constant.
1438
1636
  #
1439
1637
  # In most cases, it works to check that the constant is the method owner. However,
@@ -1444,7 +1642,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1444
1642
  # It walks up the ancestor tree via the `super_method` method; if any of the super
1445
1643
  # methods are owned by the constant, it means that the constant declares the method.
1446
1644
  #
1447
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#151
1645
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#158
1448
1646
  sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) }
1449
1647
  def method_owned_by_constant?(method, constant); end
1450
1648
 
@@ -1452,7 +1650,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1452
1650
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1453
1651
  def on_scope(event); end
1454
1652
 
1455
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#174
1653
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#181
1456
1654
  sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) }
1457
1655
  def struct_method?(constant, method_name); end
1458
1656
  end
@@ -1518,7 +1716,7 @@ end
1518
1716
  class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base
1519
1717
  private
1520
1718
 
1521
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#25
1719
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#28
1522
1720
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1523
1721
  def ignore?(event); end
1524
1722
 
@@ -1534,7 +1732,7 @@ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
1534
1732
 
1535
1733
  private
1536
1734
 
1537
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#28
1735
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#27
1538
1736
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1539
1737
  def ignore?(event); end
1540
1738
 
@@ -1545,13 +1743,16 @@ end
1545
1743
 
1546
1744
  # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7
1547
1745
  class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1746
+ include ::Tapioca::SorbetHelper
1747
+ include ::Tapioca::RBIHelper
1748
+
1548
1749
  private
1549
1750
 
1550
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#32
1751
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#33
1551
1752
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1552
1753
  def ignore?(event); end
1553
1754
 
1554
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#13
1755
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#14
1555
1756
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1556
1757
  def on_scope(event); end
1557
1758
  end
@@ -1582,7 +1783,7 @@ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Bas
1582
1783
  sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
1583
1784
  def compile_signature(signature, parameters); end
1584
1785
 
1585
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#78
1786
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#79
1586
1787
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1587
1788
  def ignore?(event); end
1588
1789
 
@@ -1609,10 +1810,14 @@ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::
1609
1810
  sig { params(tree: ::RBI::Tree, constant: ::Module).void }
1610
1811
  def compile_type_variable_declarations(tree, constant); end
1611
1812
 
1612
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1813
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#63
1613
1814
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1614
1815
  def ignore?(event); end
1615
1816
 
1817
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1818
+ sig { params(type_variable: ::Tapioca::TypeVariableModule).returns(T.nilable(::RBI::Node)) }
1819
+ def node_from_type_variable(type_variable); end
1820
+
1616
1821
  # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15
1617
1822
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1618
1823
  def on_scope(event); end
@@ -1739,11 +1944,6 @@ class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
1739
1944
  # source://tapioca//lib/tapioca/gem/events.rb#64
1740
1945
  sig { returns(::String) }
1741
1946
  def symbol; end
1742
-
1743
- class << self
1744
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
1745
- def new(*args, **_arg1, &blk); end
1746
- end
1747
1947
  end
1748
1948
 
1749
1949
  # source://tapioca//lib/tapioca/gem/pipeline.rb#6
@@ -1753,47 +1953,60 @@ class Tapioca::Gem::Pipeline
1753
1953
  include ::Tapioca::SorbetHelper
1754
1954
  include ::Tapioca::RBIHelper
1755
1955
 
1756
- # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1757
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, include_doc: T::Boolean, include_loc: T::Boolean).void }
1758
- def initialize(gem, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1956
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#27
1957
+ sig do
1958
+ params(
1959
+ gem: ::Tapioca::Gemfile::GemSpec,
1960
+ error_handler: T.proc.params(error: ::String).void,
1961
+ include_doc: T::Boolean,
1962
+ include_loc: T::Boolean
1963
+ ).void
1964
+ end
1965
+ def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1759
1966
 
1760
- # source://tapioca//lib/tapioca/gem/pipeline.rb#48
1967
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1761
1968
  sig { returns(::RBI::Tree) }
1762
1969
  def compile; end
1763
1970
 
1764
- # source://tapioca//lib/tapioca/gem/pipeline.rb#110
1971
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#135
1765
1972
  sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1766
1973
  def constant_in_gem?(name); end
1767
1974
 
1975
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1976
+ sig { returns(T.proc.params(error: ::String).void) }
1977
+ def error_handler; end
1978
+
1768
1979
  # source://tapioca//lib/tapioca/gem/pipeline.rb#14
1769
1980
  sig { returns(::Tapioca::Gemfile::GemSpec) }
1770
1981
  def gem; end
1771
1982
 
1772
- # source://tapioca//lib/tapioca/gem/pipeline.rb#122
1983
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#153
1773
1984
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
1774
1985
  def method_in_gem?(method); end
1775
1986
 
1776
- # source://tapioca//lib/tapioca/gem/pipeline.rb#130
1987
+ # Helpers
1988
+ #
1989
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#163
1777
1990
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
1778
1991
  def name_of(constant); end
1779
1992
 
1780
- # source://tapioca//lib/tapioca/gem/pipeline.rb#69
1993
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#87
1781
1994
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1782
1995
  def push_const(symbol, constant, node); end
1783
1996
 
1784
- # source://tapioca//lib/tapioca/gem/pipeline.rb#59
1997
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#77
1785
1998
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1786
1999
  def push_constant(symbol, constant); end
1787
2000
 
1788
- # source://tapioca//lib/tapioca/gem/pipeline.rb#64
2001
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#82
1789
2002
  sig { params(symbol: ::String, constant: ::Module).void }
1790
2003
  def push_foreign_constant(symbol, constant); end
1791
2004
 
1792
- # source://tapioca//lib/tapioca/gem/pipeline.rb#83
2005
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#101
1793
2006
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1794
2007
  def push_foreign_scope(symbol, constant, node); end
1795
2008
 
1796
- # source://tapioca//lib/tapioca/gem/pipeline.rb#97
2009
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#115
1797
2010
  sig do
1798
2011
  params(
1799
2012
  symbol: ::String,
@@ -1806,103 +2019,148 @@ class Tapioca::Gem::Pipeline
1806
2019
  end
1807
2020
  def push_method(symbol, constant, method, node, signature, parameters); end
1808
2021
 
1809
- # source://tapioca//lib/tapioca/gem/pipeline.rb#76
2022
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#94
1810
2023
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1811
2024
  def push_scope(symbol, constant, node); end
1812
2025
 
1813
- # source://tapioca//lib/tapioca/gem/pipeline.rb#54
2026
+ # Events handling
2027
+ #
2028
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#72
1814
2029
  sig { params(symbol: ::String).void }
1815
2030
  def push_symbol(symbol); end
1816
2031
 
1817
- # source://tapioca//lib/tapioca/gem/pipeline.rb#102
2032
+ # Constants and properties filtering
2033
+ #
2034
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#122
1818
2035
  sig { params(symbol_name: ::String).returns(T::Boolean) }
1819
2036
  def symbol_in_payload?(symbol_name); end
1820
2037
 
1821
2038
  private
1822
2039
 
1823
- # source://tapioca//lib/tapioca/gem/pipeline.rb#376
2040
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#456
1824
2041
  sig { params(name: ::String).void }
1825
2042
  def add_to_alias_namespace(name); end
1826
2043
 
1827
- # source://tapioca//lib/tapioca/gem/pipeline.rb#381
2044
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#461
1828
2045
  sig { params(name: ::String).returns(T::Boolean) }
1829
2046
  def alias_namespaced?(name); end
1830
2047
 
1831
- # source://tapioca//lib/tapioca/gem/pipeline.rb#225
2048
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#260
1832
2049
  sig { params(name: ::String, constant: ::Module).void }
1833
2050
  def compile_alias(name, constant); end
1834
2051
 
1835
- # source://tapioca//lib/tapioca/gem/pipeline.rb#211
2052
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#246
1836
2053
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1837
2054
  def compile_constant(symbol, constant); end
1838
2055
 
1839
- # Compile
2056
+ # Compiling
1840
2057
  #
1841
- # source://tapioca//lib/tapioca/gem/pipeline.rb#206
2058
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#235
1842
2059
  sig { params(symbol: ::String, constant: ::Module).void }
1843
2060
  def compile_foreign_constant(symbol, constant); end
1844
2061
 
1845
- # source://tapioca//lib/tapioca/gem/pipeline.rb#283
1846
- sig { params(name: ::String, constant: ::Module, foreign_constant: T::Boolean).void }
1847
- def compile_module(name, constant, foreign_constant: T.unsafe(nil)); end
2062
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#314
2063
+ sig { params(name: ::String, constant: ::Module).void }
2064
+ def compile_module(name, constant); end
1848
2065
 
1849
- # source://tapioca//lib/tapioca/gem/pipeline.rb#247
2066
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#281
1850
2067
  sig { params(name: ::String, value: ::BasicObject).void }
1851
2068
  def compile_object(name, value); end
1852
2069
 
1853
- # source://tapioca//lib/tapioca/gem/pipeline.rb#308
1854
- sig { params(constant: ::Class).returns(T.nilable(::String)) }
2070
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#325
2071
+ sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
2072
+ def compile_scope(name, constant); end
2073
+
2074
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#339
2075
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
1855
2076
  def compile_superclass(constant); end
1856
2077
 
1857
- # source://tapioca//lib/tapioca/gem/pipeline.rb#357
2078
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#437
1858
2079
  sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
1859
2080
  def defined_in_gem?(constant, strict: T.unsafe(nil)); end
1860
2081
 
1861
- # source://tapioca//lib/tapioca/gem/pipeline.rb#158
2082
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#193
1862
2083
  sig { params(event: ::Tapioca::Gem::Event).void }
1863
2084
  def dispatch(event); end
1864
2085
 
1865
- # source://tapioca//lib/tapioca/gem/pipeline.rb#398
2086
+ # Helpers
2087
+ #
2088
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#480
1866
2089
  sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
1867
2090
  def generic_name_of(constant); end
1868
2091
 
1869
- # source://tapioca//lib/tapioca/gem/pipeline.rb#369
2092
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#449
1870
2093
  sig { params(constant: ::Module).returns(T::Set[::String]) }
1871
2094
  def get_file_candidates(constant); end
1872
2095
 
1873
- # source://tapioca//lib/tapioca/gem/pipeline.rb#145
2096
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#178
1874
2097
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
1875
2098
  def load_bootstrap_symbols(gem); end
1876
2099
 
1877
- # source://tapioca//lib/tapioca/gem/pipeline.rb#388
1878
- sig { params(name: ::String).void }
1879
- def mark_seen(name); end
1880
-
1881
- # source://tapioca//lib/tapioca/gem/pipeline.rb#414
2100
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#496
1882
2101
  sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
1883
2102
  def name_of_proxy_target(constant, class_name); end
1884
2103
 
1885
- # source://tapioca//lib/tapioca/gem/pipeline.rb#153
2104
+ # Events handling
2105
+ #
2106
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#188
1886
2107
  sig { returns(::Tapioca::Gem::Event) }
1887
2108
  def next_event; end
1888
2109
 
1889
- # source://tapioca//lib/tapioca/gem/pipeline.rb#181
2110
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#216
1890
2111
  sig { params(event: ::Tapioca::Gem::ConstantFound).void }
1891
2112
  def on_constant(event); end
1892
2113
 
1893
- # source://tapioca//lib/tapioca/gem/pipeline.rb#199
2114
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#228
1894
2115
  sig { params(event: ::Tapioca::Gem::NodeAdded).void }
1895
2116
  def on_node(event); end
1896
2117
 
1897
- # source://tapioca//lib/tapioca/gem/pipeline.rb#172
2118
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#207
1898
2119
  sig { params(event: ::Tapioca::Gem::SymbolFound).void }
1899
2120
  def on_symbol(event); end
1900
2121
 
1901
- # source://tapioca//lib/tapioca/gem/pipeline.rb#393
2122
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#468
2123
+ sig { params(name: ::String).void }
2124
+ def seen!(name); end
2125
+
2126
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#473
1902
2127
  sig { params(name: ::String).returns(T::Boolean) }
1903
2128
  def seen?(name); end
2129
+
2130
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#407
2131
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2132
+ def skip_alias?(name, constant); end
2133
+
2134
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#395
2135
+ sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
2136
+ def skip_constant?(name, constant); end
2137
+
2138
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#424
2139
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2140
+ def skip_foreign_constant?(name, constant); end
2141
+
2142
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#429
2143
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2144
+ def skip_module?(name, constant); end
2145
+
2146
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#416
2147
+ sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
2148
+ def skip_object?(name, constant); end
2149
+
2150
+ # Constants and properties filtering
2151
+ #
2152
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#390
2153
+ sig { params(name: ::String).returns(T::Boolean) }
2154
+ def skip_symbol?(name); end
1904
2155
  end
1905
2156
 
2157
+ # this looks something like:
2158
+ # "(eval at /path/to/file.rb:123)"
2159
+ # and we are just interested in the "/path/to/file.rb" part
2160
+ #
2161
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#132
2162
+ Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
2163
+
1906
2164
  # source://tapioca//lib/tapioca/gem/pipeline.rb#11
1907
2165
  Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
1908
2166
 
@@ -1953,263 +2211,278 @@ module Tapioca::GemHelper
1953
2211
  def path_in_dir?(path, dir); end
1954
2212
  end
1955
2213
 
1956
- # source://tapioca//lib/tapioca/gemfile.rb#5
2214
+ # source://tapioca//lib/tapioca/gem_info.rb#5
2215
+ class Tapioca::GemInfo < ::T::Struct
2216
+ const :name, ::String
2217
+ const :version, ::Gem::Version
2218
+
2219
+ class << self
2220
+ # source://tapioca//lib/tapioca/gem_info.rb#13
2221
+ sig { params(spec: ::Bundler::LazySpecification).returns(::Tapioca::GemInfo) }
2222
+ def from_spec(spec); end
2223
+
2224
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
2225
+ def inherited(s); end
2226
+ end
2227
+ end
2228
+
2229
+ # source://tapioca//lib/tapioca/gemfile.rb#7
1957
2230
  class Tapioca::Gemfile
1958
- # source://tapioca//lib/tapioca/gemfile.rb#69
1959
- sig { params(exclude: T::Array[::String]).void }
1960
- def initialize(exclude); end
2231
+ # source://tapioca//lib/tapioca/gemfile.rb#27
2232
+ sig { params(excluded_gems: T::Array[::String]).void }
2233
+ def initialize(excluded_gems); end
1961
2234
 
1962
- # source://tapioca//lib/tapioca/gemfile.rb#60
2235
+ # source://tapioca//lib/tapioca/gemfile.rb#18
1963
2236
  sig { returns(::Bundler::Definition) }
1964
2237
  def definition; end
1965
2238
 
1966
- # source://tapioca//lib/tapioca/gemfile.rb#63
2239
+ # source://tapioca//lib/tapioca/gemfile.rb#21
1967
2240
  sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
1968
2241
  def dependencies; end
1969
2242
 
1970
- # source://tapioca//lib/tapioca/gemfile.rb#80
2243
+ # source://tapioca//lib/tapioca/gemfile.rb#40
1971
2244
  sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) }
1972
2245
  def gem(gem_name); end
1973
2246
 
1974
- # source://tapioca//lib/tapioca/gemfile.rb#66
2247
+ # source://tapioca//lib/tapioca/gemfile.rb#24
1975
2248
  sig { returns(T::Array[::String]) }
1976
2249
  def missing_specs; end
1977
2250
 
1978
- # source://tapioca//lib/tapioca/gemfile.rb#85
2251
+ # source://tapioca//lib/tapioca/gemfile.rb#45
1979
2252
  sig { void }
1980
2253
  def require_bundle; end
1981
2254
 
1982
2255
  private
1983
2256
 
1984
- # source://tapioca//lib/tapioca/gemfile.rb#130
2257
+ # source://tapioca//lib/tapioca/gemfile.rb#92
1985
2258
  sig { returns(::String) }
1986
2259
  def dir; end
1987
2260
 
1988
- # source://tapioca//lib/tapioca/gemfile.rb#92
2261
+ # source://tapioca//lib/tapioca/gemfile.rb#54
1989
2262
  sig { returns(::File) }
1990
2263
  def gemfile; end
1991
2264
 
1992
- # source://tapioca//lib/tapioca/gemfile.rb#125
2265
+ # source://tapioca//lib/tapioca/gemfile.rb#87
1993
2266
  sig { returns(T::Array[::Symbol]) }
1994
2267
  def groups; end
1995
2268
 
1996
- # source://tapioca//lib/tapioca/gemfile.rb#95
2269
+ # source://tapioca//lib/tapioca/gemfile.rb#57
1997
2270
  sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
1998
2271
  def load_dependencies; end
1999
2272
 
2000
2273
  # @return [File]
2001
2274
  #
2002
- # source://tapioca//lib/tapioca/gemfile.rb#92
2275
+ # source://tapioca//lib/tapioca/gemfile.rb#54
2003
2276
  def lockfile; end
2004
2277
 
2005
- # source://tapioca//lib/tapioca/gemfile.rb#106
2278
+ # source://tapioca//lib/tapioca/gemfile.rb#68
2006
2279
  sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) }
2007
2280
  def materialize_deps; end
2008
2281
 
2009
- # source://tapioca//lib/tapioca/gemfile.rb#120
2282
+ # source://tapioca//lib/tapioca/gemfile.rb#82
2010
2283
  sig { returns(::Bundler::Runtime) }
2011
2284
  def runtime; end
2012
2285
  end
2013
2286
 
2014
- # This is a module that gets prepended to `Bundler::Dependency` and
2015
- # makes sure even gems marked as `require: false` are required during
2016
- # `Bundler.require`.
2017
- #
2018
- # source://tapioca//lib/tapioca/gemfile.rb#18
2019
- module Tapioca::Gemfile::AutoRequireHook
2020
- requires_ancestor { Bundler::Dependency }
2021
-
2022
- # source://tapioca//lib/tapioca/gemfile.rb#39
2023
- sig { returns(T.untyped) }
2024
- def autorequire; end
2025
-
2026
- class << self
2027
- # source://tapioca//lib/tapioca/gemfile.rb#30
2028
- sig { params(exclude: T::Array[::String]).returns(T::Array[::String]) }
2029
- def exclude=(exclude); end
2030
-
2031
- # source://tapioca//lib/tapioca/gemfile.rb#33
2032
- sig { params(name: T.untyped).returns(T::Boolean) }
2033
- def excluded?(name); end
2034
- end
2035
- end
2036
-
2037
- # source://tapioca//lib/tapioca/gemfile.rb#134
2287
+ # source://tapioca//lib/tapioca/gemfile.rb#96
2038
2288
  class Tapioca::Gemfile::GemSpec
2039
2289
  include ::Tapioca::GemHelper
2040
2290
 
2041
- # source://tapioca//lib/tapioca/gemfile.rb#173
2291
+ # source://tapioca//lib/tapioca/gemfile.rb#136
2042
2292
  sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
2043
2293
  def initialize(spec); end
2044
2294
 
2045
- # source://tapioca//lib/tapioca/gemfile.rb#183
2295
+ # source://tapioca//lib/tapioca/gemfile.rb#146
2046
2296
  sig { params(other: ::BasicObject).returns(T::Boolean) }
2047
2297
  def ==(other); end
2048
2298
 
2049
- # source://tapioca//lib/tapioca/gemfile.rb#203
2299
+ # source://tapioca//lib/tapioca/gemfile.rb#171
2050
2300
  sig { params(path: ::String).returns(T::Boolean) }
2051
2301
  def contains_path?(path); end
2052
2302
 
2053
- # source://tapioca//lib/tapioca/gemfile.rb#222
2303
+ # source://tapioca//lib/tapioca/gemfile.rb#161
2304
+ sig { returns(T::Array[::Gem::Dependency]) }
2305
+ def dependencies; end
2306
+
2307
+ # source://tapioca//lib/tapioca/gemfile.rb#201
2054
2308
  sig { returns(T::Boolean) }
2055
2309
  def export_rbi_files?; end
2056
2310
 
2057
- # source://tapioca//lib/tapioca/gemfile.rb#217
2311
+ # source://tapioca//lib/tapioca/gemfile.rb#196
2058
2312
  sig { returns(T::Array[::String]) }
2059
2313
  def exported_rbi_files; end
2060
2314
 
2061
- # source://tapioca//lib/tapioca/gemfile.rb#227
2315
+ # source://tapioca//lib/tapioca/gemfile.rb#206
2062
2316
  sig { returns(::RBI::MergeTree) }
2063
2317
  def exported_rbi_tree; end
2064
2318
 
2065
- # source://tapioca//lib/tapioca/gemfile.rb#170
2319
+ # source://tapioca//lib/tapioca/gemfile.rb#133
2066
2320
  sig { returns(T::Array[::Pathname]) }
2067
2321
  def files; end
2068
2322
 
2069
- # source://tapioca//lib/tapioca/gemfile.rb#167
2323
+ # source://tapioca//lib/tapioca/gemfile.rb#130
2070
2324
  sig { returns(::String) }
2071
2325
  def full_gem_path; end
2072
2326
 
2073
- # source://tapioca//lib/tapioca/gemfile.rb#188
2327
+ # source://tapioca//lib/tapioca/gemfile.rb#151
2074
2328
  sig { params(gemfile_dir: ::String).returns(T::Boolean) }
2075
2329
  def ignore?(gemfile_dir); end
2076
2330
 
2077
- # source://tapioca//lib/tapioca/gemfile.rb#193
2331
+ # source://tapioca//lib/tapioca/gemfile.rb#156
2078
2332
  sig { returns(::String) }
2079
2333
  def name; end
2080
2334
 
2081
- # source://tapioca//lib/tapioca/gemfile.rb#212
2335
+ # source://tapioca//lib/tapioca/gemfile.rb#180
2082
2336
  sig { void }
2083
2337
  def parse_yard_docs; end
2084
2338
 
2085
- # source://tapioca//lib/tapioca/gemfile.rb#198
2339
+ # source://tapioca//lib/tapioca/gemfile.rb#166
2086
2340
  sig { returns(::String) }
2087
2341
  def rbi_file_name; end
2088
2342
 
2089
- # source://tapioca//lib/tapioca/gemfile.rb#239
2343
+ # source://tapioca//lib/tapioca/gemfile.rb#218
2090
2344
  sig { params(file: ::Pathname).returns(::Pathname) }
2091
2345
  def relative_path_for(file); end
2092
2346
 
2093
2347
  # @return [String]
2094
2348
  #
2095
- # source://tapioca//lib/tapioca/gemfile.rb#167
2349
+ # source://tapioca//lib/tapioca/gemfile.rb#130
2096
2350
  def version; end
2097
2351
 
2098
2352
  private
2099
2353
 
2100
- # source://tapioca//lib/tapioca/gemfile.rb#250
2354
+ # source://tapioca//lib/tapioca/gemfile.rb#229
2101
2355
  sig { returns(T::Array[::Pathname]) }
2102
2356
  def collect_files; end
2103
2357
 
2104
- # source://tapioca//lib/tapioca/gemfile.rb#265
2358
+ # source://tapioca//lib/tapioca/gemfile.rb#244
2105
2359
  sig { returns(T.nilable(T::Boolean)) }
2106
2360
  def default_gem?; end
2107
2361
 
2108
- # source://tapioca//lib/tapioca/gemfile.rb#323
2362
+ # source://tapioca//lib/tapioca/gemfile.rb#303
2109
2363
  sig { returns(T::Boolean) }
2110
2364
  def gem_ignored?; end
2111
2365
 
2112
- # source://tapioca//lib/tapioca/gemfile.rb#302
2366
+ # source://tapioca//lib/tapioca/gemfile.rb#282
2113
2367
  sig { params(path: ::String).returns(T::Boolean) }
2114
2368
  def has_parent_gemspec?(path); end
2115
2369
 
2116
- # source://tapioca//lib/tapioca/gemfile.rb#270
2370
+ # source://tapioca//lib/tapioca/gemfile.rb#249
2117
2371
  sig { returns(::Regexp) }
2118
2372
  def require_paths_prefix_matcher; end
2119
2373
 
2120
- # source://tapioca//lib/tapioca/gemfile.rb#281
2374
+ # source://tapioca//lib/tapioca/gemfile.rb#261
2121
2375
  sig { params(file: ::String).returns(::Pathname) }
2122
2376
  def resolve_to_ruby_lib_dir(file); end
2123
2377
 
2124
- # source://tapioca//lib/tapioca/gemfile.rb#295
2378
+ # source://tapioca//lib/tapioca/gemfile.rb#275
2125
2379
  sig { returns(::String) }
2126
2380
  def version_string; end
2127
2381
 
2128
2382
  class << self
2129
- # source://tapioca//lib/tapioca/gemfile.rb#142
2383
+ # source://tapioca//lib/tapioca/gemfile.rb#104
2130
2384
  sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) }
2131
2385
  def spec_lookup_by_file_path; end
2132
2386
  end
2133
2387
  end
2134
2388
 
2135
- # source://tapioca//lib/tapioca/gemfile.rb#154
2389
+ # source://tapioca//lib/tapioca/gemfile.rb#116
2136
2390
  Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2137
2391
 
2138
- # source://tapioca//lib/tapioca/gemfile.rb#8
2392
+ # source://tapioca//lib/tapioca/gemfile.rb#10
2139
2393
  Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2140
2394
 
2395
+ # source://tapioca//lib/tapioca.rb#33
2396
+ Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String)
2397
+
2141
2398
  # source://tapioca//lib/tapioca/loaders/loader.rb#5
2142
2399
  module Tapioca::Loaders; end
2143
2400
 
2144
2401
  # source://tapioca//lib/tapioca/loaders/dsl.rb#6
2145
2402
  class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2146
- # source://tapioca//lib/tapioca/loaders/dsl.rb#29
2147
- sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
2148
- def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2403
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#38
2404
+ sig do
2405
+ params(
2406
+ tapioca_path: ::String,
2407
+ eager_load: T::Boolean,
2408
+ app_root: ::String,
2409
+ halt_upon_load_error: T::Boolean
2410
+ ).void
2411
+ end
2412
+ def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2149
2413
 
2150
- # source://tapioca//lib/tapioca/loaders/dsl.rb#20
2414
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#27
2151
2415
  sig { override.void }
2152
2416
  def load; end
2153
2417
 
2154
2418
  protected
2155
2419
 
2156
- # source://tapioca//lib/tapioca/loaders/dsl.rb#61
2420
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#88
2157
2421
  sig { void }
2158
2422
  def load_application; end
2159
2423
 
2160
- # source://tapioca//lib/tapioca/loaders/dsl.rb#43
2424
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#63
2161
2425
  sig { void }
2162
2426
  def load_dsl_compilers; end
2163
2427
 
2164
- # source://tapioca//lib/tapioca/loaders/dsl.rb#38
2428
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#48
2165
2429
  sig { void }
2166
2430
  def load_dsl_extensions; end
2167
2431
 
2168
2432
  class << self
2169
- # source://tapioca//lib/tapioca/loaders/dsl.rb#13
2170
- sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
2171
- def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2433
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#15
2434
+ sig do
2435
+ params(
2436
+ tapioca_path: ::String,
2437
+ eager_load: T::Boolean,
2438
+ app_root: ::String,
2439
+ halt_upon_load_error: T::Boolean
2440
+ ).void
2441
+ end
2442
+ def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2172
2443
  end
2173
2444
  end
2174
2445
 
2175
2446
  # source://tapioca//lib/tapioca/loaders/gem.rb#6
2176
2447
  class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2177
- # source://tapioca//lib/tapioca/loaders/gem.rb#46
2448
+ # source://tapioca//lib/tapioca/loaders/gem.rb#49
2178
2449
  sig do
2179
2450
  params(
2180
2451
  bundle: ::Tapioca::Gemfile,
2181
2452
  prerequire: T.nilable(::String),
2182
2453
  postrequire: ::String,
2183
- default_command: ::String
2454
+ default_command: ::String,
2455
+ halt_upon_load_error: T::Boolean
2184
2456
  ).void
2185
2457
  end
2186
- def initialize(bundle:, prerequire:, postrequire:, default_command:); end
2458
+ def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2187
2459
 
2188
- # source://tapioca//lib/tapioca/loaders/gem.rb#32
2460
+ # source://tapioca//lib/tapioca/loaders/gem.rb#34
2189
2461
  sig { override.void }
2190
2462
  def load; end
2191
2463
 
2192
2464
  protected
2193
2465
 
2194
- # source://tapioca//lib/tapioca/loaders/gem.rb#76
2466
+ # source://tapioca//lib/tapioca/loaders/gem.rb#80
2195
2467
  sig { params(file: ::String, error: ::LoadError).void }
2196
2468
  def explain_failed_require(file, error); end
2197
2469
 
2198
- # source://tapioca//lib/tapioca/loaders/gem.rb#56
2470
+ # source://tapioca//lib/tapioca/loaders/gem.rb#60
2199
2471
  sig { void }
2200
2472
  def require_gem_file; end
2201
2473
 
2202
2474
  class << self
2203
- # source://tapioca//lib/tapioca/loaders/gem.rb#20
2475
+ # source://tapioca//lib/tapioca/loaders/gem.rb#21
2204
2476
  sig do
2205
2477
  params(
2206
2478
  bundle: ::Tapioca::Gemfile,
2207
2479
  prerequire: T.nilable(::String),
2208
2480
  postrequire: ::String,
2209
- default_command: ::String
2481
+ default_command: ::String,
2482
+ halt_upon_load_error: T::Boolean
2210
2483
  ).void
2211
2484
  end
2212
- def load_application(bundle:, prerequire:, postrequire:, default_command:); end
2485
+ def load_application(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2213
2486
  end
2214
2487
  end
2215
2488
 
@@ -2235,68 +2508,78 @@ class Tapioca::Loaders::Loader
2235
2508
 
2236
2509
  private
2237
2510
 
2238
- # source://tapioca//lib/tapioca/loaders/loader.rb#182
2511
+ # Rails 7.2 renamed `eager_load_paths` to `all_eager_load_paths`, which maintains the same original functionality.
2512
+ # The `eager_load_paths` method still exists, but doesn't return all paths anymore and causes Tapioca to miss some
2513
+ # engine paths. The following commit is the change:
2514
+ # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
2515
+ #
2516
+ # @param engine [T.class_of(Rails::Engine)]
2517
+ # @return [Array<String>]
2518
+ #
2519
+ # source://tapioca//lib/tapioca/loaders/loader.rb#234
2520
+ def eager_load_paths(engine); end
2521
+
2522
+ # source://tapioca//lib/tapioca/loaders/loader.rb#199
2239
2523
  sig { void }
2240
2524
  def eager_load_rails_app; end
2241
2525
 
2242
2526
  # @return [Array<T.class_of(Rails::Engine)>]
2243
2527
  #
2244
- # source://tapioca//lib/tapioca/loaders/loader.rb#153
2528
+ # source://tapioca//lib/tapioca/loaders/loader.rb#178
2245
2529
  def engines; end
2246
2530
 
2247
- # source://tapioca//lib/tapioca/loaders/loader.rb#24
2531
+ # source://tapioca//lib/tapioca/loaders/loader.rb#29
2248
2532
  sig do
2249
2533
  params(
2250
2534
  gemfile: ::Tapioca::Gemfile,
2251
2535
  initialize_file: T.nilable(::String),
2252
- require_file: T.nilable(::String)
2536
+ require_file: T.nilable(::String),
2537
+ halt_upon_load_error: T::Boolean
2253
2538
  ).void
2254
2539
  end
2255
- def load_bundle(gemfile, initialize_file, require_file); end
2540
+ def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2256
2541
 
2257
- # source://tapioca//lib/tapioca/loaders/loader.rb#111
2542
+ # source://tapioca//lib/tapioca/loaders/loader.rb#136
2258
2543
  sig { void }
2259
2544
  def load_engines_in_classic_mode; end
2260
2545
 
2261
- # source://tapioca//lib/tapioca/loaders/loader.rb#89
2546
+ # source://tapioca//lib/tapioca/loaders/loader.rb#114
2262
2547
  sig { void }
2263
2548
  def load_engines_in_zeitwerk_mode; end
2264
2549
 
2265
- # source://tapioca//lib/tapioca/loaders/loader.rb#37
2266
- sig { params(environment_load: T::Boolean, eager_load: T::Boolean, app_root: ::String).void }
2267
- def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
2550
+ # source://tapioca//lib/tapioca/loaders/loader.rb#49
2551
+ sig do
2552
+ params(
2553
+ environment_load: T::Boolean,
2554
+ eager_load: T::Boolean,
2555
+ app_root: ::String,
2556
+ halt_upon_load_error: T::Boolean
2557
+ ).void
2558
+ end
2559
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2268
2560
 
2269
- # source://tapioca//lib/tapioca/loaders/loader.rb#64
2561
+ # source://tapioca//lib/tapioca/loaders/loader.rb#89
2270
2562
  sig { void }
2271
2563
  def load_rails_engines; end
2272
2564
 
2273
- # source://tapioca//lib/tapioca/loaders/loader.rb#203
2565
+ # source://tapioca//lib/tapioca/loaders/loader.rb#220
2274
2566
  sig { params(file: T.nilable(::String)).void }
2275
2567
  def require_helper(file); end
2276
2568
 
2277
- # source://tapioca//lib/tapioca/loaders/loader.rb#78
2569
+ # source://tapioca//lib/tapioca/loaders/loader.rb#103
2278
2570
  def run_initializers; end
2279
2571
 
2280
- # source://tapioca//lib/tapioca/loaders/loader.rb#167
2572
+ # source://tapioca//lib/tapioca/loaders/loader.rb#192
2281
2573
  sig { params(path: ::String).void }
2282
2574
  def safe_require(path); end
2283
2575
 
2284
- # source://tapioca//lib/tapioca/loaders/loader.rb#174
2285
- sig { void }
2286
- def silence_deprecations; end
2287
-
2288
- # source://tapioca//lib/tapioca/loaders/loader.rb#136
2576
+ # source://tapioca//lib/tapioca/loaders/loader.rb#161
2289
2577
  sig { params(blk: T.proc.void).void }
2290
2578
  def with_rails_application(&blk); end
2291
2579
 
2292
- # source://tapioca//lib/tapioca/loaders/loader.rb#129
2580
+ # source://tapioca//lib/tapioca/loaders/loader.rb#154
2293
2581
  sig { returns(T::Boolean) }
2294
2582
  def zeitwerk_mode?; end
2295
-
2296
- class << self
2297
- # source://sorbet-runtime/0.5.10832/lib/types/private/abstract/declare.rb#37
2298
- def new(*args, **_arg1, &blk); end
2299
- end
2300
2583
  end
2301
2584
 
2302
2585
  # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5
@@ -2334,26 +2617,26 @@ module Tapioca::RBIFilesHelper
2334
2617
  dsl_dir: ::String,
2335
2618
  auto_strictness: T::Boolean,
2336
2619
  gems: T::Array[::Tapioca::Gemfile::GemSpec],
2337
- compilers: T::Enumerable[::Class]
2620
+ compilers: T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]
2338
2621
  ).void
2339
2622
  end
2340
2623
  def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end
2341
2624
 
2342
2625
  private
2343
2626
 
2344
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#209
2627
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#223
2345
2628
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) }
2346
2629
  def extract_empty_scopes(nodes); end
2347
2630
 
2348
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#214
2631
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#228
2349
2632
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2350
2633
  def extract_methods_and_attrs(nodes); end
2351
2634
 
2352
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#224
2635
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#238
2353
2636
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) }
2354
2637
  def extract_mixins(nodes); end
2355
2638
 
2356
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#234
2639
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#248
2357
2640
  sig do
2358
2641
  params(
2359
2642
  nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)]
@@ -2361,7 +2644,7 @@ module Tapioca::RBIFilesHelper
2361
2644
  end
2362
2645
  def extract_nodes_with_sigs(nodes); end
2363
2646
 
2364
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#202
2647
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#216
2365
2648
  sig do
2366
2649
  params(
2367
2650
  nodes: T::Array[::RBI::Node],
@@ -2371,7 +2654,7 @@ module Tapioca::RBIFilesHelper
2371
2654
  end
2372
2655
  def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2373
2656
 
2374
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#266
2657
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#280
2375
2658
  sig { params(path: ::String).returns(::String) }
2376
2659
  def gem_name_from_rbi_path(path); end
2377
2660
 
@@ -2383,14 +2666,14 @@ module Tapioca::RBIFilesHelper
2383
2666
  sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2384
2667
  def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2385
2668
 
2386
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#239
2669
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#253
2387
2670
  sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2388
2671
  def update_gem_rbis_strictnesses(errors, gem_dir); end
2389
2672
  end
2390
2673
 
2391
2674
  # source://tapioca//lib/tapioca/rbi_formatter.rb#5
2392
2675
  class Tapioca::RBIFormatter < ::RBI::Formatter
2393
- # source://tapioca//lib/tapioca/rbi_formatter.rb#22
2676
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#24
2394
2677
  sig { params(file: ::RBI::File).void }
2395
2678
  def write_empty_body_comment!(file); end
2396
2679
 
@@ -2409,6 +2692,10 @@ module Tapioca::RBIHelper
2409
2692
  sig { params(type: ::String).returns(::String) }
2410
2693
  def as_nilable_type(type); end
2411
2694
 
2695
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2696
+ sig { params(type: ::String).returns(::String) }
2697
+ def as_non_nilable_type(type); end
2698
+
2412
2699
  # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#72
2413
2700
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2414
2701
  def create_block_param(name, type:); end
@@ -2445,11 +2732,11 @@ module Tapioca::RBIHelper
2445
2732
  sig { params(sig_string: ::String).returns(::String) }
2446
2733
  def sanitize_signature_types(sig_string); end
2447
2734
 
2448
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2735
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#109
2449
2736
  sig { params(name: ::String).returns(T::Boolean) }
2450
2737
  def valid_method_name?(name); end
2451
2738
 
2452
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#114
2739
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#123
2453
2740
  sig { params(name: ::String).returns(T::Boolean) }
2454
2741
  def valid_parameter_name?(name); end
2455
2742
 
@@ -2643,7 +2930,7 @@ module Tapioca::Runtime::GenericTypeRegistry
2643
2930
  def create_generic_type(constant, name); end
2644
2931
 
2645
2932
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155
2646
- sig { params(constant: ::Class).returns(::Class) }
2933
+ sig { params(constant: T::Class[T.anything]).returns(T::Class[T.anything]) }
2647
2934
  def create_safe_subclass(constant); end
2648
2935
 
2649
2936
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182
@@ -2659,7 +2946,7 @@ class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
2659
2946
  def initialize(raw_type, underlying_type); end
2660
2947
 
2661
2948
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45
2662
- sig { params(obj: T.untyped).returns(T::Boolean) }
2949
+ sig { override.params(obj: T.untyped).returns(T::Boolean) }
2663
2950
  def valid?(obj); end
2664
2951
  end
2665
2952
 
@@ -2668,6 +2955,10 @@ module Tapioca::Runtime::Reflection
2668
2955
  extend ::Tapioca::Runtime::AttachedClassOf
2669
2956
  extend ::Tapioca::Runtime::Reflection
2670
2957
 
2958
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#201
2959
+ sig { params(constant: ::Module).returns(T.untyped) }
2960
+ def abstract_type_of(constant); end
2961
+
2671
2962
  # source://tapioca//lib/tapioca/runtime/reflection.rb#77
2672
2963
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
2673
2964
  def ancestors_of(constant); end
@@ -2677,7 +2968,7 @@ module Tapioca::Runtime::Reflection
2677
2968
  def are_equal?(object, other); end
2678
2969
 
2679
2970
  # source://tapioca//lib/tapioca/runtime/reflection.rb#56
2680
- sig { params(object: ::BasicObject).returns(::Class) }
2971
+ sig { params(object: ::BasicObject).returns(T::Class[T.anything]) }
2681
2972
  def class_of(object); end
2682
2973
 
2683
2974
  # @param constant [BasicObject]
@@ -2708,24 +2999,28 @@ module Tapioca::Runtime::Reflection
2708
2999
  # class D < C; end
2709
3000
  # descendants_of(C) # => [B, A, D]
2710
3001
  #
2711
- # source://tapioca//lib/tapioca/runtime/reflection.rb#167
3002
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#172
2712
3003
  sig do
2713
3004
  type_parameters(:U)
2714
3005
  .params(
2715
- klass: T.all(::Class, T.type_parameter(:U))
3006
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
2716
3007
  ).returns(T::Array[T.type_parameter(:U)])
2717
3008
  end
2718
3009
  def descendants_of(klass); end
2719
3010
 
2720
- # source://tapioca//lib/tapioca/runtime/reflection.rb#189
3011
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#194
2721
3012
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2722
3013
  def file_candidates_for(constant); end
2723
3014
 
3015
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#207
3016
+ sig { params(constant: ::Module).returns(T::Boolean) }
3017
+ def final_module?(constant); end
3018
+
2724
3019
  # source://tapioca//lib/tapioca/runtime/reflection.rb#112
2725
3020
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
2726
3021
  def inherited_ancestors_of(constant); end
2727
3022
 
2728
- # source://tapioca//lib/tapioca/runtime/reflection.rb#145
3023
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#150
2729
3024
  sig { params(constant: ::Module, method: ::Symbol).returns(::Method) }
2730
3025
  def method_of(constant, method); end
2731
3026
 
@@ -2733,7 +3028,7 @@ module Tapioca::Runtime::Reflection
2733
3028
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
2734
3029
  def name_of(constant); end
2735
3030
 
2736
- # source://tapioca//lib/tapioca/runtime/reflection.rb#140
3031
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#145
2737
3032
  sig { params(type: ::T::Types::Base).returns(::String) }
2738
3033
  def name_of_type(type); end
2739
3034
 
@@ -2761,37 +3056,49 @@ module Tapioca::Runtime::Reflection
2761
3056
  # by searching for the label "<top (required)>". If none is found, it returns the location
2762
3057
  # labeled "<main>", which is the original call site.
2763
3058
  #
2764
- # source://tapioca//lib/tapioca/runtime/reflection.rb#179
3059
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#184
2765
3060
  sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
2766
3061
  def resolve_loc(locations); end
2767
3062
 
2768
- # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3063
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#212
3064
+ sig { params(constant: ::Module).returns(T::Boolean) }
3065
+ def sealed_module?(constant); end
3066
+
3067
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#138
2769
3068
  sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
2770
3069
  def signature_of(method); end
2771
3070
 
3071
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3072
+ sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3073
+ def signature_of!(method); end
3074
+
2772
3075
  # source://tapioca//lib/tapioca/runtime/reflection.rb#72
2773
- sig { params(constant: ::Module).returns(::Class) }
3076
+ sig { params(constant: ::Module).returns(T::Class[T.anything]) }
2774
3077
  def singleton_class_of(constant); end
2775
3078
 
2776
3079
  # source://tapioca//lib/tapioca/runtime/reflection.rb#82
2777
- sig { params(constant: ::Class).returns(T.nilable(::Class)) }
3080
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(T::Class[T.anything])) }
2778
3081
  def superclass_of(constant); end
2779
3082
 
2780
3083
  private
2781
3084
 
2782
- # source://tapioca//lib/tapioca/runtime/reflection.rb#228
3085
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#249
2783
3086
  sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
2784
3087
  def child_module_for_parent_with_name(parent, name); end
2785
3088
 
2786
- # source://tapioca//lib/tapioca/runtime/reflection.rb#239
3089
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#265
3090
+ sig { params(name: ::String).returns(T::Boolean) }
3091
+ def has_aliased_namespace?(name); end
3092
+
3093
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#260
2787
3094
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
2788
3095
  def method_defined_by_forwardable_module?(method); end
2789
3096
 
2790
- # source://tapioca//lib/tapioca/runtime/reflection.rb#214
3097
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#235
2791
3098
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
2792
3099
  def methods_for(constant); end
2793
3100
 
2794
- # source://tapioca//lib/tapioca/runtime/reflection.rb#198
3101
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#219
2795
3102
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
2796
3103
  def relevant_methods_for(constant); end
2797
3104
  end
@@ -2975,9 +3282,9 @@ end
2975
3282
 
2976
3283
  class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum
2977
3284
  enums do
2978
- Prepend = new
2979
- Include = new
2980
3285
  Extend = new
3286
+ Include = new
3287
+ Prepend = new
2981
3288
  end
2982
3289
  end
2983
3290
 
@@ -3023,23 +3330,23 @@ module Tapioca::Runtime::Trackers::Tracker
3023
3330
  end
3024
3331
  end
3025
3332
 
3026
- # source://tapioca//lib/tapioca.rb#33
3333
+ # source://tapioca//lib/tapioca.rb#35
3027
3334
  Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
3028
3335
 
3029
- # source://tapioca//lib/tapioca.rb#32
3336
+ # source://tapioca//lib/tapioca.rb#34
3030
3337
  Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3031
3338
 
3032
3339
  # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
3033
3340
  module Tapioca::SorbetHelper
3034
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#33
3341
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#32
3035
3342
  sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
3036
3343
  def sorbet(*sorbet_args); end
3037
3344
 
3038
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#38
3345
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#37
3039
3346
  sig { returns(::String) }
3040
3347
  def sorbet_path; end
3041
3348
 
3042
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#45
3349
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#44
3043
3350
  sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
3044
3351
  def sorbet_supports?(feature, version: T.unsafe(nil)); end
3045
3352
  end
@@ -3105,7 +3412,7 @@ module Tapioca::Static::SymbolLoader
3105
3412
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3106
3413
  def engine_symbols(gem); end
3107
3414
 
3108
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#40
3415
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#48
3109
3416
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3110
3417
  def gem_symbols(gem); end
3111
3418
 
@@ -3113,7 +3420,7 @@ module Tapioca::Static::SymbolLoader
3113
3420
  sig { returns(T::Set[::String]) }
3114
3421
  def payload_symbols; end
3115
3422
 
3116
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#45
3423
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#53
3117
3424
  sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
3118
3425
  def symbols_from_paths(paths); end
3119
3426
 
@@ -3121,10 +3428,10 @@ module Tapioca::Static::SymbolLoader
3121
3428
 
3122
3429
  # @return [Array<T.class_of(Rails::Engine)>]
3123
3430
  #
3124
- # source://sorbet-runtime/0.5.10832/lib/types/private/methods/_methods.rb#255
3125
- def engines(*args, **_arg1, &blk); end
3431
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#69
3432
+ def engines; end
3126
3433
 
3127
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#73
3434
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
3128
3435
  sig { params(input: ::String, table_type: ::String).returns(::String) }
3129
3436
  def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
3130
3437
  end
@@ -3158,22 +3465,22 @@ end
3158
3465
  # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9
3159
3466
  Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3160
3467
 
3161
- # source://tapioca//lib/tapioca.rb#35
3468
+ # source://tapioca//lib/tapioca.rb#37
3162
3469
  Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3163
3470
 
3164
- # source://tapioca//lib/tapioca.rb#34
3471
+ # source://tapioca//lib/tapioca.rb#36
3165
3472
  Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3166
3473
 
3167
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3474
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
3168
3475
  class Tapioca::TypeVariable < ::T::Types::TypeVariable
3169
3476
  # @return [TypeVariable] a new instance of TypeVariable
3170
3477
  #
3171
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#123
3478
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#109
3172
3479
  def initialize(name, variance); end
3173
3480
 
3174
3481
  # Returns the value of attribute name.
3175
3482
  #
3176
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#128
3483
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#114
3177
3484
  def name; end
3178
3485
  end
3179
3486
 
@@ -3183,67 +3490,53 @@ end
3183
3490
  # need to do any matching of constants to type variables to bind their names, Ruby will
3184
3491
  # do that automatically for us and we get the `name` method for free from `Module`.
3185
3492
  #
3186
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3493
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3187
3494
  class Tapioca::TypeVariableModule < ::Module
3188
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#158
3495
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#146
3189
3496
  sig do
3190
3497
  params(
3191
3498
  context: ::Module,
3192
3499
  type: ::Tapioca::TypeVariableModule::Type,
3193
3500
  variance: ::Symbol,
3194
- fixed: T.untyped,
3195
- lower: T.untyped,
3196
- upper: T.untyped,
3197
3501
  bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3198
3502
  ).void
3199
3503
  end
3200
- def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end
3504
+ def initialize(context, type, variance, bounds_proc); end
3201
3505
 
3202
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#212
3506
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#181
3203
3507
  sig { returns(::Tapioca::TypeVariable) }
3204
3508
  def coerce_to_type_variable; end
3205
3509
 
3206
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#192
3510
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#161
3207
3511
  sig { returns(T::Boolean) }
3208
3512
  def fixed?; end
3209
3513
 
3210
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#173
3514
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155
3211
3515
  sig { returns(T.nilable(::String)) }
3212
3516
  def name; end
3213
3517
 
3214
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#197
3518
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#166
3215
3519
  sig { returns(::String) }
3216
3520
  def serialize; end
3217
3521
 
3522
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3523
+ sig { returns(::Tapioca::TypeVariableModule::Type) }
3524
+ def type; end
3525
+
3218
3526
  private
3219
3527
 
3220
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#246
3528
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#188
3221
3529
  sig { returns(T::Hash[::Symbol, T.untyped]) }
3222
3530
  def bounds; end
3223
-
3224
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#222
3225
- sig do
3226
- params(
3227
- fixed: T.untyped,
3228
- lower: T.untyped,
3229
- upper: T.untyped
3230
- ).returns(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3231
- end
3232
- def build_bounds_proc(fixed, lower, upper); end
3233
-
3234
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#236
3235
- sig do
3236
- type_parameters(:Result)
3237
- .params(
3238
- block: T.proc.returns(T.type_parameter(:Result))
3239
- ).returns(T.type_parameter(:Result))
3240
- end
3241
- def with_bound_name_pre_3_0(&block); end
3242
3531
  end
3243
3532
 
3244
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#139
3533
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#133
3534
+ Tapioca::TypeVariableModule::DEFAULT_BOUNDS_PROC = T.let(T.unsafe(nil), Proc)
3535
+
3536
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#125
3245
3537
  class Tapioca::TypeVariableModule::Type < ::T::Enum
3246
3538
  enums do
3539
+ HasAttachedClass = new
3247
3540
  Member = new
3248
3541
  Template = new
3249
3542
  end
@@ -3259,30 +3552,30 @@ end
3259
3552
 
3260
3553
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3261
3554
  class URI::Source < ::URI::File
3262
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3555
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#65
3263
3556
  sig { params(v: T.nilable(::String)).returns(T::Boolean) }
3264
3557
  def check_host(v); end
3265
3558
 
3266
- # source://uri/0.12.1/uri/generic.rb#243
3559
+ # source://uri/0.13.0/uri/generic.rb#243
3267
3560
  def gem_name; end
3268
3561
 
3269
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#25
3562
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#32
3270
3563
  sig { returns(T.nilable(::String)) }
3271
3564
  def gem_version; end
3272
3565
 
3273
- # source://uri/0.12.1/uri/generic.rb#283
3566
+ # source://uri/0.13.0/uri/generic.rb#283
3274
3567
  def line_number; end
3275
3568
 
3276
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#51
3569
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3277
3570
  sig { params(v: T.nilable(::String)).void }
3278
3571
  def set_path(v); end
3279
3572
 
3280
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#70
3573
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#77
3281
3574
  sig { returns(::String) }
3282
3575
  def to_s; end
3283
3576
 
3284
3577
  class << self
3285
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#38
3578
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#45
3286
3579
  sig do
3287
3580
  params(
3288
3581
  gem_name: ::String,
@@ -3298,4 +3591,13 @@ end
3298
3591
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#10
3299
3592
  URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)
3300
3593
 
3594
+ # `uri` for Ruby 3.4 switched the default parser from RFC2396 to RFC3986. The new parser emits a deprecation
3595
+ # warning on a few methods and delegates them to RFC2396, namely `extract`/`make_regexp`/`escape`/`unescape`.
3596
+ # On earlier versions of the uri gem, the RFC2396_PARSER constant doesn't exist, so it needs some special
3597
+ # handling to select a parser that doesn't emit deprecations. While it was backported to Ruby 3.1, users may
3598
+ # have the uri gem in their own bundle and thus not use a compatible version.
3599
+ #
3600
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#26
3601
+ URI::Source::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
3602
+
3301
3603
  class URI::WSS < ::URI::WS; end