guard-srb 0.1.0

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