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