sorbet-result 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.standard.yml +1 -1
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +11 -0
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +52 -57
  8. data/README.md +3 -3
  9. data/lib/typed/result.rb +32 -2
  10. data/sorbet/rbi/gems/ast@2.4.2.rbi +1 -0
  11. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.0.rbi} +20 -15
  12. data/sorbet/rbi/gems/io-console@0.7.2.rbi +1 -0
  13. data/sorbet/rbi/gems/{json@2.7.1.rbi → json@2.7.5.rbi} +148 -72
  14. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +1 -0
  15. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +1 -0
  16. data/sorbet/rbi/gems/{minitest@5.22.2.rbi → minitest@5.25.1.rbi} +252 -241
  17. data/sorbet/rbi/gems/netrc@0.11.0.rbi +1 -0
  18. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.26.3.rbi} +32 -21
  19. data/sorbet/rbi/gems/{parser@3.3.0.5.rbi → parser@3.3.5.1.rbi} +233 -186
  20. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  21. data/sorbet/rbi/gems/psych@5.1.2.rbi +1 -0
  22. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +38 -33
  23. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +1 -0
  24. data/sorbet/rbi/gems/{rake@13.1.0.rbi → rake@13.2.1.rbi} +56 -55
  25. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  26. data/sorbet/rbi/gems/{regexp_parser@2.9.0.rbi → regexp_parser@2.9.2.rbi} +3 -2
  27. data/sorbet/rbi/gems/{reline@0.4.2.rbi → reline@0.5.10.rbi} +1 -0
  28. data/sorbet/rbi/gems/{rubocop-ast@1.30.0.rbi → rubocop-ast@1.33.1.rbi} +1143 -671
  29. data/sorbet/rbi/gems/{rubocop-performance@1.20.2.rbi → rubocop-performance@1.22.1.rbi} +1 -0
  30. data/sorbet/rbi/gems/{rubocop-sorbet@0.7.7.rbi → rubocop-sorbet@0.7.8.rbi} +1 -0
  31. data/sorbet/rbi/gems/{rubocop@1.60.2.rbi → rubocop@1.66.1.rbi} +3312 -2415
  32. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1 -0
  33. data/sorbet/rbi/gems/{spoom@1.2.4.rbi → spoom@1.5.0.rbi} +2009 -854
  34. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +1 -0
  35. data/sorbet/rbi/gems/{standard-performance@1.3.1.rbi → standard-performance@1.5.0.rbi} +1 -0
  36. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +1 -0
  37. data/sorbet/rbi/gems/{standard@1.34.0.rbi → standard@1.41.1.rbi} +171 -95
  38. data/sorbet/rbi/gems/{stringio@3.1.0.rbi → stringio@3.1.1.rbi} +1 -0
  39. data/sorbet/rbi/gems/{tapioca@0.12.0.rbi → tapioca@0.16.3.rbi} +357 -257
  40. data/sorbet/rbi/gems/{thor@1.3.0.rbi → thor@1.3.2.rbi} +114 -81
  41. data/sorbet/rbi/gems/{unicode-display_width@2.5.0.rbi → unicode-display_width@2.6.0.rbi} +1 -0
  42. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  43. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.37.rbi} +430 -270
  44. metadata +28 -45
  45. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  46. data/sorbet/rbi/gems/prism@0.24.0.rbi +0 -31040
  47. data/sorbet/rbi/gems/rbi@0.1.9.rbi +0 -3006
  48. data/sorbet/rbi/gems/rexml@3.2.6.rbi +0 -4781
  49. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +0 -23133
@@ -4,6 +4,7 @@
4
4
  # This is an autogenerated file for types exported from the `tapioca` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem tapioca`.
6
6
 
7
+
7
8
  class Bundler::Dependency < ::Gem::Dependency
8
9
  include ::Tapioca::BundlerExt::AutoRequireHook
9
10
  end
@@ -54,7 +55,7 @@ module RBI; end
54
55
 
55
56
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
56
57
  class RBI::Tree < ::RBI::NodeWithComments
57
- # source://rbi/0.1.9/lib/rbi/model.rb#119
58
+ # source://rbi/0.2.1/lib/rbi/model.rb#121
58
59
  sig do
59
60
  params(
60
61
  loc: T.nilable(::RBI::Loc),
@@ -64,19 +65,15 @@ class RBI::Tree < ::RBI::NodeWithComments
64
65
  end
65
66
  def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
66
67
 
67
- # source://rbi/0.1.9/lib/rbi/model.rb#126
68
+ # source://rbi/0.2.1/lib/rbi/model.rb#128
68
69
  sig { params(node: ::RBI::Node).void }
69
70
  def <<(node); end
70
71
 
71
- # source://rbi/0.1.9/lib/rbi/printer.rb#226
72
- sig { override.params(v: ::RBI::Printer).void }
73
- def accept_printer(v); end
74
-
75
- # source://rbi/0.1.9/lib/rbi/rewriters/add_sig_templates.rb#66
72
+ # source://rbi/0.2.1/lib/rbi/rewriters/add_sig_templates.rb#66
76
73
  sig { params(with_todo_comment: T::Boolean).void }
77
74
  def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
78
75
 
79
- # source://rbi/0.1.9/lib/rbi/rewriters/annotate.rb#49
76
+ # source://rbi/0.2.1/lib/rbi/rewriters/annotate.rb#49
80
77
  sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
81
78
  def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
82
79
 
@@ -102,18 +99,19 @@ class RBI::Tree < ::RBI::NodeWithComments
102
99
  sig { params(name: ::String).void }
103
100
  def create_include(name); end
104
101
 
105
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#89
102
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#90
106
103
  sig do
107
104
  params(
108
105
  name: ::String,
109
106
  parameters: T::Array[::RBI::TypedParam],
110
- return_type: ::String,
107
+ return_type: T.nilable(::String),
111
108
  class_method: T::Boolean,
112
109
  visibility: ::RBI::Visibility,
113
- comments: T::Array[::RBI::Comment]
110
+ comments: T::Array[::RBI::Comment],
111
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
114
112
  ).void
115
113
  end
116
- def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
114
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
117
115
 
118
116
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#60
119
117
  sig { params(name: ::String).void }
@@ -140,27 +138,35 @@ class RBI::Tree < ::RBI::NodeWithComments
140
138
  end
141
139
  def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
142
140
 
143
- # source://rbi/0.1.9/lib/rbi/rewriters/deannotate.rb#41
141
+ # source://rbi/0.2.1/lib/rbi/rewriters/deannotate.rb#41
144
142
  sig { params(annotation: ::String).void }
145
143
  def deannotate!(annotation); end
146
144
 
147
- # source://rbi/0.1.9/lib/rbi/model.rb#132
145
+ # source://rbi/0.2.1/lib/rbi/model.rb#134
148
146
  sig { returns(T::Boolean) }
149
147
  def empty?; end
150
148
 
151
- # source://rbi/0.1.9/lib/rbi/rewriters/filter_versions.rb#118
149
+ # source://rbi/0.2.1/lib/rbi/rewriters/filter_versions.rb#118
152
150
  sig { params(version: ::Gem::Version).void }
153
151
  def filter_versions!(version); end
154
152
 
155
- # source://rbi/0.1.9/lib/rbi/rewriters/group_nodes.rb#38
153
+ # source://rbi/0.2.1/lib/rbi/rewriters/flatten_singleton_methods.rb#60
154
+ sig { void }
155
+ def flatten_singleton_methods!; end
156
+
157
+ # source://rbi/0.2.1/lib/rbi/rewriters/flatten_visibilities.rb#60
158
+ sig { void }
159
+ def flatten_visibilities!; end
160
+
161
+ # source://rbi/0.2.1/lib/rbi/rewriters/group_nodes.rb#81
156
162
  sig { void }
157
163
  def group_nodes!; end
158
164
 
159
- # source://rbi/0.1.9/lib/rbi/index.rb#68
165
+ # source://rbi/0.2.1/lib/rbi/index.rb#68
160
166
  sig { returns(::RBI::Index) }
161
167
  def index; end
162
168
 
163
- # source://rbi/0.1.9/lib/rbi/rewriters/merge_trees.rb#324
169
+ # source://rbi/0.2.1/lib/rbi/rewriters/merge_trees.rb#324
164
170
  sig do
165
171
  params(
166
172
  other: ::RBI::Tree,
@@ -171,44 +177,48 @@ class RBI::Tree < ::RBI::NodeWithComments
171
177
  end
172
178
  def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
173
179
 
174
- # source://rbi/0.1.9/lib/rbi/rewriters/nest_non_public_methods.rb#46
180
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_non_public_members.rb#46
175
181
  sig { void }
176
- def nest_non_public_methods!; end
182
+ def nest_non_public_members!; end
177
183
 
178
- # source://rbi/0.1.9/lib/rbi/rewriters/nest_singleton_methods.rb#36
184
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_singleton_methods.rb#36
179
185
  sig { void }
180
186
  def nest_singleton_methods!; end
181
187
 
182
- # source://rbi/0.1.9/lib/rbi/model.rb#110
188
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_top_level_members.rb#63
189
+ sig { void }
190
+ def nest_top_level_members!; end
191
+
192
+ # source://rbi/0.2.1/lib/rbi/model.rb#112
183
193
  sig { returns(T::Array[::RBI::Node]) }
184
194
  def nodes; end
185
195
 
186
- # source://rbi/0.1.9/lib/rbi/printer.rb#233
187
- sig { override.returns(T::Boolean) }
188
- def oneline?; end
196
+ # source://rbi/0.2.1/lib/rbi/rewriters/attr_to_methods.rb#53
197
+ sig { void }
198
+ def replace_attributes_with_methods!; end
189
199
 
190
- # source://rbi/0.1.9/lib/rbi/rewriters/sort_nodes.rb#119
200
+ # source://rbi/0.2.1/lib/rbi/rewriters/sort_nodes.rb#119
191
201
  sig { void }
192
202
  def sort_nodes!; end
193
203
 
194
204
  private
195
205
 
196
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#116
206
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#123
197
207
  sig { params(node: ::RBI::Node).returns(::RBI::Node) }
198
208
  def create_node(node); end
199
209
 
200
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#111
210
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#118
201
211
  sig { returns(T::Hash[::String, ::RBI::Node]) }
202
212
  def nodes_cache; end
203
213
  end
204
214
 
205
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#126
215
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#133
206
216
  class RBI::TypedParam < ::T::Struct
207
217
  const :param, ::RBI::Param
208
218
  const :type, ::String
209
219
 
210
220
  class << self
211
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
221
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
212
222
  def inherited(s); end
213
223
  end
214
224
  end
@@ -377,7 +387,7 @@ end
377
387
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4
378
388
  module Tapioca
379
389
  class << self
380
- # source://tapioca//lib/tapioca.rb#19
390
+ # source://tapioca//lib/tapioca.rb#20
381
391
  sig do
382
392
  type_parameters(:Result)
383
393
  .params(
@@ -388,7 +398,7 @@ module Tapioca
388
398
  end
389
399
  end
390
400
 
391
- # source://tapioca//lib/tapioca.rb#37
401
+ # source://tapioca//lib/tapioca.rb#39
392
402
  Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
393
403
 
394
404
  # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
@@ -428,13 +438,13 @@ module Tapioca::BundlerExt::AutoRequireHook
428
438
  end
429
439
  end
430
440
 
431
- # source://tapioca//lib/tapioca.rb#60
441
+ # source://tapioca//lib/tapioca.rb#62
432
442
  Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
433
443
 
434
- # source://tapioca//lib/tapioca.rb#59
444
+ # source://tapioca//lib/tapioca.rb#61
435
445
  Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
436
446
 
437
- # source://tapioca//lib/tapioca.rb#58
447
+ # source://tapioca//lib/tapioca.rb#60
438
448
  Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
439
449
 
440
450
  # source://tapioca//lib/tapioca/cli.rb#5
@@ -443,24 +453,24 @@ class Tapioca::Cli < ::Thor
443
453
  include ::Tapioca::ConfigHelper
444
454
  include ::Tapioca::EnvHelper
445
455
 
446
- # source://tapioca//lib/tapioca/cli.rb#355
456
+ # source://tapioca//lib/tapioca/cli.rb#366
447
457
  def __print_version; end
448
458
 
449
- # source://tapioca//lib/tapioca/cli.rb#337
459
+ # source://tapioca//lib/tapioca/cli.rb#348
450
460
  def annotations; end
451
461
 
452
- # source://tapioca//lib/tapioca/cli.rb#309
462
+ # source://tapioca//lib/tapioca/cli.rb#320
453
463
  def check_shims; end
454
464
 
455
465
  # source://tapioca//lib/tapioca/cli.rb#46
456
466
  def configure; end
457
467
 
458
- # source://tapioca//lib/tapioca/cli.rb#138
468
+ # source://tapioca//lib/tapioca/cli.rb#147
459
469
  def dsl(*constant_or_paths); end
460
470
 
461
471
  # @raise [MalformattedArgumentError]
462
472
  #
463
- # source://tapioca//lib/tapioca/cli.rb#253
473
+ # source://tapioca//lib/tapioca/cli.rb#264
464
474
  def gem(*gems); end
465
475
 
466
476
  # source://tapioca//lib/tapioca/cli.rb#27
@@ -474,11 +484,11 @@ class Tapioca::Cli < ::Thor
474
484
 
475
485
  private
476
486
 
477
- # source://tapioca//lib/tapioca/cli.rb#369
487
+ # source://tapioca//lib/tapioca/cli.rb#380
478
488
  def print_init_next_steps; end
479
489
 
480
490
  class << self
481
- # source://tapioca//lib/tapioca/cli.rb#361
491
+ # source://tapioca//lib/tapioca/cli.rb#372
482
492
  def exit_on_failure?; end
483
493
  end
484
494
  end
@@ -515,7 +525,7 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
515
525
 
516
526
  abstract!
517
527
 
518
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#31
528
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#33
519
529
  sig do
520
530
  params(
521
531
  requested_constants: T::Array[::String],
@@ -525,6 +535,7 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
525
535
  exclude: T::Array[::String],
526
536
  file_header: T::Boolean,
527
537
  tapioca_path: ::String,
538
+ skip_constant: T::Array[::String],
528
539
  quiet: T::Boolean,
529
540
  verbose: T::Boolean,
530
541
  number_of_workers: T.nilable(::Integer),
@@ -532,22 +543,23 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
532
543
  gem_dir: ::String,
533
544
  rbi_formatter: ::Tapioca::RBIFormatter,
534
545
  app_root: ::String,
535
- halt_upon_load_error: T::Boolean
546
+ halt_upon_load_error: T::Boolean,
547
+ compiler_options: T::Hash[::String, T.untyped]
536
548
  ).void
537
549
  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
550
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, skip_constant: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil), compiler_options: T.unsafe(nil)); end
539
551
 
540
552
  private
541
553
 
542
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#94
554
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#100
543
555
  sig { returns(T::Array[::String]) }
544
556
  def all_requested_constants; end
545
557
 
546
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#284
558
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
547
559
  sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
548
560
  def build_error_for_files(cause, files); end
549
561
 
550
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#208
562
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#217
551
563
  sig do
552
564
  params(
553
565
  constant_name: ::String,
@@ -558,75 +570,75 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
558
570
  end
559
571
  def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
560
572
 
561
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#146
573
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#154
562
574
  sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
563
575
  def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
564
576
 
565
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#169
577
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#177
566
578
  sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
567
579
  def constantize_compilers(compiler_names); end
568
580
 
569
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
581
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#353
570
582
  sig { returns(T::Array[::String]) }
571
583
  def constants_from_requested_paths; end
572
584
 
573
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#117
585
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#123
574
586
  sig { returns(::Tapioca::Dsl::Pipeline) }
575
587
  def create_pipeline; end
576
588
 
577
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#247
589
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#256
578
590
  sig { params(constant_name: ::String).returns(::Pathname) }
579
591
  def dsl_rbi_filename(constant_name); end
580
592
 
581
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#132
593
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#140
582
594
  sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
583
595
  def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
584
596
 
585
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#339
597
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#348
586
598
  sig { params(constant: ::String).returns(::String) }
587
599
  def generate_command_for(constant); end
588
600
 
589
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#70
601
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#76
590
602
  sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
591
603
  def generate_dsl_rbi_files(outpath, quiet:); end
592
604
 
593
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#107
605
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#113
594
606
  sig { void }
595
607
  def load_application; end
596
608
 
597
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#226
609
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
598
610
  sig { params(dir: ::Pathname).void }
599
611
  def perform_dsl_verification(dir); end
600
612
 
601
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#102
613
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#108
602
614
  sig { returns(::Tapioca::Dsl::Pipeline) }
603
615
  def pipeline; end
604
616
 
605
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
617
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#244
606
618
  sig { params(files: T::Set[::Pathname]).void }
607
619
  def purge_stale_dsl_rbi_files(files); end
608
620
 
609
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#334
621
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#343
610
622
  sig { params(constant: ::String).returns(::String) }
611
623
  def rbi_filename_for(constant); end
612
624
 
613
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#315
625
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#324
614
626
  sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
615
627
  def rbi_files_in(path); end
616
628
 
617
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
629
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#302
618
630
  sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
619
631
  def report_diff_and_exit_if_out_of_date(diff, command); end
620
632
 
621
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#188
633
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#197
622
634
  sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
623
635
  def resolve(name); end
624
636
 
625
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#322
637
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#331
626
638
  sig { params(class_name: ::String).returns(::String) }
627
639
  def underscore(class_name); end
628
640
 
629
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#252
641
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#261
630
642
  sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
631
643
  def verify_dsl_rbi(tmp_dir:); end
632
644
  end
@@ -665,11 +677,11 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
665
677
 
666
678
  private
667
679
 
668
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#221
680
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#230
669
681
  sig { returns(T::Array[::String]) }
670
682
  def added_rbis; end
671
683
 
672
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#282
684
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#291
673
685
  sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
674
686
  def build_error_for_files(cause, files); end
675
687
 
@@ -677,19 +689,19 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
677
689
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
678
690
  def compile_gem_rbi(gem); end
679
691
 
680
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#216
692
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#225
681
693
  sig { params(gem_name: ::String).returns(::Pathname) }
682
694
  def existing_rbi(gem_name); end
683
695
 
684
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#264
696
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#273
685
697
  sig { returns(T::Hash[::String, ::String]) }
686
698
  def existing_rbis; end
687
699
 
688
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#228
700
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#237
689
701
  sig { params(gem_name: ::String).returns(::Pathname) }
690
702
  def expected_rbi(gem_name); end
691
703
 
692
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#270
704
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#279
693
705
  sig { returns(T::Hash[::String, ::String]) }
694
706
  def expected_rbis; end
695
707
 
@@ -702,11 +714,11 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
702
714
  end
703
715
  def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
704
716
 
705
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#233
717
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#242
706
718
  sig { params(gem_name: ::String).returns(T::Boolean) }
707
719
  def gem_rbi_exists?(gem_name); end
708
720
 
709
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#277
721
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#286
710
722
  sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
711
723
  def gem_rbi_filename(gem_name, version); end
712
724
 
@@ -714,27 +726,27 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
714
726
  sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
715
727
  def gems_to_generate(gem_names); end
716
728
 
717
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#287
729
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#296
718
730
  sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
719
731
  def merge_with_exported_rbi(gem, file); end
720
732
 
721
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#258
733
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#267
722
734
  sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
723
735
  def move(old_filename, new_filename); end
724
736
 
725
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#168
737
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#177
726
738
  sig { void }
727
739
  def perform_additions; end
728
740
 
729
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#141
741
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#150
730
742
  sig { void }
731
743
  def perform_removals; end
732
744
 
733
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#211
745
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#220
734
746
  sig { returns(T::Array[::String]) }
735
747
  def removed_rbis; end
736
748
 
737
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#238
749
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#247
738
750
  sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
739
751
  def report_diff_and_exit_if_out_of_date(diff, command); end
740
752
  end
@@ -755,11 +767,11 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
755
767
 
756
768
  private
757
769
 
758
- # source://tapioca//lib/tapioca/commands/annotations.rb#193
770
+ # source://tapioca//lib/tapioca/commands/annotations.rb#197
759
771
  sig { params(name: ::String, content: ::String).returns(::String) }
760
772
  def add_header(name, content); end
761
773
 
762
- # source://tapioca//lib/tapioca/commands/annotations.rb#213
774
+ # source://tapioca//lib/tapioca/commands/annotations.rb#217
763
775
  sig { params(name: ::String, content: ::String).returns(::String) }
764
776
  def apply_typed_override(name, content); end
765
777
 
@@ -768,18 +780,18 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
768
780
  def execute; end
769
781
 
770
782
  # source://tapioca//lib/tapioca/commands/annotations.rb#136
771
- sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
772
- def fetch_annotation(repo_uris, gem_name); end
783
+ sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).void }
784
+ def fetch_annotation(repo_uris, gem_info); end
773
785
 
774
786
  # source://tapioca//lib/tapioca/commands/annotations.rb#113
775
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
776
- def fetch_annotations(gem_names); end
787
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) }
788
+ def fetch_annotations(project_gems); end
777
789
 
778
- # source://tapioca//lib/tapioca/commands/annotations.rb#152
790
+ # source://tapioca//lib/tapioca/commands/annotations.rb#156
779
791
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
780
792
  def fetch_file(repo_uri, path); end
781
793
 
782
- # source://tapioca//lib/tapioca/commands/annotations.rb#169
794
+ # source://tapioca//lib/tapioca/commands/annotations.rb#173
783
795
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
784
796
  def fetch_http_file(repo_uri, path); end
785
797
 
@@ -791,31 +803,35 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
791
803
  sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
792
804
  def fetch_indexes; end
793
805
 
794
- # source://tapioca//lib/tapioca/commands/annotations.rb#161
806
+ # source://tapioca//lib/tapioca/commands/annotations.rb#165
795
807
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
796
808
  def fetch_local_file(repo_uri, path); end
797
809
 
810
+ # source://tapioca//lib/tapioca/commands/annotations.rb#229
811
+ sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) }
812
+ def filter_versions(gem_version, content); end
813
+
798
814
  # source://tapioca//lib/tapioca/commands/annotations.rb#50
799
- sig { returns(T::Array[::String]) }
815
+ sig { returns(T::Array[::Tapioca::GemInfo]) }
800
816
  def list_gemfile_gems; end
801
817
 
802
- # source://tapioca//lib/tapioca/commands/annotations.rb#225
818
+ # source://tapioca//lib/tapioca/commands/annotations.rb#237
803
819
  sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
804
820
  def merge_files(gem_name, contents); end
805
821
 
806
822
  # source://tapioca//lib/tapioca/commands/annotations.rb#60
807
- sig { params(project_gems: T::Array[::String]).void }
823
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void }
808
824
  def remove_expired_annotations(project_gems); end
809
825
 
810
- # source://tapioca//lib/tapioca/commands/annotations.rb#252
826
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
811
827
  sig { returns(T::Hash[::String, T.nilable(::String)]) }
812
828
  def repo_tokens; end
813
829
 
814
- # source://tapioca//lib/tapioca/commands/annotations.rb#280
830
+ # source://tapioca//lib/tapioca/commands/annotations.rb#292
815
831
  sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
816
832
  def say_http_error(path, repo_uri, message:); end
817
833
 
818
- # source://tapioca//lib/tapioca/commands/annotations.rb#264
834
+ # source://tapioca//lib/tapioca/commands/annotations.rb#276
819
835
  sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
820
836
  def token_for(repo_uri); end
821
837
  end
@@ -863,7 +879,7 @@ class Tapioca::Commands::Command
863
879
  sig { void }
864
880
  def initialize; end
865
881
 
866
- # source://thor/1.3.0/lib/thor/base.rb#155
882
+ # source://thor/1.3.2/lib/thor/base.rb#155
867
883
  sig { returns(::Thor::Actions) }
868
884
  def file_writer; end
869
885
 
@@ -1077,11 +1093,11 @@ module Tapioca::ConfigHelper
1077
1093
 
1078
1094
  private
1079
1095
 
1080
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#151
1096
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#153
1081
1097
  sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
1082
1098
  def build_error(msg); end
1083
1099
 
1084
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#176
1100
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#178
1085
1101
  sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
1086
1102
  def build_error_message(config_file, errors); end
1087
1103
 
@@ -1097,7 +1113,7 @@ module Tapioca::ConfigHelper
1097
1113
  sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
1098
1114
  def filter_defaults(options); end
1099
1115
 
1100
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#194
1116
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#196
1101
1117
  sig do
1102
1118
  params(
1103
1119
  options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
@@ -1120,58 +1136,58 @@ module Tapioca::ConfigHelper
1120
1136
  def validate_config_options(command_options, config_key, config_options); end
1121
1137
  end
1122
1138
 
1123
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#146
1139
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#148
1124
1140
  class Tapioca::ConfigHelper::ConfigError < ::T::Struct
1125
1141
  const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
1126
1142
 
1127
1143
  class << self
1128
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
1144
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
1129
1145
  def inherited(s); end
1130
1146
  end
1131
1147
  end
1132
1148
 
1133
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#141
1149
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#143
1134
1150
  class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
1135
1151
  const :message, ::String
1136
1152
  const :colors, T::Array[::Symbol]
1137
1153
 
1138
1154
  class << self
1139
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
1155
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
1140
1156
  def inherited(s); end
1141
1157
  end
1142
1158
  end
1143
1159
 
1144
- # source://tapioca//lib/tapioca.rb#44
1160
+ # source://tapioca//lib/tapioca.rb#46
1145
1161
  Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
1146
1162
 
1147
- # source://tapioca//lib/tapioca.rb#40
1163
+ # source://tapioca//lib/tapioca.rb#42
1148
1164
  Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
1149
1165
 
1150
- # source://tapioca//lib/tapioca.rb#56
1166
+ # source://tapioca//lib/tapioca.rb#58
1151
1167
  Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1152
1168
 
1153
- # source://tapioca//lib/tapioca.rb#41
1169
+ # source://tapioca//lib/tapioca.rb#43
1154
1170
  Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1155
1171
 
1156
- # source://tapioca//lib/tapioca.rb#46
1172
+ # source://tapioca//lib/tapioca.rb#48
1157
1173
  Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1158
1174
 
1159
- # source://tapioca//lib/tapioca.rb#38
1175
+ # source://tapioca//lib/tapioca.rb#40
1160
1176
  Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1161
1177
 
1162
- # source://tapioca//lib/tapioca.rb#39
1178
+ # source://tapioca//lib/tapioca.rb#41
1163
1179
  Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1164
1180
 
1165
- # source://tapioca//lib/tapioca/rbi_formatter.rb#29
1181
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#31
1166
1182
  Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1167
1183
 
1168
- # source://tapioca//lib/tapioca.rb#55
1184
+ # source://tapioca//lib/tapioca.rb#57
1169
1185
  Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1170
1186
 
1171
- # source://tapioca//lib/tapioca.rb#42
1187
+ # source://tapioca//lib/tapioca.rb#44
1172
1188
  Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1173
1189
 
1174
- # source://tapioca//lib/tapioca.rb#43
1190
+ # source://tapioca//lib/tapioca.rb#45
1175
1191
  Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1176
1192
 
1177
1193
  # source://tapioca//lib/tapioca/dsl/compilers.rb#5
@@ -1193,17 +1209,24 @@ class Tapioca::Dsl::Compiler
1193
1209
 
1194
1210
  ConstantType = type_member { { upper: Module } }
1195
1211
 
1196
- # source://tapioca//lib/tapioca/dsl/compiler.rb#64
1197
- sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
1198
- def initialize(pipeline, root, constant); end
1212
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#107
1213
+ sig do
1214
+ params(
1215
+ pipeline: ::Tapioca::Dsl::Pipeline,
1216
+ root: ::RBI::Tree,
1217
+ constant: ConstantType,
1218
+ options: T::Hash[::String, T.untyped]
1219
+ ).void
1220
+ end
1221
+ def initialize(pipeline, root, constant, options = T.unsafe(nil)); end
1199
1222
 
1200
1223
  # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1201
1224
  #
1202
- # source://tapioca//lib/tapioca/dsl/compiler.rb#81
1225
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#125
1203
1226
  sig { params(error: ::String).void }
1204
1227
  def add_error(error); end
1205
1228
 
1206
- # source://tapioca//lib/tapioca/dsl/compiler.rb#72
1229
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#116
1207
1230
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1208
1231
  def compiler_enabled?(compiler_name); end
1209
1232
 
@@ -1213,58 +1236,75 @@ class Tapioca::Dsl::Compiler
1213
1236
 
1214
1237
  # @abstract
1215
1238
  #
1216
- # source://tapioca//lib/tapioca/dsl/compiler.rb#77
1239
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#121
1217
1240
  sig { abstract.void }
1218
1241
  def decorate; end
1219
1242
 
1243
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#26
1244
+ sig { returns(T::Hash[::String, T.untyped]) }
1245
+ def options; end
1246
+
1220
1247
  # source://tapioca//lib/tapioca/dsl/compiler.rb#23
1221
1248
  sig { returns(::RBI::Tree) }
1222
1249
  def root; end
1223
1250
 
1224
1251
  private
1225
1252
 
1226
- # source://tapioca//lib/tapioca/dsl/compiler.rb#130
1253
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#174
1227
1254
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1228
1255
  def compile_method_parameters_to_rbi(method_def); end
1229
1256
 
1230
- # source://tapioca//lib/tapioca/dsl/compiler.rb#166
1257
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#210
1231
1258
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1232
1259
  def compile_method_return_type_to_rbi(method_def); end
1233
1260
 
1234
- # source://tapioca//lib/tapioca/dsl/compiler.rb#120
1261
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#164
1235
1262
  sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1236
1263
  def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1237
1264
 
1238
1265
  # Get the types of each parameter from a method signature
1239
1266
  #
1240
- # source://tapioca//lib/tapioca/dsl/compiler.rb#94
1267
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#138
1241
1268
  sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1242
1269
  def parameters_types_from_signature(method_def, signature); end
1243
1270
 
1244
1271
  class << self
1245
1272
  # @abstract
1246
1273
  #
1247
- # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1274
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#39
1248
1275
  sig { abstract.returns(T::Enumerable[::Module]) }
1249
1276
  def gather_constants; end
1250
1277
 
1251
- # source://tapioca//lib/tapioca/dsl/compiler.rb#29
1278
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1252
1279
  sig { params(constant: ::Module).returns(T::Boolean) }
1253
1280
  def handles?(constant); end
1254
1281
 
1255
- # source://tapioca//lib/tapioca/dsl/compiler.rb#37
1282
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#42
1256
1283
  sig { returns(T::Set[::Module]) }
1257
1284
  def processable_constants; end
1258
1285
 
1286
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#50
1287
+ sig { params(constants: T::Array[::Module]).void }
1288
+ def requested_constants=(constants); end
1289
+
1259
1290
  private
1260
1291
 
1261
- # source://tapioca//lib/tapioca/dsl/compiler.rb#47
1292
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#75
1262
1293
  sig { returns(T::Enumerable[T::Class[T.anything]]) }
1263
1294
  def all_classes; end
1264
1295
 
1265
- # source://tapioca//lib/tapioca/dsl/compiler.rb#55
1296
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#87
1266
1297
  sig { returns(T::Enumerable[::Module]) }
1267
1298
  def all_modules; end
1299
+
1300
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#61
1301
+ sig do
1302
+ type_parameters(:U)
1303
+ .params(
1304
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
1305
+ ).returns(T::Array[T.type_parameter(:U)])
1306
+ end
1307
+ def descendants_of(klass); end
1268
1308
  end
1269
1309
  end
1270
1310
 
@@ -1283,7 +1323,7 @@ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1283
1323
 
1284
1324
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#6
1285
1325
  class Tapioca::Dsl::Pipeline
1286
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#34
1326
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#39
1287
1327
  sig do
1288
1328
  params(
1289
1329
  requested_constants: T::Array[::Module],
@@ -1291,32 +1331,34 @@ class Tapioca::Dsl::Pipeline
1291
1331
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1292
1332
  excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1293
1333
  error_handler: T.proc.params(error: ::String).void,
1294
- number_of_workers: T.nilable(::Integer)
1334
+ skipped_constants: T::Array[::Module],
1335
+ number_of_workers: T.nilable(::Integer),
1336
+ compiler_options: T::Hash[::String, T.untyped]
1295
1337
  ).void
1296
1338
  end
1297
- def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), number_of_workers: T.unsafe(nil)); end
1339
+ def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), skipped_constants: T.unsafe(nil), number_of_workers: T.unsafe(nil), compiler_options: T.unsafe(nil)); end
1298
1340
 
1299
1341
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#10
1300
1342
  sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1301
1343
  def active_compilers; end
1302
1344
 
1303
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#93
1345
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#102
1304
1346
  sig { params(error: ::String).void }
1305
1347
  def add_error(error); end
1306
1348
 
1307
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#98
1349
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#107
1308
1350
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1309
1351
  def compiler_enabled?(compiler_name); end
1310
1352
 
1311
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#107
1353
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#116
1312
1354
  sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1313
1355
  def compilers; end
1314
1356
 
1315
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#19
1357
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#22
1316
1358
  sig { returns(T.proc.params(error: ::String).void) }
1317
1359
  def error_handler; end
1318
1360
 
1319
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#22
1361
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#25
1320
1362
  sig { returns(T::Array[::String]) }
1321
1363
  def errors; end
1322
1364
 
@@ -1328,7 +1370,7 @@ class Tapioca::Dsl::Pipeline
1328
1370
  sig { returns(T::Array[::Pathname]) }
1329
1371
  def requested_paths; end
1330
1372
 
1331
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#58
1373
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#67
1332
1374
  sig do
1333
1375
  type_parameters(:T)
1334
1376
  .params(
@@ -1337,17 +1379,21 @@ class Tapioca::Dsl::Pipeline
1337
1379
  end
1338
1380
  def run(&blk); end
1339
1381
 
1382
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#19
1383
+ sig { returns(T::Array[::Module]) }
1384
+ def skipped_constants; end
1385
+
1340
1386
  private
1341
1387
 
1342
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#199
1388
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#224
1343
1389
  sig { void }
1344
1390
  def abort_if_pending_migrations!; end
1345
1391
 
1346
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#144
1392
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#169
1347
1393
  sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1348
1394
  def filter_anonymous_and_reloaded_constants(constants); end
1349
1395
 
1350
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#124
1396
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#133
1351
1397
  sig do
1352
1398
  params(
1353
1399
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1356,20 +1402,21 @@ class Tapioca::Dsl::Pipeline
1356
1402
  end
1357
1403
  def gather_active_compilers(requested_compilers, excluded_compilers); end
1358
1404
 
1359
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#132
1405
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#147
1360
1406
  sig do
1361
1407
  params(
1362
1408
  requested_constants: T::Array[::Module],
1363
- requested_paths: T::Array[::Pathname]
1409
+ requested_paths: T::Array[::Pathname],
1410
+ skipped_constants: T::Array[::Module]
1364
1411
  ).returns(T::Set[::Module])
1365
1412
  end
1366
- def gather_constants(requested_constants, requested_paths); end
1413
+ def gather_constants(requested_constants, requested_paths, skipped_constants); end
1367
1414
 
1368
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#173
1415
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#198
1369
1416
  sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1370
1417
  def rbi_for_constant(constant); end
1371
1418
 
1372
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#192
1419
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#217
1373
1420
  sig { params(error: ::String).returns(T.noreturn) }
1374
1421
  def report_error(error); end
1375
1422
  end
@@ -1573,6 +1620,10 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1573
1620
  sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1574
1621
  def initialize_method_for(constant); end
1575
1622
 
1623
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#216
1624
+ sig { params(method: ::UnboundMethod).returns(T.untyped) }
1625
+ def lookup_signature_of(method); end
1626
+
1576
1627
  # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
1577
1628
  sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1578
1629
  def method_names_by_visibility(mod); end
@@ -1665,7 +1716,7 @@ end
1665
1716
  class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base
1666
1717
  private
1667
1718
 
1668
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#25
1719
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#28
1669
1720
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1670
1721
  def ignore?(event); end
1671
1722
 
@@ -1902,49 +1953,60 @@ class Tapioca::Gem::Pipeline
1902
1953
  include ::Tapioca::SorbetHelper
1903
1954
  include ::Tapioca::RBIHelper
1904
1955
 
1905
- # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1906
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, include_doc: T::Boolean, include_loc: T::Boolean).void }
1907
- def initialize(gem, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1956
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#27
1957
+ sig do
1958
+ params(
1959
+ gem: ::Tapioca::Gemfile::GemSpec,
1960
+ error_handler: T.proc.params(error: ::String).void,
1961
+ include_doc: T::Boolean,
1962
+ include_loc: T::Boolean
1963
+ ).void
1964
+ end
1965
+ def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1908
1966
 
1909
- # source://tapioca//lib/tapioca/gem/pipeline.rb#48
1967
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1910
1968
  sig { returns(::RBI::Tree) }
1911
1969
  def compile; end
1912
1970
 
1913
- # source://tapioca//lib/tapioca/gem/pipeline.rb#119
1971
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#135
1914
1972
  sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1915
1973
  def constant_in_gem?(name); end
1916
1974
 
1975
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1976
+ sig { returns(T.proc.params(error: ::String).void) }
1977
+ def error_handler; end
1978
+
1917
1979
  # source://tapioca//lib/tapioca/gem/pipeline.rb#14
1918
1980
  sig { returns(::Tapioca::Gemfile::GemSpec) }
1919
1981
  def gem; end
1920
1982
 
1921
- # source://tapioca//lib/tapioca/gem/pipeline.rb#137
1983
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#153
1922
1984
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
1923
1985
  def method_in_gem?(method); end
1924
1986
 
1925
1987
  # Helpers
1926
1988
  #
1927
- # source://tapioca//lib/tapioca/gem/pipeline.rb#147
1989
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#163
1928
1990
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
1929
1991
  def name_of(constant); end
1930
1992
 
1931
- # source://tapioca//lib/tapioca/gem/pipeline.rb#71
1993
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#87
1932
1994
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1933
1995
  def push_const(symbol, constant, node); end
1934
1996
 
1935
- # source://tapioca//lib/tapioca/gem/pipeline.rb#61
1997
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#77
1936
1998
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1937
1999
  def push_constant(symbol, constant); end
1938
2000
 
1939
- # source://tapioca//lib/tapioca/gem/pipeline.rb#66
2001
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#82
1940
2002
  sig { params(symbol: ::String, constant: ::Module).void }
1941
2003
  def push_foreign_constant(symbol, constant); end
1942
2004
 
1943
- # source://tapioca//lib/tapioca/gem/pipeline.rb#85
2005
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#101
1944
2006
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1945
2007
  def push_foreign_scope(symbol, constant, node); end
1946
2008
 
1947
- # source://tapioca//lib/tapioca/gem/pipeline.rb#99
2009
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#115
1948
2010
  sig do
1949
2011
  params(
1950
2012
  symbol: ::String,
@@ -1957,137 +2019,137 @@ class Tapioca::Gem::Pipeline
1957
2019
  end
1958
2020
  def push_method(symbol, constant, method, node, signature, parameters); end
1959
2021
 
1960
- # source://tapioca//lib/tapioca/gem/pipeline.rb#78
2022
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#94
1961
2023
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1962
2024
  def push_scope(symbol, constant, node); end
1963
2025
 
1964
2026
  # Events handling
1965
2027
  #
1966
- # source://tapioca//lib/tapioca/gem/pipeline.rb#56
2028
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#72
1967
2029
  sig { params(symbol: ::String).void }
1968
2030
  def push_symbol(symbol); end
1969
2031
 
1970
2032
  # Constants and properties filtering
1971
2033
  #
1972
- # source://tapioca//lib/tapioca/gem/pipeline.rb#106
2034
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#122
1973
2035
  sig { params(symbol_name: ::String).returns(T::Boolean) }
1974
2036
  def symbol_in_payload?(symbol_name); end
1975
2037
 
1976
2038
  private
1977
2039
 
1978
- # source://tapioca//lib/tapioca/gem/pipeline.rb#440
2040
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#456
1979
2041
  sig { params(name: ::String).void }
1980
2042
  def add_to_alias_namespace(name); end
1981
2043
 
1982
- # source://tapioca//lib/tapioca/gem/pipeline.rb#445
2044
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#461
1983
2045
  sig { params(name: ::String).returns(T::Boolean) }
1984
2046
  def alias_namespaced?(name); end
1985
2047
 
1986
- # source://tapioca//lib/tapioca/gem/pipeline.rb#244
2048
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#260
1987
2049
  sig { params(name: ::String, constant: ::Module).void }
1988
2050
  def compile_alias(name, constant); end
1989
2051
 
1990
- # source://tapioca//lib/tapioca/gem/pipeline.rb#230
2052
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#246
1991
2053
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1992
2054
  def compile_constant(symbol, constant); end
1993
2055
 
1994
2056
  # Compiling
1995
2057
  #
1996
- # source://tapioca//lib/tapioca/gem/pipeline.rb#219
2058
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#235
1997
2059
  sig { params(symbol: ::String, constant: ::Module).void }
1998
2060
  def compile_foreign_constant(symbol, constant); end
1999
2061
 
2000
- # source://tapioca//lib/tapioca/gem/pipeline.rb#298
2062
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#314
2001
2063
  sig { params(name: ::String, constant: ::Module).void }
2002
2064
  def compile_module(name, constant); end
2003
2065
 
2004
- # source://tapioca//lib/tapioca/gem/pipeline.rb#265
2066
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#281
2005
2067
  sig { params(name: ::String, value: ::BasicObject).void }
2006
2068
  def compile_object(name, value); end
2007
2069
 
2008
- # source://tapioca//lib/tapioca/gem/pipeline.rb#309
2070
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#325
2009
2071
  sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
2010
2072
  def compile_scope(name, constant); end
2011
2073
 
2012
- # source://tapioca//lib/tapioca/gem/pipeline.rb#323
2074
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#339
2013
2075
  sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
2014
2076
  def compile_superclass(constant); end
2015
2077
 
2016
- # source://tapioca//lib/tapioca/gem/pipeline.rb#421
2078
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#437
2017
2079
  sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
2018
2080
  def defined_in_gem?(constant, strict: T.unsafe(nil)); end
2019
2081
 
2020
- # source://tapioca//lib/tapioca/gem/pipeline.rb#177
2082
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#193
2021
2083
  sig { params(event: ::Tapioca::Gem::Event).void }
2022
2084
  def dispatch(event); end
2023
2085
 
2024
2086
  # Helpers
2025
2087
  #
2026
- # source://tapioca//lib/tapioca/gem/pipeline.rb#464
2088
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#480
2027
2089
  sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
2028
2090
  def generic_name_of(constant); end
2029
2091
 
2030
- # source://tapioca//lib/tapioca/gem/pipeline.rb#433
2092
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#449
2031
2093
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2032
2094
  def get_file_candidates(constant); end
2033
2095
 
2034
- # source://tapioca//lib/tapioca/gem/pipeline.rb#162
2096
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#178
2035
2097
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
2036
2098
  def load_bootstrap_symbols(gem); end
2037
2099
 
2038
- # source://tapioca//lib/tapioca/gem/pipeline.rb#480
2100
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#496
2039
2101
  sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
2040
2102
  def name_of_proxy_target(constant, class_name); end
2041
2103
 
2042
2104
  # Events handling
2043
2105
  #
2044
- # source://tapioca//lib/tapioca/gem/pipeline.rb#172
2106
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#188
2045
2107
  sig { returns(::Tapioca::Gem::Event) }
2046
2108
  def next_event; end
2047
2109
 
2048
- # source://tapioca//lib/tapioca/gem/pipeline.rb#200
2110
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#216
2049
2111
  sig { params(event: ::Tapioca::Gem::ConstantFound).void }
2050
2112
  def on_constant(event); end
2051
2113
 
2052
- # source://tapioca//lib/tapioca/gem/pipeline.rb#212
2114
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#228
2053
2115
  sig { params(event: ::Tapioca::Gem::NodeAdded).void }
2054
2116
  def on_node(event); end
2055
2117
 
2056
- # source://tapioca//lib/tapioca/gem/pipeline.rb#191
2118
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#207
2057
2119
  sig { params(event: ::Tapioca::Gem::SymbolFound).void }
2058
2120
  def on_symbol(event); end
2059
2121
 
2060
- # source://tapioca//lib/tapioca/gem/pipeline.rb#452
2122
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#468
2061
2123
  sig { params(name: ::String).void }
2062
2124
  def seen!(name); end
2063
2125
 
2064
- # source://tapioca//lib/tapioca/gem/pipeline.rb#457
2126
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#473
2065
2127
  sig { params(name: ::String).returns(T::Boolean) }
2066
2128
  def seen?(name); end
2067
2129
 
2068
- # source://tapioca//lib/tapioca/gem/pipeline.rb#391
2130
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#407
2069
2131
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2070
2132
  def skip_alias?(name, constant); end
2071
2133
 
2072
- # source://tapioca//lib/tapioca/gem/pipeline.rb#379
2134
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#395
2073
2135
  sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
2074
2136
  def skip_constant?(name, constant); end
2075
2137
 
2076
- # source://tapioca//lib/tapioca/gem/pipeline.rb#408
2138
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#424
2077
2139
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2078
2140
  def skip_foreign_constant?(name, constant); end
2079
2141
 
2080
- # source://tapioca//lib/tapioca/gem/pipeline.rb#413
2142
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#429
2081
2143
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2082
2144
  def skip_module?(name, constant); end
2083
2145
 
2084
- # source://tapioca//lib/tapioca/gem/pipeline.rb#400
2146
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#416
2085
2147
  sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
2086
2148
  def skip_object?(name, constant); end
2087
2149
 
2088
2150
  # Constants and properties filtering
2089
2151
  #
2090
- # source://tapioca//lib/tapioca/gem/pipeline.rb#374
2152
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#390
2091
2153
  sig { params(name: ::String).returns(T::Boolean) }
2092
2154
  def skip_symbol?(name); end
2093
2155
  end
@@ -2096,7 +2158,7 @@ end
2096
2158
  # "(eval at /path/to/file.rb:123)"
2097
2159
  # and we are just interested in the "/path/to/file.rb" part
2098
2160
  #
2099
- # source://tapioca//lib/tapioca/gem/pipeline.rb#116
2161
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#132
2100
2162
  Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
2101
2163
 
2102
2164
  # source://tapioca//lib/tapioca/gem/pipeline.rb#11
@@ -2149,6 +2211,21 @@ module Tapioca::GemHelper
2149
2211
  def path_in_dir?(path, dir); end
2150
2212
  end
2151
2213
 
2214
+ # source://tapioca//lib/tapioca/gem_info.rb#5
2215
+ class Tapioca::GemInfo < ::T::Struct
2216
+ const :name, ::String
2217
+ const :version, ::Gem::Version
2218
+
2219
+ class << self
2220
+ # source://tapioca//lib/tapioca/gem_info.rb#13
2221
+ sig { params(spec: ::Bundler::LazySpecification).returns(::Tapioca::GemInfo) }
2222
+ def from_spec(spec); end
2223
+
2224
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
2225
+ def inherited(s); end
2226
+ end
2227
+ end
2228
+
2152
2229
  # source://tapioca//lib/tapioca/gemfile.rb#7
2153
2230
  class Tapioca::Gemfile
2154
2231
  # source://tapioca//lib/tapioca/gemfile.rb#27
@@ -2227,15 +2304,15 @@ class Tapioca::Gemfile::GemSpec
2227
2304
  sig { returns(T::Array[::Gem::Dependency]) }
2228
2305
  def dependencies; end
2229
2306
 
2230
- # source://tapioca//lib/tapioca/gemfile.rb#190
2307
+ # source://tapioca//lib/tapioca/gemfile.rb#201
2231
2308
  sig { returns(T::Boolean) }
2232
2309
  def export_rbi_files?; end
2233
2310
 
2234
- # source://tapioca//lib/tapioca/gemfile.rb#185
2311
+ # source://tapioca//lib/tapioca/gemfile.rb#196
2235
2312
  sig { returns(T::Array[::String]) }
2236
2313
  def exported_rbi_files; end
2237
2314
 
2238
- # source://tapioca//lib/tapioca/gemfile.rb#195
2315
+ # source://tapioca//lib/tapioca/gemfile.rb#206
2239
2316
  sig { returns(::RBI::MergeTree) }
2240
2317
  def exported_rbi_tree; end
2241
2318
 
@@ -2263,7 +2340,7 @@ class Tapioca::Gemfile::GemSpec
2263
2340
  sig { returns(::String) }
2264
2341
  def rbi_file_name; end
2265
2342
 
2266
- # source://tapioca//lib/tapioca/gemfile.rb#207
2343
+ # source://tapioca//lib/tapioca/gemfile.rb#218
2267
2344
  sig { params(file: ::Pathname).returns(::Pathname) }
2268
2345
  def relative_path_for(file); end
2269
2346
 
@@ -2274,31 +2351,31 @@ class Tapioca::Gemfile::GemSpec
2274
2351
 
2275
2352
  private
2276
2353
 
2277
- # source://tapioca//lib/tapioca/gemfile.rb#218
2354
+ # source://tapioca//lib/tapioca/gemfile.rb#229
2278
2355
  sig { returns(T::Array[::Pathname]) }
2279
2356
  def collect_files; end
2280
2357
 
2281
- # source://tapioca//lib/tapioca/gemfile.rb#233
2358
+ # source://tapioca//lib/tapioca/gemfile.rb#244
2282
2359
  sig { returns(T.nilable(T::Boolean)) }
2283
2360
  def default_gem?; end
2284
2361
 
2285
- # source://tapioca//lib/tapioca/gemfile.rb#292
2362
+ # source://tapioca//lib/tapioca/gemfile.rb#303
2286
2363
  sig { returns(T::Boolean) }
2287
2364
  def gem_ignored?; end
2288
2365
 
2289
- # source://tapioca//lib/tapioca/gemfile.rb#271
2366
+ # source://tapioca//lib/tapioca/gemfile.rb#282
2290
2367
  sig { params(path: ::String).returns(T::Boolean) }
2291
2368
  def has_parent_gemspec?(path); end
2292
2369
 
2293
- # source://tapioca//lib/tapioca/gemfile.rb#238
2370
+ # source://tapioca//lib/tapioca/gemfile.rb#249
2294
2371
  sig { returns(::Regexp) }
2295
2372
  def require_paths_prefix_matcher; end
2296
2373
 
2297
- # source://tapioca//lib/tapioca/gemfile.rb#250
2374
+ # source://tapioca//lib/tapioca/gemfile.rb#261
2298
2375
  sig { params(file: ::String).returns(::Pathname) }
2299
2376
  def resolve_to_ruby_lib_dir(file); end
2300
2377
 
2301
- # source://tapioca//lib/tapioca/gemfile.rb#264
2378
+ # source://tapioca//lib/tapioca/gemfile.rb#275
2302
2379
  sig { returns(::String) }
2303
2380
  def version_string; end
2304
2381
 
@@ -2315,6 +2392,9 @@ Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2315
2392
  # source://tapioca//lib/tapioca/gemfile.rb#10
2316
2393
  Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2317
2394
 
2395
+ # source://tapioca//lib/tapioca.rb#33
2396
+ Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String)
2397
+
2318
2398
  # source://tapioca//lib/tapioca/loaders/loader.rb#5
2319
2399
  module Tapioca::Loaders; end
2320
2400
 
@@ -2337,7 +2417,7 @@ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2337
2417
 
2338
2418
  protected
2339
2419
 
2340
- # source://tapioca//lib/tapioca/loaders/dsl.rb#81
2420
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#88
2341
2421
  sig { void }
2342
2422
  def load_application; end
2343
2423
 
@@ -2436,16 +2516,16 @@ class Tapioca::Loaders::Loader
2436
2516
  # @param engine [T.class_of(Rails::Engine)]
2437
2517
  # @return [Array<String>]
2438
2518
  #
2439
- # source://sorbet-runtime/0.5.11262/lib/types/private/methods/_methods.rb#257
2440
- def eager_load_paths(*args, **_arg1, &blk); end
2519
+ # source://tapioca//lib/tapioca/loaders/loader.rb#234
2520
+ def eager_load_paths(engine); end
2441
2521
 
2442
- # source://tapioca//lib/tapioca/loaders/loader.rb#198
2522
+ # source://tapioca//lib/tapioca/loaders/loader.rb#199
2443
2523
  sig { void }
2444
2524
  def eager_load_rails_app; end
2445
2525
 
2446
2526
  # @return [Array<T.class_of(Rails::Engine)>]
2447
2527
  #
2448
- # source://tapioca//lib/tapioca/loaders/loader.rb#169
2528
+ # source://tapioca//lib/tapioca/loaders/loader.rb#178
2449
2529
  def engines; end
2450
2530
 
2451
2531
  # source://tapioca//lib/tapioca/loaders/loader.rb#29
@@ -2459,11 +2539,11 @@ class Tapioca::Loaders::Loader
2459
2539
  end
2460
2540
  def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2461
2541
 
2462
- # source://tapioca//lib/tapioca/loaders/loader.rb#127
2542
+ # source://tapioca//lib/tapioca/loaders/loader.rb#136
2463
2543
  sig { void }
2464
2544
  def load_engines_in_classic_mode; end
2465
2545
 
2466
- # source://tapioca//lib/tapioca/loaders/loader.rb#105
2546
+ # source://tapioca//lib/tapioca/loaders/loader.rb#114
2467
2547
  sig { void }
2468
2548
  def load_engines_in_zeitwerk_mode; end
2469
2549
 
@@ -2478,30 +2558,26 @@ class Tapioca::Loaders::Loader
2478
2558
  end
2479
2559
  def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2480
2560
 
2481
- # source://tapioca//lib/tapioca/loaders/loader.rb#80
2561
+ # source://tapioca//lib/tapioca/loaders/loader.rb#89
2482
2562
  sig { void }
2483
2563
  def load_rails_engines; end
2484
2564
 
2485
- # source://tapioca//lib/tapioca/loaders/loader.rb#219
2565
+ # source://tapioca//lib/tapioca/loaders/loader.rb#220
2486
2566
  sig { params(file: T.nilable(::String)).void }
2487
2567
  def require_helper(file); end
2488
2568
 
2489
- # source://tapioca//lib/tapioca/loaders/loader.rb#94
2569
+ # source://tapioca//lib/tapioca/loaders/loader.rb#103
2490
2570
  def run_initializers; end
2491
2571
 
2492
- # source://tapioca//lib/tapioca/loaders/loader.rb#183
2572
+ # source://tapioca//lib/tapioca/loaders/loader.rb#192
2493
2573
  sig { params(path: ::String).void }
2494
2574
  def safe_require(path); end
2495
2575
 
2496
- # source://tapioca//lib/tapioca/loaders/loader.rb#190
2497
- sig { void }
2498
- def silence_deprecations; end
2499
-
2500
- # source://tapioca//lib/tapioca/loaders/loader.rb#152
2576
+ # source://tapioca//lib/tapioca/loaders/loader.rb#161
2501
2577
  sig { params(blk: T.proc.void).void }
2502
2578
  def with_rails_application(&blk); end
2503
2579
 
2504
- # source://tapioca//lib/tapioca/loaders/loader.rb#145
2580
+ # source://tapioca//lib/tapioca/loaders/loader.rb#154
2505
2581
  sig { returns(T::Boolean) }
2506
2582
  def zeitwerk_mode?; end
2507
2583
  end
@@ -2548,19 +2624,19 @@ module Tapioca::RBIFilesHelper
2548
2624
 
2549
2625
  private
2550
2626
 
2551
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#209
2627
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#223
2552
2628
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) }
2553
2629
  def extract_empty_scopes(nodes); end
2554
2630
 
2555
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#214
2631
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#228
2556
2632
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2557
2633
  def extract_methods_and_attrs(nodes); end
2558
2634
 
2559
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#224
2635
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#238
2560
2636
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) }
2561
2637
  def extract_mixins(nodes); end
2562
2638
 
2563
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#234
2639
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#248
2564
2640
  sig do
2565
2641
  params(
2566
2642
  nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)]
@@ -2568,7 +2644,7 @@ module Tapioca::RBIFilesHelper
2568
2644
  end
2569
2645
  def extract_nodes_with_sigs(nodes); end
2570
2646
 
2571
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#202
2647
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#216
2572
2648
  sig do
2573
2649
  params(
2574
2650
  nodes: T::Array[::RBI::Node],
@@ -2578,7 +2654,7 @@ module Tapioca::RBIFilesHelper
2578
2654
  end
2579
2655
  def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2580
2656
 
2581
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#266
2657
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#280
2582
2658
  sig { params(path: ::String).returns(::String) }
2583
2659
  def gem_name_from_rbi_path(path); end
2584
2660
 
@@ -2590,14 +2666,14 @@ module Tapioca::RBIFilesHelper
2590
2666
  sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2591
2667
  def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2592
2668
 
2593
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#239
2669
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#253
2594
2670
  sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2595
2671
  def update_gem_rbis_strictnesses(errors, gem_dir); end
2596
2672
  end
2597
2673
 
2598
2674
  # source://tapioca//lib/tapioca/rbi_formatter.rb#5
2599
2675
  class Tapioca::RBIFormatter < ::RBI::Formatter
2600
- # source://tapioca//lib/tapioca/rbi_formatter.rb#22
2676
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#24
2601
2677
  sig { params(file: ::RBI::File).void }
2602
2678
  def write_empty_body_comment!(file); end
2603
2679
 
@@ -2616,6 +2692,10 @@ module Tapioca::RBIHelper
2616
2692
  sig { params(type: ::String).returns(::String) }
2617
2693
  def as_nilable_type(type); end
2618
2694
 
2695
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2696
+ sig { params(type: ::String).returns(::String) }
2697
+ def as_non_nilable_type(type); end
2698
+
2619
2699
  # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#72
2620
2700
  sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2621
2701
  def create_block_param(name, type:); end
@@ -2652,11 +2732,11 @@ module Tapioca::RBIHelper
2652
2732
  sig { params(sig_string: ::String).returns(::String) }
2653
2733
  def sanitize_signature_types(sig_string); end
2654
2734
 
2655
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2735
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#109
2656
2736
  sig { params(name: ::String).returns(T::Boolean) }
2657
2737
  def valid_method_name?(name); end
2658
2738
 
2659
- # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#114
2739
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#123
2660
2740
  sig { params(name: ::String).returns(T::Boolean) }
2661
2741
  def valid_parameter_name?(name); end
2662
2742
 
@@ -2866,7 +2946,7 @@ class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
2866
2946
  def initialize(raw_type, underlying_type); end
2867
2947
 
2868
2948
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45
2869
- sig { params(obj: T.untyped).returns(T::Boolean) }
2949
+ sig { override.params(obj: T.untyped).returns(T::Boolean) }
2870
2950
  def valid?(obj); end
2871
2951
  end
2872
2952
 
@@ -2875,7 +2955,7 @@ module Tapioca::Runtime::Reflection
2875
2955
  extend ::Tapioca::Runtime::AttachedClassOf
2876
2956
  extend ::Tapioca::Runtime::Reflection
2877
2957
 
2878
- # source://tapioca//lib/tapioca/runtime/reflection.rb#196
2958
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#201
2879
2959
  sig { params(constant: ::Module).returns(T.untyped) }
2880
2960
  def abstract_type_of(constant); end
2881
2961
 
@@ -2919,7 +2999,7 @@ module Tapioca::Runtime::Reflection
2919
2999
  # class D < C; end
2920
3000
  # descendants_of(C) # => [B, A, D]
2921
3001
  #
2922
- # source://tapioca//lib/tapioca/runtime/reflection.rb#167
3002
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#172
2923
3003
  sig do
2924
3004
  type_parameters(:U)
2925
3005
  .params(
@@ -2928,11 +3008,11 @@ module Tapioca::Runtime::Reflection
2928
3008
  end
2929
3009
  def descendants_of(klass); end
2930
3010
 
2931
- # source://tapioca//lib/tapioca/runtime/reflection.rb#189
3011
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#194
2932
3012
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2933
3013
  def file_candidates_for(constant); end
2934
3014
 
2935
- # source://tapioca//lib/tapioca/runtime/reflection.rb#202
3015
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#207
2936
3016
  sig { params(constant: ::Module).returns(T::Boolean) }
2937
3017
  def final_module?(constant); end
2938
3018
 
@@ -2940,7 +3020,7 @@ module Tapioca::Runtime::Reflection
2940
3020
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
2941
3021
  def inherited_ancestors_of(constant); end
2942
3022
 
2943
- # source://tapioca//lib/tapioca/runtime/reflection.rb#145
3023
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#150
2944
3024
  sig { params(constant: ::Module, method: ::Symbol).returns(::Method) }
2945
3025
  def method_of(constant, method); end
2946
3026
 
@@ -2948,7 +3028,7 @@ module Tapioca::Runtime::Reflection
2948
3028
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
2949
3029
  def name_of(constant); end
2950
3030
 
2951
- # source://tapioca//lib/tapioca/runtime/reflection.rb#140
3031
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#145
2952
3032
  sig { params(type: ::T::Types::Base).returns(::String) }
2953
3033
  def name_of_type(type); end
2954
3034
 
@@ -2976,18 +3056,22 @@ module Tapioca::Runtime::Reflection
2976
3056
  # by searching for the label "<top (required)>". If none is found, it returns the location
2977
3057
  # labeled "<main>", which is the original call site.
2978
3058
  #
2979
- # source://tapioca//lib/tapioca/runtime/reflection.rb#179
3059
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#184
2980
3060
  sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
2981
3061
  def resolve_loc(locations); end
2982
3062
 
2983
- # source://tapioca//lib/tapioca/runtime/reflection.rb#207
3063
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#212
2984
3064
  sig { params(constant: ::Module).returns(T::Boolean) }
2985
3065
  def sealed_module?(constant); end
2986
3066
 
2987
- # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3067
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#138
2988
3068
  sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
2989
3069
  def signature_of(method); end
2990
3070
 
3071
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3072
+ sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3073
+ def signature_of!(method); end
3074
+
2991
3075
  # source://tapioca//lib/tapioca/runtime/reflection.rb#72
2992
3076
  sig { params(constant: ::Module).returns(T::Class[T.anything]) }
2993
3077
  def singleton_class_of(constant); end
@@ -2998,23 +3082,23 @@ module Tapioca::Runtime::Reflection
2998
3082
 
2999
3083
  private
3000
3084
 
3001
- # source://tapioca//lib/tapioca/runtime/reflection.rb#244
3085
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#249
3002
3086
  sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
3003
3087
  def child_module_for_parent_with_name(parent, name); end
3004
3088
 
3005
- # source://tapioca//lib/tapioca/runtime/reflection.rb#260
3089
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#265
3006
3090
  sig { params(name: ::String).returns(T::Boolean) }
3007
3091
  def has_aliased_namespace?(name); end
3008
3092
 
3009
- # source://tapioca//lib/tapioca/runtime/reflection.rb#255
3093
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#260
3010
3094
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
3011
3095
  def method_defined_by_forwardable_module?(method); end
3012
3096
 
3013
- # source://tapioca//lib/tapioca/runtime/reflection.rb#230
3097
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#235
3014
3098
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3015
3099
  def methods_for(constant); end
3016
3100
 
3017
- # source://tapioca//lib/tapioca/runtime/reflection.rb#214
3101
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#219
3018
3102
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3019
3103
  def relevant_methods_for(constant); end
3020
3104
  end
@@ -3198,9 +3282,9 @@ end
3198
3282
 
3199
3283
  class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum
3200
3284
  enums do
3201
- Prepend = new
3202
- Include = new
3203
3285
  Extend = new
3286
+ Include = new
3287
+ Prepend = new
3204
3288
  end
3205
3289
  end
3206
3290
 
@@ -3246,10 +3330,10 @@ module Tapioca::Runtime::Trackers::Tracker
3246
3330
  end
3247
3331
  end
3248
3332
 
3249
- # source://tapioca//lib/tapioca.rb#33
3333
+ # source://tapioca//lib/tapioca.rb#35
3250
3334
  Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
3251
3335
 
3252
- # source://tapioca//lib/tapioca.rb#32
3336
+ # source://tapioca//lib/tapioca.rb#34
3253
3337
  Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3254
3338
 
3255
3339
  # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
@@ -3344,8 +3428,8 @@ module Tapioca::Static::SymbolLoader
3344
3428
 
3345
3429
  # @return [Array<T.class_of(Rails::Engine)>]
3346
3430
  #
3347
- # source://sorbet-runtime/0.5.11262/lib/types/private/methods/_methods.rb#257
3348
- def engines(*args, **_arg1, &blk); end
3431
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#69
3432
+ def engines; end
3349
3433
 
3350
3434
  # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
3351
3435
  sig { params(input: ::String, table_type: ::String).returns(::String) }
@@ -3381,10 +3465,10 @@ end
3381
3465
  # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9
3382
3466
  Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3383
3467
 
3384
- # source://tapioca//lib/tapioca.rb#35
3468
+ # source://tapioca//lib/tapioca.rb#37
3385
3469
  Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3386
3470
 
3387
- # source://tapioca//lib/tapioca.rb#34
3471
+ # source://tapioca//lib/tapioca.rb#36
3388
3472
  Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3389
3473
 
3390
3474
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
@@ -3452,41 +3536,46 @@ Tapioca::TypeVariableModule::DEFAULT_BOUNDS_PROC = T.let(T.unsafe(nil), Proc)
3452
3536
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#125
3453
3537
  class Tapioca::TypeVariableModule::Type < ::T::Enum
3454
3538
  enums do
3539
+ HasAttachedClass = new
3455
3540
  Member = new
3456
3541
  Template = new
3457
- HasAttachedClass = new
3458
3542
  end
3459
3543
  end
3460
3544
 
3461
3545
  # source://tapioca//lib/tapioca/version.rb#5
3462
3546
  Tapioca::VERSION = T.let(T.unsafe(nil), String)
3463
3547
 
3548
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#6
3549
+ module URI
3550
+ include ::URI::RFC2396_REGEXP
3551
+ end
3552
+
3464
3553
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3465
3554
  class URI::Source < ::URI::File
3466
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3555
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#65
3467
3556
  sig { params(v: T.nilable(::String)).returns(T::Boolean) }
3468
3557
  def check_host(v); end
3469
3558
 
3470
3559
  # source://uri/0.13.0/uri/generic.rb#243
3471
3560
  def gem_name; end
3472
3561
 
3473
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#25
3562
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#32
3474
3563
  sig { returns(T.nilable(::String)) }
3475
3564
  def gem_version; end
3476
3565
 
3477
3566
  # source://uri/0.13.0/uri/generic.rb#283
3478
3567
  def line_number; end
3479
3568
 
3480
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#51
3569
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3481
3570
  sig { params(v: T.nilable(::String)).void }
3482
3571
  def set_path(v); end
3483
3572
 
3484
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#70
3573
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#77
3485
3574
  sig { returns(::String) }
3486
3575
  def to_s; end
3487
3576
 
3488
3577
  class << self
3489
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#38
3578
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#45
3490
3579
  sig do
3491
3580
  params(
3492
3581
  gem_name: ::String,
@@ -3501,3 +3590,14 @@ end
3501
3590
 
3502
3591
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#10
3503
3592
  URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)
3593
+
3594
+ # `uri` for Ruby 3.4 switched the default parser from RFC2396 to RFC3986. The new parser emits a deprecation
3595
+ # warning on a few methods and delegates them to RFC2396, namely `extract`/`make_regexp`/`escape`/`unescape`.
3596
+ # On earlier versions of the uri gem, the RFC2396_PARSER constant doesn't exist, so it needs some special
3597
+ # handling to select a parser that doesn't emit deprecations. While it was backported to Ruby 3.1, users may
3598
+ # have the uri gem in their own bundle and thus not use a compatible version.
3599
+ #
3600
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#26
3601
+ URI::Source::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
3602
+
3603
+ class URI::WSS < ::URI::WS; end