guard-srb 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)