parking_ticket 1.0.46 → 1.0.49

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