shopify-ruby-definitions 0.0.1

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