privat_bank_business_api 0.2.1

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