e621_export_downloader 0.0.1

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