anansi 0.0.0

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