packwerk 3.2.0 → 3.2.1

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