httpsensible 0.1.1

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