expo_notifier 0.1.0

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