e621stream 0.0.0

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