playoffs 1.0.0

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