twirbet 0.1.0

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