sorbet-result 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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