sorbet-result 1.0.0 → 1.1.0

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