anansi 0.0.0

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