acts-as-messageable 1.0.0 → 1.0.1

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