lobbying_disclosure_client 0.0.1

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