paperback 0.0.3 → 0.0.5

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