optimistic-json 0.1.2 → 0.1.3

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