rspec-sorbet 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +14 -22
  3. data/.gitignore +2 -1
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile +1 -5
  6. data/bin/tapioca +29 -0
  7. data/lib/rspec/sorbet/doubles.rb +1 -1
  8. data/lib/rspec/sorbet/version.rb +1 -1
  9. data/nix/sources.json +14 -0
  10. data/nix/sources.nix +174 -0
  11. data/run_ci.sh +7 -0
  12. data/shell.nix +20 -0
  13. data/sorbet/config +2 -0
  14. data/sorbet/rbi/gems/{ast.rbi → ast@2.4.2.rbi} +28 -22
  15. data/sorbet/rbi/gems/byebug@11.1.3.rbi +1568 -0
  16. data/sorbet/rbi/gems/coderay@1.1.3.rbi +1005 -0
  17. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +9 -0
  18. data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
  19. data/sorbet/rbi/gems/em-websocket@0.5.2.rbi +8 -0
  20. data/sorbet/rbi/gems/eventmachine@1.2.7.rbi +45 -0
  21. data/sorbet/rbi/gems/ffaker@2.20.0.rbi +3171 -0
  22. data/sorbet/rbi/gems/ffi@1.15.4.rbi +8 -0
  23. data/sorbet/rbi/gems/formatador@0.3.0.rbi +8 -0
  24. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +31 -0
  25. data/sorbet/rbi/gems/guard-livereload@2.5.2.rbi +8 -0
  26. data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +211 -0
  27. data/sorbet/rbi/gems/guard@2.18.0.rbi +8 -0
  28. data/sorbet/rbi/gems/http_parser.rb@0.6.0.rbi +8 -0
  29. data/sorbet/rbi/gems/listen@3.7.0.rbi +8 -0
  30. data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +8 -0
  31. data/sorbet/rbi/gems/method_source@1.0.0.rbi +72 -0
  32. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  33. data/sorbet/rbi/gems/nenv@0.3.0.rbi +8 -0
  34. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +8 -0
  35. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  36. data/sorbet/rbi/gems/parser@3.0.2.0.rbi +1189 -0
  37. data/sorbet/rbi/gems/pry-byebug@3.8.0.rbi +458 -0
  38. data/sorbet/rbi/gems/{pry.rbi → pry@0.14.1.rbi} +2264 -1727
  39. data/sorbet/rbi/gems/{rainbow.rbi → rainbow@3.0.0.rbi} +90 -55
  40. data/sorbet/rbi/gems/{rake.rbi → rake@13.0.6.rbi} +578 -431
  41. data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +8 -0
  42. data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +8 -0
  43. data/sorbet/rbi/gems/rbi@0.0.6.rbi +1405 -0
  44. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +1120 -0
  45. data/sorbet/rbi/gems/{rexml.rbi → rexml@3.2.5.rbi} +564 -497
  46. data/sorbet/rbi/gems/{rspec-core.rbi → rspec-core@3.10.1.rbi} +2308 -1766
  47. data/sorbet/rbi/gems/{rspec-expectations.rbi → rspec-expectations@3.10.1.rbi} +1149 -698
  48. data/sorbet/rbi/gems/{rspec-mocks.rbi → rspec-mocks@3.10.2.rbi} +1299 -936
  49. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
  50. data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
  51. data/sorbet/rbi/gems/rubocop-ast@1.12.0.rbi +1938 -0
  52. data/sorbet/rbi/gems/rubocop-rspec@2.5.0.rbi +1786 -0
  53. data/sorbet/rbi/gems/rubocop@1.22.1.rbi +13252 -0
  54. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  55. data/sorbet/rbi/gems/shellany@0.0.1.rbi +8 -0
  56. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  57. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  58. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
  59. data/sorbet/rbi/gems/spoom@1.1.5.rbi +1241 -0
  60. data/sorbet/rbi/gems/stackprof@0.2.17.rbi +98 -0
  61. data/sorbet/rbi/gems/tapioca@0.5.2.rbi +949 -0
  62. data/sorbet/rbi/gems/thor@1.1.0.rbi +839 -0
  63. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  64. data/sorbet/rbi/gems/unparser@0.6.0.rbi +8 -0
  65. data/sorbet/tapioca/require.rb +4 -0
  66. metadata +60 -64
  67. data/.reek.yml +0 -32
  68. data/.ruby-version +0 -1
  69. data/sorbet/rbi/gems/activesupport.rbi +0 -1722
  70. data/sorbet/rbi/gems/byebug.rbi +0 -1041
  71. data/sorbet/rbi/gems/coderay.rbi +0 -285
  72. data/sorbet/rbi/gems/concurrent-ruby.rbi +0 -1586
  73. data/sorbet/rbi/gems/docile.rbi +0 -32
  74. data/sorbet/rbi/gems/em-websocket.rbi +0 -225
  75. data/sorbet/rbi/gems/eventmachine.rbi +0 -489
  76. data/sorbet/rbi/gems/ffaker.rbi +0 -60
  77. data/sorbet/rbi/gems/guard.rbi +0 -397
  78. data/sorbet/rbi/gems/http_parser.rb.rbi +0 -37
  79. data/sorbet/rbi/gems/i18n.rbi +0 -133
  80. data/sorbet/rbi/gems/kwalify.rbi +0 -340
  81. data/sorbet/rbi/gems/listen.rbi +0 -324
  82. data/sorbet/rbi/gems/lumberjack.rbi +0 -300
  83. data/sorbet/rbi/gems/method_source.rbi +0 -64
  84. data/sorbet/rbi/gems/multi_json.rbi +0 -62
  85. data/sorbet/rbi/gems/nenv.rbi +0 -60
  86. data/sorbet/rbi/gems/notiffany.rbi +0 -215
  87. data/sorbet/rbi/gems/parallel.rbi +0 -82
  88. data/sorbet/rbi/gems/parser.rbi +0 -1846
  89. data/sorbet/rbi/gems/pry-byebug.rbi +0 -155
  90. data/sorbet/rbi/gems/rb-fsevent.rbi +0 -31
  91. data/sorbet/rbi/gems/rb-readline.rbi +0 -767
  92. data/sorbet/rbi/gems/reek.rbi +0 -1027
  93. data/sorbet/rbi/gems/regexp_parser.rbi +0 -913
  94. data/sorbet/rbi/gems/rspec-support.rbi +0 -280
  95. data/sorbet/rbi/gems/rspec.rbi +0 -15
  96. data/sorbet/rbi/gems/rubocop-ast.rbi +0 -1053
  97. data/sorbet/rbi/gems/rubocop-rspec.rbi +0 -937
  98. data/sorbet/rbi/gems/rubocop.rbi +0 -6841
  99. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -305
  100. data/sorbet/rbi/gems/shellany.rbi +0 -29
  101. data/sorbet/rbi/gems/shoulda-matchers.rbi +0 -1848
  102. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  103. data/sorbet/rbi/gems/simplecov.rbi +0 -361
  104. data/sorbet/rbi/gems/sqlite3.rbi +0 -354
  105. data/sorbet/rbi/gems/stackprof.rbi +0 -52
  106. data/sorbet/rbi/gems/thor.rbi +0 -32
  107. data/sorbet/rbi/gems/thread_safe.rbi +0 -82
  108. data/sorbet/rbi/gems/timecop.rbi +0 -98
  109. data/sorbet/rbi/gems/tzinfo.rbi +0 -406
  110. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -17
  111. data/sorbet/rbi/hidden-definitions/errors.txt +0 -7275
  112. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -14595
  113. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +0 -23
  114. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +0 -1431
  115. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +0 -108
  116. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +0 -276
  117. data/sorbet/rbi/sorbet-typed/lib/rubocop/~>0.85/rubocop.rbi +0 -2072
  118. data/sorbet/rbi/sorbet-typed/lib/rubocop-rspec/~>1.39/rubocop-rspec.rbi +0 -398
  119. data/sorbet/rbi/todo.rbi +0 -9
@@ -0,0 +1,949 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `tapioca` gem.
3
+ # Please instead update this file by running `bin/tapioca gem tapioca`.
4
+
5
+ # typed: true
6
+
7
+ class ActiveRecordColumnTypeHelper
8
+ def initialize(*args, &blk); end
9
+
10
+ sig { params(column_name: String).returns([String, String]) }
11
+ def type_for(column_name); end
12
+
13
+ private
14
+
15
+ sig { params(constant: Module).returns(T::Boolean) }
16
+ def do_not_generate_strong_types?(constant); end
17
+
18
+ sig { params(column_type: Object).returns(String) }
19
+ def handle_unknown_type(column_type); end
20
+
21
+ def lookup_arg_type_of_method(*args, &blk); end
22
+ def lookup_return_type_of_method(*args, &blk); end
23
+ end
24
+
25
+ module RBI; end
26
+
27
+ class RBI::Tree < ::RBI::NodeWithComments
28
+ sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Tree).void)).void }
29
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
30
+
31
+ sig { params(node: RBI::Node).void }
32
+ def <<(node); end
33
+
34
+ sig { override.params(v: RBI::Printer).void }
35
+ def accept_printer(v); end
36
+
37
+ sig { params(with_todo_comment: T::Boolean).void }
38
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
39
+
40
+ sig { params(name: String, superclass_name: T.nilable(String), block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void }
41
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
42
+
43
+ sig { params(name: String, value: String).void }
44
+ def create_constant(name, value:); end
45
+
46
+ sig { params(name: String).void }
47
+ def create_extend(name); end
48
+
49
+ sig { params(name: String).void }
50
+ def create_include(name); end
51
+
52
+ sig { params(name: String, parameters: T::Array[RBI::TypedParam], return_type: String, class_method: T::Boolean).void }
53
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil)); end
54
+
55
+ sig { params(name: String).void }
56
+ def create_mixes_in_class_methods(name); end
57
+
58
+ sig { params(name: String, block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void }
59
+ def create_module(name, &block); end
60
+
61
+ sig { params(constant: Module, block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void }
62
+ def create_path(constant, &block); end
63
+
64
+ sig { params(name: String, value: String).void }
65
+ def create_type_member(name, value: T.unsafe(nil)); end
66
+
67
+ sig { returns(T::Boolean) }
68
+ def empty?; end
69
+
70
+ sig { void }
71
+ def group_nodes!; end
72
+
73
+ sig { returns(RBI::Index) }
74
+ def index; end
75
+
76
+ sig { params(other: RBI::Tree).returns(RBI::Tree) }
77
+ def merge(other); end
78
+
79
+ sig { void }
80
+ def nest_non_public_methods!; end
81
+
82
+ sig { void }
83
+ def nest_singleton_methods!; end
84
+
85
+ sig { returns(T::Array[RBI::Node]) }
86
+ def nodes; end
87
+
88
+ sig { override.returns(T::Boolean) }
89
+ def oneline?; end
90
+
91
+ sig { void }
92
+ def sort_nodes!; end
93
+
94
+ private
95
+
96
+ sig { params(node: RBI::Node).returns(RBI::Node) }
97
+ def create_node(node); end
98
+
99
+ sig { returns(T::Hash[String, RBI::Node]) }
100
+ def nodes_cache; end
101
+
102
+ sig { params(name: String).returns(T::Boolean) }
103
+ def valid_method_name?(name); end
104
+ end
105
+
106
+ RBI::Tree::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array)
107
+
108
+ class RBI::TypedParam < ::T::Struct
109
+ const :param, RBI::Param
110
+ const :type, String
111
+
112
+ class << self
113
+ def inherited(s); end
114
+ end
115
+ end
116
+
117
+ RBI::VERSION = T.let(T.unsafe(nil), String)
118
+
119
+ module T::Generic::TypeStoragePatch
120
+ def [](*types); end
121
+ def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil)); end
122
+ def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil)); end
123
+ end
124
+
125
+ module T::Types::Simple::GenericNamePatch
126
+ def name; end
127
+ end
128
+
129
+ module T::Types::Simple::NamePatch
130
+ def name; end
131
+ end
132
+
133
+ module Tapioca
134
+ class << self
135
+ def silence_warnings(&blk); end
136
+ end
137
+ end
138
+
139
+ class Tapioca::Cli < ::Thor
140
+ include ::Thor::Actions
141
+ extend ::Thor::Actions::ClassMethods
142
+
143
+ def __print_version; end
144
+ def dsl(*constants); end
145
+ def gem(*gems); end
146
+ def generate(*gems); end
147
+ def init; end
148
+ def require; end
149
+ def sync; end
150
+ def todo; end
151
+
152
+ private
153
+
154
+ def create_config; end
155
+ def create_post_require; end
156
+ def generate_binstub; end
157
+ def generator; end
158
+
159
+ class << self
160
+ def exit_on_failure?; end
161
+ end
162
+ end
163
+
164
+ module Tapioca::Compilers; end
165
+ module Tapioca::Compilers::Dsl; end
166
+
167
+ class Tapioca::Compilers::Dsl::Base
168
+ include ::Tapioca::Reflection
169
+
170
+ abstract!
171
+
172
+ sig { void }
173
+ def initialize; end
174
+
175
+ sig { abstract.type_parameters(:T).params(tree: RBI::Tree, constant: T.type_parameter(:T)).void }
176
+ def decorate(tree, constant); end
177
+
178
+ sig { abstract.returns(T::Enumerable[Module]) }
179
+ def gather_constants; end
180
+
181
+ sig { params(constant: Module).returns(T::Boolean) }
182
+ def handles?(constant); end
183
+
184
+ sig { returns(T::Set[Module]) }
185
+ def processable_constants; end
186
+
187
+ private
188
+
189
+ sig { returns(T::Enumerable[Class]) }
190
+ def all_classes; end
191
+
192
+ sig { returns(T::Enumerable[Module]) }
193
+ def all_modules; end
194
+
195
+ sig { params(method_def: T.any(Method, UnboundMethod)).returns(T::Array[RBI::TypedParam]) }
196
+ def compile_method_parameters_to_rbi(method_def); end
197
+
198
+ sig { params(method_def: T.any(Method, UnboundMethod)).returns(String) }
199
+ def compile_method_return_type_to_rbi(method_def); end
200
+
201
+ sig { params(name: String, type: String).returns(RBI::TypedParam) }
202
+ def create_block_param(name, type:); end
203
+
204
+ sig { params(name: String, type: String, default: String).returns(RBI::TypedParam) }
205
+ def create_kw_opt_param(name, type:, default:); end
206
+
207
+ sig { params(name: String, type: String).returns(RBI::TypedParam) }
208
+ def create_kw_param(name, type:); end
209
+
210
+ sig { params(name: String, type: String).returns(RBI::TypedParam) }
211
+ def create_kw_rest_param(name, type:); end
212
+
213
+ sig { params(scope: RBI::Scope, method_def: T.any(Method, UnboundMethod), class_method: T::Boolean).void }
214
+ def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
215
+
216
+ sig { params(name: String, type: String, default: String).returns(RBI::TypedParam) }
217
+ def create_opt_param(name, type:, default:); end
218
+
219
+ sig { params(name: String, type: String).returns(RBI::TypedParam) }
220
+ def create_param(name, type:); end
221
+
222
+ sig { params(name: String, type: String).returns(RBI::TypedParam) }
223
+ def create_rest_param(name, type:); end
224
+
225
+ sig { params(param: RBI::Param, type: String).returns(RBI::TypedParam) }
226
+ def create_typed_param(param, type); end
227
+
228
+ sig { params(method_def: T.any(Method, UnboundMethod), signature: T.untyped).returns(T::Array[String]) }
229
+ def parameters_types_from_signature(method_def, signature); end
230
+ end
231
+
232
+ class Tapioca::Compilers::DslCompiler
233
+ sig { params(requested_constants: T::Array[Module], requested_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)], excluded_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)], error_handler: T.nilable(T.proc.params(error: String).void)).void }
234
+ def initialize(requested_constants:, requested_generators: T.unsafe(nil), excluded_generators: T.unsafe(nil), error_handler: T.unsafe(nil)); end
235
+
236
+ sig { returns(T.proc.params(error: String).void) }
237
+ def error_handler; end
238
+
239
+ sig { returns(T::Enumerable[Tapioca::Compilers::Dsl::Base]) }
240
+ def generators; end
241
+
242
+ sig { returns(T::Array[Module]) }
243
+ def requested_constants; end
244
+
245
+ sig { params(blk: T.proc.params(constant: Module, rbi: String).void).void }
246
+ def run(&blk); end
247
+
248
+ private
249
+
250
+ sig { params(requested_constants: T::Array[Module]).returns(T::Set[Module]) }
251
+ def gather_constants(requested_constants); end
252
+
253
+ sig { params(requested_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)], excluded_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)]).returns(T::Enumerable[Tapioca::Compilers::Dsl::Base]) }
254
+ def gather_generators(requested_generators, excluded_generators); end
255
+
256
+ sig { params(constant: Module).returns(T.nilable(String)) }
257
+ def rbi_for_constant(constant); end
258
+
259
+ sig { params(error: String).returns(T.noreturn) }
260
+ def report_error(error); end
261
+ end
262
+
263
+ class Tapioca::Compilers::RequiresCompiler
264
+ sig { params(sorbet_path: String).void }
265
+ def initialize(sorbet_path); end
266
+
267
+ sig { returns(String) }
268
+ def compile; end
269
+
270
+ private
271
+
272
+ sig { params(config: Spoom::Sorbet::Config).returns(T::Array[String]) }
273
+ def collect_files(config); end
274
+
275
+ sig { params(file_path: String).returns(T::Enumerable[String]) }
276
+ def collect_requires(file_path); end
277
+
278
+ sig { params(config: Spoom::Sorbet::Config, file_path: Pathname).returns(T::Boolean) }
279
+ def file_ignored_by_sorbet?(config, file_path); end
280
+
281
+ sig { params(files: T::Enumerable[String], name: String).returns(T::Boolean) }
282
+ def name_in_project?(files, name); end
283
+
284
+ sig { params(path: Pathname).returns(T::Array[String]) }
285
+ def path_parts(path); end
286
+ end
287
+
288
+ module Tapioca::Compilers::Sorbet
289
+ class << self
290
+ sig { params(args: String).returns(String) }
291
+ def run(*args); end
292
+
293
+ sig { returns(String) }
294
+ def sorbet_path; end
295
+
296
+ sig { params(feature: Symbol, version: T.nilable(Gem::Version)).returns(T::Boolean) }
297
+ def supports?(feature, version: T.unsafe(nil)); end
298
+ end
299
+ end
300
+
301
+ Tapioca::Compilers::Sorbet::EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String)
302
+ Tapioca::Compilers::Sorbet::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash)
303
+ Tapioca::Compilers::Sorbet::SORBET = T.let(T.unsafe(nil), Pathname)
304
+ Tapioca::Compilers::Sorbet::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification)
305
+ module Tapioca::Compilers::SymbolTable; end
306
+
307
+ class Tapioca::Compilers::SymbolTable::SymbolGenerator
308
+ include ::Tapioca::Reflection
309
+
310
+ sig { params(gem: Tapioca::Gemfile::GemSpec, indent: Integer).void }
311
+ def initialize(gem, indent = T.unsafe(nil)); end
312
+
313
+ def gem; end
314
+
315
+ sig { returns(String) }
316
+ def generate; end
317
+
318
+ def indent; end
319
+
320
+ private
321
+
322
+ sig { params(name: String).void }
323
+ def add_to_alias_namespace(name); end
324
+
325
+ def add_to_symbol_queue(name); end
326
+
327
+ sig { params(name: String).returns(T::Boolean) }
328
+ def alias_namespaced?(name); end
329
+
330
+ sig { params(constant: Module).returns([T::Array[Module], T::Array[Module]]) }
331
+ def collect_dynamic_mixins_of(constant); end
332
+
333
+ sig { params(constant: Module, dynamic_extends: T::Array[Module]).returns(T::Array[Module]) }
334
+ def collect_mixed_in_class_methods(constant, dynamic_extends); end
335
+
336
+ sig { params(tree: RBI::Tree, name: T.nilable(String), constant: BasicObject).void }
337
+ def compile(tree, name, constant); end
338
+
339
+ sig { params(tree: RBI::Tree, name: String, constant: Module).void }
340
+ def compile_alias(tree, name, constant); end
341
+
342
+ sig { params(tree: RBI::Tree, name: String, constant: Module).void }
343
+ def compile_body(tree, name, constant); end
344
+
345
+ sig { params(tree: RBI::Tree, name: String, constant: BasicObject).void }
346
+ def compile_constant(tree, name, constant); end
347
+
348
+ sig { params(tree: RBI::Tree, module_name: String, mod: Module, for_visibility: T::Array[Symbol]).void }
349
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end
350
+
351
+ sig { params(tree: RBI::Tree, constant: Module).void }
352
+ def compile_enums(tree, constant); end
353
+
354
+ sig { params(tree: RBI::Tree, symbol_name: String, constant: Module, method: T.nilable(UnboundMethod), visibility: RBI::Visibility).void }
355
+ def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
356
+
357
+ sig { params(tree: RBI::Tree, name: String, constant: Module).void }
358
+ def compile_methods(tree, name, constant); end
359
+
360
+ sig { params(tree: RBI::Tree, constant: Module).void }
361
+ def compile_mixes_in_class_methods(tree, constant); end
362
+
363
+ sig { params(tree: RBI::Tree, constant: Module).void }
364
+ def compile_mixins(tree, constant); end
365
+
366
+ sig { params(tree: RBI::Tree, name: String, constant: Module).void }
367
+ def compile_module(tree, name, constant); end
368
+
369
+ sig { params(tree: RBI::Tree, constant: Module).void }
370
+ def compile_module_helpers(tree, constant); end
371
+
372
+ sig { params(tree: RBI::Tree, name: String, value: BasicObject).void }
373
+ def compile_object(tree, name, value); end
374
+
375
+ sig { params(tree: RBI::Tree, constant: Module).void }
376
+ def compile_props(tree, constant); end
377
+
378
+ sig { params(signature: T.untyped, parameters: T::Array[[Symbol, String]]).returns(RBI::Sig) }
379
+ def compile_signature(signature, parameters); end
380
+
381
+ sig { params(tree: RBI::Tree, name: String, constant: Module).void }
382
+ def compile_subconstants(tree, name, constant); end
383
+
384
+ sig { params(constant: Class).returns(T.nilable(String)) }
385
+ def compile_superclass(constant); end
386
+
387
+ sig { params(tree: RBI::Tree, constant: Module).void }
388
+ def compile_type_variable_declarations(tree, constant); end
389
+
390
+ sig { params(tree: RBI::Tree, constant: Module).void }
391
+ def compile_type_variables(tree, constant); end
392
+
393
+ sig { params(constant: Module, strict: T::Boolean).returns(T::Boolean) }
394
+ def defined_in_gem?(constant, strict: T.unsafe(nil)); end
395
+
396
+ sig { params(symbols: T::Set[String]).returns(T::Set[String]) }
397
+ def engine_symbols(symbols); end
398
+
399
+ sig { params(tree: RBI::Tree, symbol: String).void }
400
+ def generate_from_symbol(tree, symbol); end
401
+
402
+ sig { params(constant: T.all(Module, T::Generic)).returns(String) }
403
+ def generic_name_of(constant); end
404
+
405
+ sig { params(constant: Module).returns(T::Array[String]) }
406
+ def get_file_candidates(constant); end
407
+
408
+ def initialize_method_for(constant); end
409
+
410
+ sig { params(constant: Module).returns(T::Array[Module]) }
411
+ def interesting_ancestors_of(constant); end
412
+
413
+ sig { params(name: String).void }
414
+ def mark_seen(name); end
415
+
416
+ sig { params(method: UnboundMethod).returns(T::Boolean) }
417
+ def method_in_gem?(method); end
418
+
419
+ sig { params(mod: Module).returns(T::Hash[Symbol, T::Array[Symbol]]) }
420
+ def method_names_by_visibility(mod); end
421
+
422
+ sig { params(constant: Module).returns(T.nilable(String)) }
423
+ def name_of(constant); end
424
+
425
+ sig { params(constant: Module, class_name: T.nilable(String)).returns(T.nilable(String)) }
426
+ def name_of_proxy_target(constant, class_name); end
427
+
428
+ sig { params(symbol: String, inherit: T::Boolean, namespace: Module).returns(BasicObject) }
429
+ def resolve_constant(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end
430
+
431
+ sig { params(sig_string: String).returns(String) }
432
+ def sanitize_signature_types(sig_string); end
433
+
434
+ sig { params(name: String).returns(T::Boolean) }
435
+ def seen?(name); end
436
+
437
+ sig { params(constant: Module, method_name: String).returns(T::Boolean) }
438
+ def struct_method?(constant, method_name); end
439
+
440
+ sig { params(symbol_name: String).returns(T::Boolean) }
441
+ def symbol_ignored?(symbol_name); end
442
+
443
+ sig { returns(T::Set[String]) }
444
+ def symbols; end
445
+
446
+ sig { params(name: String).returns(T::Boolean) }
447
+ def valid_method_name?(name); end
448
+ end
449
+
450
+ Tapioca::Compilers::SymbolTable::SymbolGenerator::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
451
+ Tapioca::Compilers::SymbolTable::SymbolGenerator::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array)
452
+ Tapioca::Compilers::SymbolTable::SymbolGenerator::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp)
453
+
454
+ module Tapioca::Compilers::SymbolTable::SymbolLoader
455
+ class << self
456
+ def ignore_symbol?(symbol); end
457
+
458
+ sig { params(paths: T::Array[Pathname]).returns(T::Set[String]) }
459
+ def list_from_paths(paths); end
460
+
461
+ private
462
+
463
+ def ignored_symbols; end
464
+
465
+ sig { params(paths: T::Array[String]).returns(T::Set[String]) }
466
+ def load_symbols(paths); end
467
+
468
+ def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
469
+ end
470
+ end
471
+
472
+ class Tapioca::Compilers::SymbolTable::SymbolLoader::SymbolTableParser
473
+ class << self
474
+ def parse(object, parents = T.unsafe(nil)); end
475
+ end
476
+ end
477
+
478
+ class Tapioca::Compilers::SymbolTableCompiler
479
+ sig { params(gem: Tapioca::Gemfile::GemSpec, indent: Integer).returns(String) }
480
+ def compile(gem, indent = T.unsafe(nil)); end
481
+ end
482
+
483
+ class Tapioca::Compilers::TodosCompiler
484
+ sig { returns(String) }
485
+ def compile; end
486
+
487
+ private
488
+
489
+ sig { returns(String) }
490
+ def list_todos; end
491
+ end
492
+
493
+ class Tapioca::Config < ::T::Struct
494
+ const :exclude, T::Array[String]
495
+ const :exclude_generators, T::Array[String]
496
+ const :file_header, T::Boolean, default: T.unsafe(nil)
497
+ const :generators, T::Array[String]
498
+ const :outdir, String
499
+ const :postrequire, String
500
+ const :prerequire, T.nilable(String)
501
+ const :todos_path, String
502
+ const :typed_overrides, T::Hash[String, String]
503
+
504
+ sig { returns(Pathname) }
505
+ def outpath; end
506
+
507
+ class << self
508
+ def inherited(s); end
509
+ end
510
+ end
511
+
512
+ Tapioca::Config::DEFAULT_COMMAND = T.let(T.unsafe(nil), String)
513
+ Tapioca::Config::DEFAULT_DSLDIR = T.let(T.unsafe(nil), String)
514
+ Tapioca::Config::DEFAULT_GEMDIR = T.let(T.unsafe(nil), String)
515
+ Tapioca::Config::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
516
+ Tapioca::Config::DEFAULT_POSTREQUIRE = T.let(T.unsafe(nil), String)
517
+ Tapioca::Config::DEFAULT_RBIDIR = T.let(T.unsafe(nil), String)
518
+ Tapioca::Config::DEFAULT_TODOSPATH = T.let(T.unsafe(nil), String)
519
+ Tapioca::Config::SORBET_CONFIG = T.let(T.unsafe(nil), String)
520
+ Tapioca::Config::SORBET_PATH = T.let(T.unsafe(nil), String)
521
+ Tapioca::Config::TAPIOCA_CONFIG = T.let(T.unsafe(nil), String)
522
+ Tapioca::Config::TAPIOCA_PATH = T.let(T.unsafe(nil), String)
523
+
524
+ class Tapioca::ConfigBuilder
525
+ class << self
526
+ sig { params(command: Symbol, options: T::Hash[String, T.untyped]).returns(Tapioca::Config) }
527
+ def from_options(command, options); end
528
+
529
+ private
530
+
531
+ sig { returns(T::Hash[String, T.untyped]) }
532
+ def config_options; end
533
+
534
+ sig { params(command: Symbol).returns(T::Hash[String, T.untyped]) }
535
+ def default_options(command); end
536
+
537
+ sig { params(options: T::Hash[String, T.untyped]).returns(T::Hash[String, T.untyped]) }
538
+ def merge_options(*options); end
539
+ end
540
+ end
541
+
542
+ Tapioca::ConfigBuilder::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
543
+
544
+ module Tapioca::ConstantLocator
545
+ extend ::Tapioca::Reflection
546
+
547
+ class << self
548
+ def files_for(klass); end
549
+ end
550
+ end
551
+
552
+ class Tapioca::Error < ::StandardError; end
553
+
554
+ class Tapioca::Gemfile
555
+ sig { void }
556
+ def initialize; end
557
+
558
+ sig { returns(Bundler::Definition) }
559
+ def definition; end
560
+
561
+ sig { returns(T::Array[Tapioca::Gemfile::GemSpec]) }
562
+ def dependencies; end
563
+
564
+ sig { params(gem_name: String).returns(T.nilable(Tapioca::Gemfile::GemSpec)) }
565
+ def gem(gem_name); end
566
+
567
+ sig { returns(T::Array[String]) }
568
+ def missing_specs; end
569
+
570
+ sig { void }
571
+ def require_bundle; end
572
+
573
+ private
574
+
575
+ sig { returns(String) }
576
+ def dir; end
577
+
578
+ sig { returns(File) }
579
+ def gemfile; end
580
+
581
+ sig { returns(T::Array[Symbol]) }
582
+ def groups; end
583
+
584
+ sig { returns([T::Array[Tapioca::Gemfile::GemSpec], T::Array[String]]) }
585
+ def load_dependencies; end
586
+
587
+ def lockfile; end
588
+
589
+ sig { returns([T::Enumerable[T.any(Gem::Specification, T.all(Bundler::RemoteSpecification, Bundler::StubSpecification))], T::Array[String]]) }
590
+ def materialize_deps; end
591
+
592
+ sig { returns(Bundler::Runtime) }
593
+ def runtime; end
594
+ end
595
+
596
+ class Tapioca::Gemfile::GemSpec
597
+ sig { params(spec: T.any(Gem::Specification, T.all(Bundler::RemoteSpecification, Bundler::StubSpecification))).void }
598
+ def initialize(spec); end
599
+
600
+ sig { params(path: String).returns(T::Boolean) }
601
+ def contains_path?(path); end
602
+
603
+ sig { returns(T::Array[Pathname]) }
604
+ def files; end
605
+
606
+ sig { returns(String) }
607
+ def full_gem_path; end
608
+
609
+ sig { params(gemfile_dir: String).returns(T::Boolean) }
610
+ def ignore?(gemfile_dir); end
611
+
612
+ sig { returns(String) }
613
+ def name; end
614
+
615
+ sig { returns(String) }
616
+ def rbi_file_name; end
617
+
618
+ def version; end
619
+
620
+ private
621
+
622
+ sig { returns(T::Boolean) }
623
+ def default_gem?; end
624
+
625
+ sig { returns(T::Boolean) }
626
+ def gem_ignored?; end
627
+
628
+ sig { params(gemfile_dir: String).returns(T::Boolean) }
629
+ def gem_in_app_dir?(gemfile_dir); end
630
+
631
+ sig { returns(T::Boolean) }
632
+ def gem_in_bundle_path?; end
633
+
634
+ sig { params(path: String).returns(T::Boolean) }
635
+ def has_parent_gemspec?(path); end
636
+
637
+ sig { returns(Pathname) }
638
+ def ruby_lib_dir; end
639
+
640
+ sig { params(path: T.any(Pathname, String)).returns(String) }
641
+ def to_realpath(path); end
642
+
643
+ sig { returns(String) }
644
+ def version_string; end
645
+ end
646
+
647
+ Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
648
+ Tapioca::Gemfile::Spec = T.type_alias { T.any(Gem::Specification, T.all(Bundler::RemoteSpecification, Bundler::StubSpecification)) }
649
+
650
+ class Tapioca::Generator < ::Thor::Shell::Color
651
+ sig { params(config: Tapioca::Config).void }
652
+ def initialize(config); end
653
+
654
+ sig { params(requested_constants: T::Array[String], should_verify: T::Boolean, quiet: T::Boolean, verbose: T::Boolean).void }
655
+ def build_dsl(requested_constants, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil)); end
656
+
657
+ sig { params(gem_names: T::Array[String]).void }
658
+ def build_gem_rbis(gem_names); end
659
+
660
+ sig { void }
661
+ def build_requires; end
662
+
663
+ sig { void }
664
+ def build_todos; end
665
+
666
+ sig { returns(Tapioca::Config) }
667
+ def config; end
668
+
669
+ sig { params(should_verify: T::Boolean).void }
670
+ def sync_rbis_with_gemfile(should_verify: T.unsafe(nil)); end
671
+
672
+ private
673
+
674
+ sig { void }
675
+ def abort_if_pending_migrations!; end
676
+
677
+ sig { params(filename: Pathname).void }
678
+ def add(filename); end
679
+
680
+ sig { returns(T::Array[String]) }
681
+ def added_rbis; end
682
+
683
+ sig { params(cause: Symbol, files: T::Array[String]).returns(String) }
684
+ def build_error_for_files(cause, files); end
685
+
686
+ sig { returns(Tapioca::Gemfile) }
687
+ def bundle; end
688
+
689
+ sig { params(constant_name: String, contents: String, outpath: Pathname, quiet: T::Boolean).returns(T.nilable(Pathname)) }
690
+ def compile_dsl_rbi(constant_name, contents, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
691
+
692
+ sig { params(gem: Tapioca::Gemfile::GemSpec).void }
693
+ def compile_gem_rbi(gem); end
694
+
695
+ sig { returns(Tapioca::Compilers::SymbolTableCompiler) }
696
+ def compiler; end
697
+
698
+ sig { params(constant_names: T::Array[String]).returns(T::Array[Module]) }
699
+ def constantize(constant_names); end
700
+
701
+ sig { params(generator_names: T::Array[String]).returns(T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)]) }
702
+ def constantize_generators(generator_names); end
703
+
704
+ sig { params(constant_name: String).returns(Pathname) }
705
+ def dsl_rbi_filename(constant_name); end
706
+
707
+ sig { params(gem_name: String).returns(Pathname) }
708
+ def existing_rbi(gem_name); end
709
+
710
+ sig { params(requested_constants: T::Array[String], path: Pathname).returns(T::Set[Pathname]) }
711
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
712
+
713
+ sig { returns(T::Hash[String, String]) }
714
+ def existing_rbis; end
715
+
716
+ sig { params(gem_name: String).returns(Pathname) }
717
+ def expected_rbi(gem_name); end
718
+
719
+ sig { returns(T::Hash[String, String]) }
720
+ def expected_rbis; end
721
+
722
+ sig { params(file: String, error: LoadError).void }
723
+ def explain_failed_require(file, error); end
724
+
725
+ sig { params(gem_name: String).returns(T::Boolean) }
726
+ def gem_rbi_exists?(gem_name); end
727
+
728
+ sig { params(gem_name: String, version: String).returns(Pathname) }
729
+ def gem_rbi_filename(gem_name, version); end
730
+
731
+ sig { params(gem_names: T::Array[String]).returns(T::Array[Tapioca::Gemfile::GemSpec]) }
732
+ def gems_to_generate(gem_names); end
733
+
734
+ sig { params(eager_load: T::Boolean).void }
735
+ def load_application(eager_load:); end
736
+
737
+ sig { void }
738
+ def load_dsl_generators; end
739
+
740
+ sig { returns(Tapioca::Loader) }
741
+ def loader; end
742
+
743
+ sig { params(old_filename: Pathname, new_filename: Pathname).void }
744
+ def move(old_filename, new_filename); end
745
+
746
+ sig { void }
747
+ def perform_additions; end
748
+
749
+ sig { params(dir: Pathname).void }
750
+ def perform_dsl_verification(dir); end
751
+
752
+ sig { void }
753
+ def perform_removals; end
754
+
755
+ sig { void }
756
+ def perform_sync_verification; end
757
+
758
+ sig { params(files: T::Set[Pathname]).void }
759
+ def purge_stale_dsl_rbi_files(files); end
760
+
761
+ sig { params(path: Pathname).returns(T::Array[Pathname]) }
762
+ def rbi_files_in(path); end
763
+
764
+ sig { params(command: String, reason: T.nilable(String), strictness: T.nilable(String)).returns(String) }
765
+ def rbi_header(command, reason: T.unsafe(nil), strictness: T.unsafe(nil)); end
766
+
767
+ sig { params(filename: Pathname).void }
768
+ def remove(filename); end
769
+
770
+ sig { returns(T::Array[String]) }
771
+ def removed_rbis; end
772
+
773
+ sig { params(diff: T::Hash[String, Symbol], command: String).void }
774
+ def report_diff_and_exit_if_out_of_date(diff, command); end
775
+
776
+ sig { void }
777
+ def require_gem_file; end
778
+
779
+ sig { params(message: String, color: T.any(Symbol, T::Array[Symbol])).void }
780
+ def say_error(message = T.unsafe(nil), *color); end
781
+
782
+ sig { params(class_name: String).returns(String) }
783
+ def underscore(class_name); end
784
+
785
+ sig { params(tmp_dir: Pathname).returns(T::Hash[String, Symbol]) }
786
+ def verify_dsl_rbi(tmp_dir:); end
787
+ end
788
+
789
+ Tapioca::Generator::EMPTY_RBI_COMMENT = T.let(T.unsafe(nil), String)
790
+
791
+ module Tapioca::GenericTypeRegistry
792
+ class << self
793
+ sig { params(constant: Module).returns(T.nilable(T::Hash[T.any(Tapioca::TypeMember, Tapioca::TypeTemplate), String])) }
794
+ def lookup_type_variables(constant); end
795
+
796
+ sig { params(constant: T.untyped, types: T.untyped).returns(Module) }
797
+ def register_type(constant, types); end
798
+
799
+ sig { params(constant: T.untyped, type_variable: T.any(Tapioca::TypeMember, Tapioca::TypeTemplate)).void }
800
+ def register_type_variable(constant, type_variable); end
801
+
802
+ private
803
+
804
+ sig { params(constant: Module, name: String).returns(Module) }
805
+ def create_generic_type(constant, name); end
806
+
807
+ sig { params(constant: Class).returns(Class) }
808
+ def create_safe_subclass(constant); end
809
+
810
+ sig { params(constant: Module).returns(T::Hash[T.any(Tapioca::TypeMember, Tapioca::TypeTemplate), String]) }
811
+ def lookup_or_initialize_type_variables(constant); end
812
+ end
813
+ end
814
+
815
+ Tapioca::GenericTypeRegistry::TypeVariable = T.type_alias { T.any(Tapioca::TypeMember, Tapioca::TypeTemplate) }
816
+
817
+ class Tapioca::Loader
818
+ sig { params(gemfile: Tapioca::Gemfile, initialize_file: T.nilable(String), require_file: T.nilable(String)).void }
819
+ def load_bundle(gemfile, initialize_file, require_file); end
820
+
821
+ sig { params(environment_load: T::Boolean, eager_load: T::Boolean).void }
822
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil)); end
823
+
824
+ private
825
+
826
+ sig { void }
827
+ def eager_load_rails_app; end
828
+
829
+ sig { void }
830
+ def load_rails_engines; end
831
+
832
+ sig { returns(T::Array[T.untyped]) }
833
+ def rails_engines; end
834
+
835
+ sig { params(file: T.nilable(String)).void }
836
+ def require_helper(file); end
837
+
838
+ sig { params(path: String).void }
839
+ def safe_require(path); end
840
+
841
+ sig { void }
842
+ def silence_deprecations; end
843
+ end
844
+
845
+ module Tapioca::Reflection
846
+ extend ::Tapioca::Reflection
847
+
848
+ sig { params(constant: Module).returns(T::Array[Module]) }
849
+ def ancestors_of(constant); end
850
+
851
+ sig { params(object: BasicObject, other: BasicObject).returns(T::Boolean) }
852
+ def are_equal?(object, other); end
853
+
854
+ sig { params(object: BasicObject).returns(Class) }
855
+ def class_of(object); end
856
+
857
+ sig { params(constant: Module).returns(T::Array[Symbol]) }
858
+ def constants_of(constant); end
859
+
860
+ sig { type_parameters(:U).params(klass: T.type_parameter(:U)).returns(T::Array[T.type_parameter(:U)]) }
861
+ def descendants_of(klass); end
862
+
863
+ sig { params(constant: Module).returns(T::Array[Module]) }
864
+ def inherited_ancestors_of(constant); end
865
+
866
+ sig { params(constant: Module).returns(T.nilable(String)) }
867
+ def name_of(constant); end
868
+
869
+ sig { params(type: T::Types::Base).returns(String) }
870
+ def name_of_type(type); end
871
+
872
+ sig { params(object: BasicObject).returns(Integer) }
873
+ def object_id_of(object); end
874
+
875
+ sig { params(constant: Module).returns(T::Array[Symbol]) }
876
+ def private_instance_methods_of(constant); end
877
+
878
+ sig { params(constant: Module).returns(T::Array[Symbol]) }
879
+ def protected_instance_methods_of(constant); end
880
+
881
+ sig { params(constant: Module).returns(T::Array[Symbol]) }
882
+ def public_instance_methods_of(constant); end
883
+
884
+ sig { params(constant: Module).returns(T.nilable(String)) }
885
+ def qualified_name_of(constant); end
886
+
887
+ sig { params(method: T.any(Method, UnboundMethod)).returns(T.untyped) }
888
+ def signature_of(method); end
889
+
890
+ sig { params(constant: Module).returns(Class) }
891
+ def singleton_class_of(constant); end
892
+
893
+ sig { params(constant: Class).returns(T.nilable(Class)) }
894
+ def superclass_of(constant); end
895
+ end
896
+
897
+ Tapioca::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
898
+ Tapioca::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
899
+ Tapioca::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
900
+ Tapioca::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod)
901
+ Tapioca::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
902
+ Tapioca::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod)
903
+ Tapioca::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
904
+ Tapioca::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
905
+ Tapioca::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
906
+ Tapioca::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
907
+ Tapioca::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
908
+
909
+ class Tapioca::TypeMember < ::T::Types::TypeMember
910
+ sig { params(variance: Symbol, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void }
911
+ def initialize(variance, fixed, lower, upper); end
912
+
913
+ sig { returns(T.untyped) }
914
+ def fixed; end
915
+
916
+ def lower; end
917
+
918
+ sig { returns(T.nilable(String)) }
919
+ def name; end
920
+
921
+ def name=(_arg0); end
922
+
923
+ sig { returns(String) }
924
+ def serialize; end
925
+
926
+ def upper; end
927
+ end
928
+
929
+ class Tapioca::TypeTemplate < ::T::Types::TypeTemplate
930
+ sig { params(variance: Symbol, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void }
931
+ def initialize(variance, fixed, lower, upper); end
932
+
933
+ sig { returns(T.untyped) }
934
+ def fixed; end
935
+
936
+ def lower; end
937
+
938
+ sig { returns(T.nilable(String)) }
939
+ def name; end
940
+
941
+ def name=(_arg0); end
942
+
943
+ sig { returns(String) }
944
+ def serialize; end
945
+
946
+ def upper; end
947
+ end
948
+
949
+ Tapioca::VERSION = T.let(T.unsafe(nil), String)