mootool 0.2.7 → 0.2.8

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