primitive 1.0.0

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