parlour 3.0.0 → 5.0.0.beta.3
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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- data/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- data/.gitignore +1 -1
- data/.parlour +5 -0
- data/.rspec +0 -0
- data/.travis.yml +0 -0
- data/CHANGELOG.md +57 -0
- data/CODE_OF_CONDUCT.md +0 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/README.md +233 -19
- data/Rakefile +0 -0
- data/exe/parlour +109 -4
- data/lib/parlour.rb +27 -1
- data/lib/parlour/conflict_resolver.rb +31 -9
- data/lib/parlour/conversion/converter.rb +34 -0
- data/lib/parlour/conversion/rbi_to_rbs.rb +223 -0
- data/lib/parlour/debugging.rb +0 -0
- data/lib/parlour/detached_rbi_generator.rb +1 -6
- data/lib/parlour/detached_rbs_generator.rb +25 -0
- data/lib/parlour/generator.rb +34 -0
- data/lib/parlour/kernel_hack.rb +0 -0
- data/lib/parlour/options.rb +71 -0
- data/lib/parlour/parse_error.rb +0 -0
- data/lib/parlour/plugin.rb +1 -1
- data/lib/parlour/rbi_generator.rb +24 -37
- data/lib/parlour/rbi_generator/arbitrary.rb +5 -2
- data/lib/parlour/rbi_generator/attribute.rb +14 -5
- data/lib/parlour/rbi_generator/class_namespace.rb +8 -3
- data/lib/parlour/rbi_generator/constant.rb +28 -8
- data/lib/parlour/rbi_generator/enum_class_namespace.rb +8 -3
- data/lib/parlour/rbi_generator/extend.rb +5 -2
- data/lib/parlour/rbi_generator/include.rb +5 -2
- data/lib/parlour/rbi_generator/method.rb +15 -10
- data/lib/parlour/rbi_generator/module_namespace.rb +7 -2
- data/lib/parlour/rbi_generator/namespace.rb +68 -18
- data/lib/parlour/rbi_generator/parameter.rb +13 -7
- data/lib/parlour/rbi_generator/rbi_object.rb +19 -78
- data/lib/parlour/rbi_generator/struct_class_namespace.rb +9 -2
- data/lib/parlour/rbi_generator/struct_prop.rb +12 -9
- data/lib/parlour/rbi_generator/type_alias.rb +101 -0
- data/lib/parlour/rbs_generator.rb +24 -0
- data/lib/parlour/rbs_generator/arbitrary.rb +92 -0
- data/lib/parlour/rbs_generator/attribute.rb +82 -0
- data/lib/parlour/rbs_generator/block.rb +49 -0
- data/lib/parlour/rbs_generator/class_namespace.rb +106 -0
- data/lib/parlour/rbs_generator/constant.rb +95 -0
- data/lib/parlour/rbs_generator/extend.rb +92 -0
- data/lib/parlour/rbs_generator/include.rb +92 -0
- data/lib/parlour/rbs_generator/interface_namespace.rb +34 -0
- data/lib/parlour/rbs_generator/method.rb +146 -0
- data/lib/parlour/rbs_generator/method_signature.rb +104 -0
- data/lib/parlour/rbs_generator/module_namespace.rb +35 -0
- data/lib/parlour/rbs_generator/namespace.rb +627 -0
- data/lib/parlour/rbs_generator/parameter.rb +146 -0
- data/lib/parlour/rbs_generator/rbs_object.rb +78 -0
- data/lib/parlour/rbs_generator/type_alias.rb +96 -0
- data/lib/parlour/type_loader.rb +25 -12
- data/lib/parlour/type_parser.rb +174 -17
- data/lib/parlour/typed_object.rb +87 -0
- data/lib/parlour/types.rb +539 -0
- data/lib/parlour/version.rb +1 -1
- data/parlour.gemspec +1 -1
- data/plugin_examples/foobar_plugin.rb +0 -0
- data/rbi/parlour.rbi +1856 -0
- metadata +35 -10
- data/lib/parlour/rbi_generator/options.rb +0 -74
data/lib/parlour/version.rb
CHANGED
data/parlour.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Aaron Christiansen"]
|
10
10
|
spec.email = ["hello@aaronc.cc"]
|
11
11
|
|
12
|
-
spec.summary = %q{
|
12
|
+
spec.summary = %q{A type information generator, merger and parser for Sorbet and Ruby 3/Steep}
|
13
13
|
spec.homepage = "https://github.com/AaronC81/parlour"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
File without changes
|
data/rbi/parlour.rbi
ADDED
@@ -0,0 +1,1856 @@
|
|
1
|
+
# typed: strong
|
2
|
+
module Kernel
|
3
|
+
end
|
4
|
+
|
5
|
+
module Parlour
|
6
|
+
VERSION = '5.0.0.beta.3'
|
7
|
+
|
8
|
+
class ConflictResolver
|
9
|
+
extend T::Sig
|
10
|
+
|
11
|
+
sig { params(namespace: RbiGenerator::Namespace, resolver: T.proc.params(
|
12
|
+
desc: String,
|
13
|
+
choices: T::Array[RbiGenerator::RbiObject]
|
14
|
+
).returns(T.nilable(RbiGenerator::RbiObject))).void }
|
15
|
+
def resolve_conflicts(namespace, &resolver); end
|
16
|
+
|
17
|
+
sig { params(arr: T::Array[T.untyped]).returns(T.nilable(Symbol)) }
|
18
|
+
def merge_strategy(arr); end
|
19
|
+
|
20
|
+
sig { params(arr: T::Array[T.untyped]).returns(T::Boolean) }
|
21
|
+
def all_eql?(arr); end
|
22
|
+
|
23
|
+
sig { params(namespace: RbiGenerator::Namespace, name: T.nilable(String)).void }
|
24
|
+
def deduplicate_mixins_of_name(namespace, name); end
|
25
|
+
end
|
26
|
+
|
27
|
+
module Debugging
|
28
|
+
extend T::Sig
|
29
|
+
|
30
|
+
sig { params(value: T::Boolean).returns(T::Boolean) }
|
31
|
+
def self.debug_mode=(value); end
|
32
|
+
|
33
|
+
sig { returns(T::Boolean) }
|
34
|
+
def self.debug_mode?; end
|
35
|
+
|
36
|
+
sig { params(object: T.untyped, message: String).void }
|
37
|
+
def self.debug_puts(object, message); end
|
38
|
+
|
39
|
+
sig { params(object: T.untyped).returns(String) }
|
40
|
+
def self.name_for_debug_caller(object); end
|
41
|
+
|
42
|
+
module Tree
|
43
|
+
extend T::Sig
|
44
|
+
INDENT_SPACES = 2
|
45
|
+
|
46
|
+
sig { params(message: String).returns(String) }
|
47
|
+
def self.begin(message); end
|
48
|
+
|
49
|
+
sig { params(message: String).returns(String) }
|
50
|
+
def self.here(message); end
|
51
|
+
|
52
|
+
sig { params(message: String).returns(String) }
|
53
|
+
def self.end(message); end
|
54
|
+
|
55
|
+
sig { returns(T.untyped) }
|
56
|
+
def self.line_prefix; end
|
57
|
+
|
58
|
+
sig { returns(T.untyped) }
|
59
|
+
def self.text_prefix; end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
class DetachedRbsGenerator < RbsGenerator
|
64
|
+
sig { returns(T.untyped) }
|
65
|
+
def detached!; end
|
66
|
+
|
67
|
+
sig { override.returns(Options) }
|
68
|
+
def options; end
|
69
|
+
|
70
|
+
sig { override.returns(T.nilable(Plugin)) }
|
71
|
+
def current_plugin; end
|
72
|
+
|
73
|
+
sig { override.returns(String) }
|
74
|
+
def rbs; end
|
75
|
+
end
|
76
|
+
|
77
|
+
class Generator
|
78
|
+
extend T::Sig
|
79
|
+
|
80
|
+
sig { params(break_params: Integer, tab_size: Integer, sort_namespaces: T::Boolean).void }
|
81
|
+
def initialize(break_params: 4, tab_size: 2, sort_namespaces: false); end
|
82
|
+
|
83
|
+
sig { returns(Options) }
|
84
|
+
attr_reader :options
|
85
|
+
|
86
|
+
sig { returns(T.nilable(Plugin)) }
|
87
|
+
attr_accessor :current_plugin
|
88
|
+
end
|
89
|
+
|
90
|
+
class Options
|
91
|
+
extend T::Sig
|
92
|
+
|
93
|
+
sig { params(break_params: Integer, tab_size: Integer, sort_namespaces: T::Boolean).void }
|
94
|
+
def initialize(break_params:, tab_size:, sort_namespaces:); end
|
95
|
+
|
96
|
+
sig { returns(Integer) }
|
97
|
+
attr_reader :break_params
|
98
|
+
|
99
|
+
sig { returns(Integer) }
|
100
|
+
attr_reader :tab_size
|
101
|
+
|
102
|
+
sig { returns(T::Boolean) }
|
103
|
+
attr_reader :sort_namespaces
|
104
|
+
|
105
|
+
sig { params(level: Integer, str: String).returns(String) }
|
106
|
+
def indented(level, str); end
|
107
|
+
end
|
108
|
+
|
109
|
+
class ParseError < StandardError
|
110
|
+
extend T::Sig
|
111
|
+
|
112
|
+
sig { returns(Parser::Source::Buffer) }
|
113
|
+
attr_reader :buffer
|
114
|
+
|
115
|
+
sig { returns(Parser::Source::Range) }
|
116
|
+
attr_reader :range
|
117
|
+
|
118
|
+
sig { params(buffer: T.untyped, range: T.untyped).returns(T.untyped) }
|
119
|
+
def initialize(buffer, range); end
|
120
|
+
end
|
121
|
+
|
122
|
+
class Plugin
|
123
|
+
abstract!
|
124
|
+
|
125
|
+
extend T::Sig
|
126
|
+
extend T::Helpers
|
127
|
+
|
128
|
+
sig { returns(T::Hash[String, T.class_of(Plugin)]) }
|
129
|
+
def self.registered_plugins; end
|
130
|
+
|
131
|
+
sig { params(new_plugin: T.class_of(Plugin)).void }
|
132
|
+
def self.inherited(new_plugin); end
|
133
|
+
|
134
|
+
sig { params(plugins: T::Array[Plugin], generator: RbiGenerator, allow_failure: T::Boolean).void }
|
135
|
+
def self.run_plugins(plugins, generator, allow_failure: true); end
|
136
|
+
|
137
|
+
sig { params(options: T::Hash[T.untyped, T.untyped]).void }
|
138
|
+
def initialize(options); end
|
139
|
+
|
140
|
+
sig { abstract.params(root: RbiGenerator::Namespace).void }
|
141
|
+
def generate(root); end
|
142
|
+
|
143
|
+
sig { returns(T.nilable(String)) }
|
144
|
+
attr_accessor :strictness
|
145
|
+
end
|
146
|
+
|
147
|
+
module TypeLoader
|
148
|
+
extend T::Sig
|
149
|
+
|
150
|
+
sig { params(source: String, filename: T.nilable(String), generator: T.nilable(RbiGenerator)).returns(RbiGenerator::Namespace) }
|
151
|
+
def self.load_source(source, filename = nil, generator: nil); end
|
152
|
+
|
153
|
+
sig { params(filename: String, generator: T.nilable(RbiGenerator)).returns(RbiGenerator::Namespace) }
|
154
|
+
def self.load_file(filename, generator: nil); end
|
155
|
+
|
156
|
+
sig do
|
157
|
+
params(
|
158
|
+
root: String,
|
159
|
+
inclusions: T::Array[String],
|
160
|
+
exclusions: T::Array[String],
|
161
|
+
generator: T.nilable(RbiGenerator)
|
162
|
+
).returns(RbiGenerator::Namespace)
|
163
|
+
end
|
164
|
+
def self.load_project(root, inclusions: ['.'], exclusions: [], generator: nil); end
|
165
|
+
end
|
166
|
+
|
167
|
+
class TypeParser
|
168
|
+
extend T::Sig
|
169
|
+
|
170
|
+
class NodePath
|
171
|
+
extend T::Sig
|
172
|
+
|
173
|
+
sig { returns(T::Array[Integer]) }
|
174
|
+
attr_reader :indices
|
175
|
+
|
176
|
+
sig { params(indices: T::Array[Integer]).void }
|
177
|
+
def initialize(indices); end
|
178
|
+
|
179
|
+
sig { returns(NodePath) }
|
180
|
+
def parent; end
|
181
|
+
|
182
|
+
sig { params(index: Integer).returns(NodePath) }
|
183
|
+
def child(index); end
|
184
|
+
|
185
|
+
sig { params(offset: Integer).returns(NodePath) }
|
186
|
+
def sibling(offset); end
|
187
|
+
|
188
|
+
sig { params(start: Parser::AST::Node).returns(Parser::AST::Node) }
|
189
|
+
def traverse(start); end
|
190
|
+
end
|
191
|
+
|
192
|
+
sig { params(ast: Parser::AST::Node, unknown_node_errors: T::Boolean, generator: T.nilable(RbiGenerator)).void }
|
193
|
+
def initialize(ast, unknown_node_errors: false, generator: nil); end
|
194
|
+
|
195
|
+
sig { params(filename: String, source: String, generator: T.nilable(RbiGenerator)).returns(TypeParser) }
|
196
|
+
def self.from_source(filename, source, generator: nil); end
|
197
|
+
|
198
|
+
sig { returns(Parser::AST::Node) }
|
199
|
+
attr_accessor :ast
|
200
|
+
|
201
|
+
sig { returns(T::Boolean) }
|
202
|
+
attr_reader :unknown_node_errors
|
203
|
+
|
204
|
+
sig { returns(RbiGenerator) }
|
205
|
+
attr_accessor :generator
|
206
|
+
|
207
|
+
sig { returns(RbiGenerator::Namespace) }
|
208
|
+
def parse_all; end
|
209
|
+
|
210
|
+
sig { params(path: NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[RbiGenerator::RbiObject]) }
|
211
|
+
def parse_path_to_object(path, is_within_eigenclass: false); end
|
212
|
+
|
213
|
+
class IntermediateSig < T::Struct
|
214
|
+
prop :type_parameters, T.nilable(T::Array[Symbol])
|
215
|
+
prop :overridable, T::Boolean
|
216
|
+
prop :override, T::Boolean
|
217
|
+
prop :abstract, T::Boolean
|
218
|
+
prop :final, T::Boolean
|
219
|
+
prop :return_type, T.nilable(String)
|
220
|
+
prop :params, T.nilable(T::Array[Parser::AST::Node])
|
221
|
+
|
222
|
+
end
|
223
|
+
|
224
|
+
sig { params(path: NodePath).returns(IntermediateSig) }
|
225
|
+
def parse_sig_into_sig(path); end
|
226
|
+
|
227
|
+
sig { params(path: NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[RbiGenerator::Method]) }
|
228
|
+
def parse_sig_into_methods(path, is_within_eigenclass: false); end
|
229
|
+
|
230
|
+
sig { params(path: NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[RbiGenerator::Method]) }
|
231
|
+
def parse_method_into_methods(path, is_within_eigenclass: false); end
|
232
|
+
|
233
|
+
sig { params(str: String).returns(Types::Type) }
|
234
|
+
def self.parse_single_type(str); end
|
235
|
+
|
236
|
+
sig { params(node: Parser::AST::Node).returns(Types::Type) }
|
237
|
+
def parse_node_to_type(node); end
|
238
|
+
|
239
|
+
sig { params(msg: String, node: Parser::AST::Node).void }
|
240
|
+
def warning(msg, node); end
|
241
|
+
|
242
|
+
sig { params(node: T.nilable(Parser::AST::Node)).returns(T::Array[Symbol]) }
|
243
|
+
def constant_names(node); end
|
244
|
+
|
245
|
+
sig { params(node: Parser::AST::Node).returns(T::Boolean) }
|
246
|
+
def sig_node?(node); end
|
247
|
+
|
248
|
+
sig { params(path: NodePath).returns(T::Boolean) }
|
249
|
+
def previous_sibling_sig_node?(path); end
|
250
|
+
|
251
|
+
sig { params(node: T.nilable(Parser::AST::Node)).returns(T.nilable(String)) }
|
252
|
+
def node_to_s(node); end
|
253
|
+
|
254
|
+
sig { params(node: T.nilable(Parser::AST::Node), modifier: Symbol).returns(T::Boolean) }
|
255
|
+
def body_has_modifier?(node, modifier); end
|
256
|
+
|
257
|
+
sig { params(node: Parser::AST::Node).returns([T::Array[String], T::Array[String]]) }
|
258
|
+
def body_includes_and_extends(node); end
|
259
|
+
|
260
|
+
sig { params(desc: String, node: T.any(Parser::AST::Node, NodePath)).returns(T.noreturn) }
|
261
|
+
def parse_err(desc, node); end
|
262
|
+
|
263
|
+
sig do
|
264
|
+
type_parameters(:A, :B).params(
|
265
|
+
a: T::Array[T.type_parameter(:A)],
|
266
|
+
fa: T.proc.params(item: T.type_parameter(:A)).returns(T.untyped),
|
267
|
+
b: T::Array[T.type_parameter(:B)],
|
268
|
+
fb: T.proc.params(item: T.type_parameter(:B)).returns(T.untyped)
|
269
|
+
).returns(T::Array[[T.type_parameter(:A), T.type_parameter(:B)]])
|
270
|
+
end
|
271
|
+
def zip_by(a, fa, b, fb); end
|
272
|
+
end
|
273
|
+
|
274
|
+
class TypedObject
|
275
|
+
abstract!
|
276
|
+
|
277
|
+
extend T::Sig
|
278
|
+
extend T::Helpers
|
279
|
+
|
280
|
+
sig { params(name: String).void }
|
281
|
+
def initialize(name); end
|
282
|
+
|
283
|
+
sig { returns(T.nilable(Plugin)) }
|
284
|
+
attr_reader :generated_by
|
285
|
+
|
286
|
+
sig { returns(String) }
|
287
|
+
attr_reader :name
|
288
|
+
|
289
|
+
sig { returns(T::Array[String]) }
|
290
|
+
attr_reader :comments
|
291
|
+
|
292
|
+
sig { params(comment: T.any(String, T::Array[String])).void }
|
293
|
+
def add_comment(comment); end
|
294
|
+
|
295
|
+
sig { abstract.returns(String) }
|
296
|
+
def describe; end
|
297
|
+
|
298
|
+
sig { params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
299
|
+
def generate_comments(indent_level, options); end
|
300
|
+
end
|
301
|
+
|
302
|
+
module Types
|
303
|
+
TypeLike = T.type_alias { T.any(String, Type) }
|
304
|
+
|
305
|
+
class Type
|
306
|
+
abstract!
|
307
|
+
|
308
|
+
extend T::Sig
|
309
|
+
extend T::Helpers
|
310
|
+
|
311
|
+
sig { abstract.returns(String) }
|
312
|
+
def generate_rbi; end
|
313
|
+
|
314
|
+
sig { abstract.returns(String) }
|
315
|
+
def generate_rbs; end
|
316
|
+
|
317
|
+
sig { params(type_like: TypeLike).returns(Type) }
|
318
|
+
def self.to_type(type_like); end
|
319
|
+
|
320
|
+
sig { params(type_like: TypeLike).returns(Type) }
|
321
|
+
def to_type(type_like); end
|
322
|
+
|
323
|
+
sig { returns(T.untyped) }
|
324
|
+
def hash; end
|
325
|
+
|
326
|
+
sig { abstract.returns(String) }
|
327
|
+
def describe; end
|
328
|
+
end
|
329
|
+
|
330
|
+
class Raw < Type
|
331
|
+
sig { params(str: String).void }
|
332
|
+
def initialize(str); end
|
333
|
+
|
334
|
+
sig { returns(String) }
|
335
|
+
attr_reader :str
|
336
|
+
|
337
|
+
sig { params(other: Object).returns(T::Boolean) }
|
338
|
+
def ==(other); end
|
339
|
+
|
340
|
+
sig { override.returns(String) }
|
341
|
+
def generate_rbi; end
|
342
|
+
|
343
|
+
sig { override.returns(String) }
|
344
|
+
def generate_rbs; end
|
345
|
+
|
346
|
+
sig { override.returns(String) }
|
347
|
+
def describe; end
|
348
|
+
end
|
349
|
+
|
350
|
+
class Nilable < Type
|
351
|
+
sig { params(type: TypeLike).void }
|
352
|
+
def initialize(type); end
|
353
|
+
|
354
|
+
sig { params(other: Object).returns(T::Boolean) }
|
355
|
+
def ==(other); end
|
356
|
+
|
357
|
+
sig { returns(Type) }
|
358
|
+
attr_reader :type
|
359
|
+
|
360
|
+
sig { override.returns(String) }
|
361
|
+
def generate_rbi; end
|
362
|
+
|
363
|
+
sig { override.returns(String) }
|
364
|
+
def generate_rbs; end
|
365
|
+
|
366
|
+
sig { override.returns(String) }
|
367
|
+
def describe; end
|
368
|
+
end
|
369
|
+
|
370
|
+
class Union < Type
|
371
|
+
sig { params(types: T::Array[TypeLike]).void }
|
372
|
+
def initialize(types); end
|
373
|
+
|
374
|
+
sig { params(other: Object).returns(T::Boolean) }
|
375
|
+
def ==(other); end
|
376
|
+
|
377
|
+
sig { returns(T::Array[Type]) }
|
378
|
+
attr_reader :types
|
379
|
+
|
380
|
+
sig { override.returns(String) }
|
381
|
+
def generate_rbi; end
|
382
|
+
|
383
|
+
sig { override.returns(String) }
|
384
|
+
def generate_rbs; end
|
385
|
+
|
386
|
+
sig { override.returns(String) }
|
387
|
+
def describe; end
|
388
|
+
end
|
389
|
+
|
390
|
+
class Intersection < Type
|
391
|
+
sig { params(types: T::Array[TypeLike]).void }
|
392
|
+
def initialize(types); end
|
393
|
+
|
394
|
+
sig { params(other: Object).returns(T::Boolean) }
|
395
|
+
def ==(other); end
|
396
|
+
|
397
|
+
sig { returns(T::Array[Type]) }
|
398
|
+
attr_reader :types
|
399
|
+
|
400
|
+
sig { override.returns(String) }
|
401
|
+
def generate_rbi; end
|
402
|
+
|
403
|
+
sig { override.returns(String) }
|
404
|
+
def generate_rbs; end
|
405
|
+
|
406
|
+
sig { override.returns(String) }
|
407
|
+
def describe; end
|
408
|
+
end
|
409
|
+
|
410
|
+
class Tuple < Type
|
411
|
+
sig { params(types: T::Array[TypeLike]).void }
|
412
|
+
def initialize(types); end
|
413
|
+
|
414
|
+
sig { params(other: Object).returns(T::Boolean) }
|
415
|
+
def ==(other); end
|
416
|
+
|
417
|
+
sig { returns(T::Array[Type]) }
|
418
|
+
attr_reader :types
|
419
|
+
|
420
|
+
sig { override.returns(String) }
|
421
|
+
def generate_rbi; end
|
422
|
+
|
423
|
+
sig { override.returns(String) }
|
424
|
+
def generate_rbs; end
|
425
|
+
|
426
|
+
sig { override.returns(String) }
|
427
|
+
def describe; end
|
428
|
+
end
|
429
|
+
|
430
|
+
class SingleElementCollection < Type
|
431
|
+
abstract!
|
432
|
+
|
433
|
+
sig { params(element: TypeLike).void }
|
434
|
+
def initialize(element); end
|
435
|
+
|
436
|
+
sig { returns(Type) }
|
437
|
+
attr_reader :element
|
438
|
+
|
439
|
+
sig { abstract.returns(String) }
|
440
|
+
def collection_name; end
|
441
|
+
|
442
|
+
sig { override.returns(String) }
|
443
|
+
def generate_rbi; end
|
444
|
+
|
445
|
+
sig { override.returns(String) }
|
446
|
+
def generate_rbs; end
|
447
|
+
|
448
|
+
sig { override.returns(String) }
|
449
|
+
def describe; end
|
450
|
+
end
|
451
|
+
|
452
|
+
class Array < SingleElementCollection
|
453
|
+
sig { override.returns(String) }
|
454
|
+
def collection_name; end
|
455
|
+
|
456
|
+
sig { params(other: Object).returns(T::Boolean) }
|
457
|
+
def ==(other); end
|
458
|
+
end
|
459
|
+
|
460
|
+
class Set < SingleElementCollection
|
461
|
+
sig { override.returns(String) }
|
462
|
+
def collection_name; end
|
463
|
+
|
464
|
+
sig { params(other: Object).returns(T::Boolean) }
|
465
|
+
def ==(other); end
|
466
|
+
end
|
467
|
+
|
468
|
+
class Range < SingleElementCollection
|
469
|
+
sig { override.returns(String) }
|
470
|
+
def collection_name; end
|
471
|
+
|
472
|
+
sig { params(other: Object).returns(T::Boolean) }
|
473
|
+
def ==(other); end
|
474
|
+
end
|
475
|
+
|
476
|
+
class Enumerable < SingleElementCollection
|
477
|
+
sig { override.returns(String) }
|
478
|
+
def collection_name; end
|
479
|
+
|
480
|
+
sig { params(other: Object).returns(T::Boolean) }
|
481
|
+
def ==(other); end
|
482
|
+
end
|
483
|
+
|
484
|
+
class Enumerator < SingleElementCollection
|
485
|
+
sig { override.returns(String) }
|
486
|
+
def collection_name; end
|
487
|
+
|
488
|
+
sig { params(other: Object).returns(T::Boolean) }
|
489
|
+
def ==(other); end
|
490
|
+
end
|
491
|
+
|
492
|
+
class Hash < Type
|
493
|
+
sig { params(key: TypeLike, value: TypeLike).void }
|
494
|
+
def initialize(key, value); end
|
495
|
+
|
496
|
+
sig { params(other: Object).returns(T::Boolean) }
|
497
|
+
def ==(other); end
|
498
|
+
|
499
|
+
sig { returns(Type) }
|
500
|
+
attr_reader :key
|
501
|
+
|
502
|
+
sig { returns(Type) }
|
503
|
+
attr_reader :value
|
504
|
+
|
505
|
+
sig { override.returns(String) }
|
506
|
+
def generate_rbi; end
|
507
|
+
|
508
|
+
sig { override.returns(String) }
|
509
|
+
def generate_rbs; end
|
510
|
+
|
511
|
+
sig { override.returns(String) }
|
512
|
+
def describe; end
|
513
|
+
end
|
514
|
+
|
515
|
+
class Record < Type
|
516
|
+
sig { params(keys_to_types: T::Hash[Symbol, TypeLike]).void }
|
517
|
+
def initialize(keys_to_types); end
|
518
|
+
|
519
|
+
sig { params(other: Object).returns(T::Boolean) }
|
520
|
+
def ==(other); end
|
521
|
+
|
522
|
+
sig { returns(T::Hash[Symbol, Type]) }
|
523
|
+
attr_reader :keys_to_types
|
524
|
+
|
525
|
+
sig { override.returns(String) }
|
526
|
+
def generate_rbi; end
|
527
|
+
|
528
|
+
sig { override.returns(String) }
|
529
|
+
def generate_rbs; end
|
530
|
+
|
531
|
+
sig { override.returns(String) }
|
532
|
+
def describe; end
|
533
|
+
end
|
534
|
+
|
535
|
+
class Class < Type
|
536
|
+
sig { params(type: TypeLike).void }
|
537
|
+
def initialize(type); end
|
538
|
+
|
539
|
+
sig { params(other: Object).returns(T::Boolean) }
|
540
|
+
def ==(other); end
|
541
|
+
|
542
|
+
sig { returns(Type) }
|
543
|
+
attr_reader :type
|
544
|
+
|
545
|
+
sig { override.returns(String) }
|
546
|
+
def generate_rbi; end
|
547
|
+
|
548
|
+
sig { override.returns(String) }
|
549
|
+
def generate_rbs; end
|
550
|
+
|
551
|
+
sig { override.returns(String) }
|
552
|
+
def describe; end
|
553
|
+
end
|
554
|
+
|
555
|
+
class Boolean < Type
|
556
|
+
sig { params(other: Object).returns(T::Boolean) }
|
557
|
+
def ==(other); end
|
558
|
+
|
559
|
+
sig { override.returns(String) }
|
560
|
+
def generate_rbi; end
|
561
|
+
|
562
|
+
sig { override.returns(String) }
|
563
|
+
def generate_rbs; end
|
564
|
+
|
565
|
+
sig { override.returns(String) }
|
566
|
+
def describe; end
|
567
|
+
end
|
568
|
+
|
569
|
+
class Self < Type
|
570
|
+
sig { params(other: Object).returns(T::Boolean) }
|
571
|
+
def ==(other); end
|
572
|
+
|
573
|
+
sig { override.returns(String) }
|
574
|
+
def generate_rbi; end
|
575
|
+
|
576
|
+
sig { override.returns(String) }
|
577
|
+
def generate_rbs; end
|
578
|
+
|
579
|
+
sig { override.returns(String) }
|
580
|
+
def describe; end
|
581
|
+
end
|
582
|
+
|
583
|
+
class Untyped < Type
|
584
|
+
sig { params(other: Object).returns(T::Boolean) }
|
585
|
+
def ==(other); end
|
586
|
+
|
587
|
+
sig { override.returns(String) }
|
588
|
+
def generate_rbi; end
|
589
|
+
|
590
|
+
sig { override.returns(String) }
|
591
|
+
def generate_rbs; end
|
592
|
+
|
593
|
+
sig { override.returns(String) }
|
594
|
+
def describe; end
|
595
|
+
end
|
596
|
+
|
597
|
+
class Proc < Type
|
598
|
+
class Parameter
|
599
|
+
extend T::Sig
|
600
|
+
|
601
|
+
sig { params(name: String, type: TypeLike, default: T.nilable(String)).void }
|
602
|
+
def initialize(name, type, default = nil); end
|
603
|
+
|
604
|
+
sig { returns(String) }
|
605
|
+
attr_reader :name
|
606
|
+
|
607
|
+
sig { returns(Type) }
|
608
|
+
attr_reader :type
|
609
|
+
|
610
|
+
sig { returns(T.nilable(String)) }
|
611
|
+
attr_reader :default
|
612
|
+
|
613
|
+
sig { params(other: Object).returns(T::Boolean) }
|
614
|
+
def ==(other); end
|
615
|
+
end
|
616
|
+
|
617
|
+
sig { params(parameters: T::Array[Parameter], return_type: T.nilable(TypeLike)).void }
|
618
|
+
def initialize(parameters, return_type); end
|
619
|
+
|
620
|
+
sig { params(other: Object).returns(T::Boolean) }
|
621
|
+
def ==(other); end
|
622
|
+
|
623
|
+
sig { returns(T::Array[Parameter]) }
|
624
|
+
attr_reader :parameters
|
625
|
+
|
626
|
+
sig { returns(T.nilable(Type)) }
|
627
|
+
attr_reader :return_type
|
628
|
+
|
629
|
+
sig { override.returns(String) }
|
630
|
+
def generate_rbi; end
|
631
|
+
|
632
|
+
sig { override.returns(String) }
|
633
|
+
def generate_rbs; end
|
634
|
+
|
635
|
+
sig { override.returns(String) }
|
636
|
+
def describe; end
|
637
|
+
end
|
638
|
+
end
|
639
|
+
|
640
|
+
module Conversion
|
641
|
+
class Converter
|
642
|
+
abstract!
|
643
|
+
|
644
|
+
extend T::Sig
|
645
|
+
extend T::Helpers
|
646
|
+
|
647
|
+
sig { returns(T.untyped) }
|
648
|
+
def initialize; end
|
649
|
+
|
650
|
+
sig { returns(T::Array[[String, TypedObject]]) }
|
651
|
+
attr_reader :warnings
|
652
|
+
|
653
|
+
sig { params(msg: String, node: RbiGenerator::RbiObject).void }
|
654
|
+
def add_warning(msg, node); end
|
655
|
+
end
|
656
|
+
|
657
|
+
class RbiToRbs < Converter
|
658
|
+
extend T::Sig
|
659
|
+
|
660
|
+
sig { params(rbs_gen: RbsGenerator).void }
|
661
|
+
def initialize(rbs_gen); end
|
662
|
+
|
663
|
+
sig { returns(RbsGenerator) }
|
664
|
+
attr_reader :rbs_gen
|
665
|
+
|
666
|
+
sig { params(from: RbiGenerator::Namespace, to: RbsGenerator::Namespace).void }
|
667
|
+
def convert_all(from, to); end
|
668
|
+
|
669
|
+
sig { params(node: RbiGenerator::RbiObject, new_parent: RbsGenerator::Namespace).void }
|
670
|
+
def convert_object(node, new_parent); end
|
671
|
+
end
|
672
|
+
end
|
673
|
+
|
674
|
+
class RbiGenerator < Generator
|
675
|
+
Options = Parlour::Options
|
676
|
+
|
677
|
+
sig { params(hash: T.untyped).returns(T.untyped) }
|
678
|
+
def initialize(**hash); end
|
679
|
+
|
680
|
+
sig { returns(RbiGenerator::Namespace) }
|
681
|
+
attr_reader :root
|
682
|
+
|
683
|
+
sig { overridable.params(strictness: String).returns(String) }
|
684
|
+
def rbi(strictness = 'strong'); end
|
685
|
+
|
686
|
+
class Arbitrary < RbiObject
|
687
|
+
sig { params(generator: Generator, code: String, block: T.nilable(T.proc.params(x: Arbitrary).void)).void }
|
688
|
+
def initialize(generator, code: '', &block); end
|
689
|
+
|
690
|
+
sig { returns(String) }
|
691
|
+
attr_accessor :code
|
692
|
+
|
693
|
+
sig { params(other: Object).returns(T::Boolean) }
|
694
|
+
def ==(other); end
|
695
|
+
|
696
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
697
|
+
def generate_rbi(indent_level, options); end
|
698
|
+
|
699
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
700
|
+
def mergeable?(others); end
|
701
|
+
|
702
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
703
|
+
def merge_into_self(others); end
|
704
|
+
|
705
|
+
sig { override.returns(String) }
|
706
|
+
def describe; end
|
707
|
+
|
708
|
+
sig { override.void }
|
709
|
+
def generalize_from_rbi!; end
|
710
|
+
end
|
711
|
+
|
712
|
+
class Attribute < Method
|
713
|
+
sig do
|
714
|
+
params(
|
715
|
+
generator: Generator,
|
716
|
+
name: String,
|
717
|
+
kind: Symbol,
|
718
|
+
type: Types::TypeLike,
|
719
|
+
class_attribute: T::Boolean,
|
720
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
721
|
+
).void
|
722
|
+
end
|
723
|
+
def initialize(generator, name, kind, type, class_attribute: false, &block); end
|
724
|
+
|
725
|
+
sig { returns(Symbol) }
|
726
|
+
attr_reader :kind
|
727
|
+
|
728
|
+
sig { returns(T::Boolean) }
|
729
|
+
attr_reader :class_attribute
|
730
|
+
|
731
|
+
sig { returns(Types::TypeLike) }
|
732
|
+
attr_reader :type
|
733
|
+
|
734
|
+
sig { override.params(other: Object).returns(T::Boolean) }
|
735
|
+
def ==(other); end
|
736
|
+
|
737
|
+
sig { override.void }
|
738
|
+
def generalize_from_rbi!; end
|
739
|
+
|
740
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
741
|
+
def generate_definition(indent_level, options); end
|
742
|
+
end
|
743
|
+
|
744
|
+
class ClassNamespace < Namespace
|
745
|
+
extend T::Sig
|
746
|
+
|
747
|
+
sig do
|
748
|
+
params(
|
749
|
+
generator: Generator,
|
750
|
+
name: String,
|
751
|
+
final: T::Boolean,
|
752
|
+
superclass: T.nilable(String),
|
753
|
+
abstract: T::Boolean,
|
754
|
+
block: T.nilable(T.proc.params(x: ClassNamespace).void)
|
755
|
+
).void
|
756
|
+
end
|
757
|
+
def initialize(generator, name, final, superclass, abstract, &block); end
|
758
|
+
|
759
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
760
|
+
def generate_rbi(indent_level, options); end
|
761
|
+
|
762
|
+
sig { returns(T.nilable(String)) }
|
763
|
+
attr_reader :superclass
|
764
|
+
|
765
|
+
sig { returns(T::Boolean) }
|
766
|
+
attr_reader :abstract
|
767
|
+
|
768
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
769
|
+
def mergeable?(others); end
|
770
|
+
|
771
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
772
|
+
def merge_into_self(others); end
|
773
|
+
|
774
|
+
sig { override.returns(String) }
|
775
|
+
def describe; end
|
776
|
+
|
777
|
+
sig { override.void }
|
778
|
+
def generalize_from_rbi!; end
|
779
|
+
end
|
780
|
+
|
781
|
+
class Constant < RbiObject
|
782
|
+
sig do
|
783
|
+
params(
|
784
|
+
generator: Generator,
|
785
|
+
name: String,
|
786
|
+
value: Types::TypeLike,
|
787
|
+
eigen_constant: T::Boolean,
|
788
|
+
block: T.nilable(T.proc.params(x: Constant).void)
|
789
|
+
).void
|
790
|
+
end
|
791
|
+
def initialize(generator, name: '', value: '', eigen_constant: false, &block); end
|
792
|
+
|
793
|
+
sig { returns(Types::TypeLike) }
|
794
|
+
attr_reader :value
|
795
|
+
|
796
|
+
sig { returns(T.untyped) }
|
797
|
+
attr_reader :eigen_constant
|
798
|
+
|
799
|
+
sig { params(other: Object).returns(T::Boolean) }
|
800
|
+
def ==(other); end
|
801
|
+
|
802
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
803
|
+
def generate_rbi(indent_level, options); end
|
804
|
+
|
805
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
806
|
+
def mergeable?(others); end
|
807
|
+
|
808
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
809
|
+
def merge_into_self(others); end
|
810
|
+
|
811
|
+
sig { override.returns(String) }
|
812
|
+
def describe; end
|
813
|
+
|
814
|
+
sig { override.void }
|
815
|
+
def generalize_from_rbi!; end
|
816
|
+
end
|
817
|
+
|
818
|
+
class EnumClassNamespace < ClassNamespace
|
819
|
+
extend T::Sig
|
820
|
+
|
821
|
+
sig do
|
822
|
+
params(
|
823
|
+
generator: Generator,
|
824
|
+
name: String,
|
825
|
+
final: T::Boolean,
|
826
|
+
enums: T::Array[T.any([String, String], String)],
|
827
|
+
abstract: T::Boolean,
|
828
|
+
block: T.nilable(T.proc.params(x: EnumClassNamespace).void)
|
829
|
+
).void
|
830
|
+
end
|
831
|
+
def initialize(generator, name, final, enums, abstract, &block); end
|
832
|
+
|
833
|
+
sig { returns(T::Array[T.any([String, String], String)]) }
|
834
|
+
attr_reader :enums
|
835
|
+
|
836
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
837
|
+
def generate_body(indent_level, options); end
|
838
|
+
|
839
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
840
|
+
def mergeable?(others); end
|
841
|
+
|
842
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
843
|
+
def merge_into_self(others); end
|
844
|
+
|
845
|
+
sig { override.void }
|
846
|
+
def generalize_from_rbi!; end
|
847
|
+
end
|
848
|
+
|
849
|
+
class Extend < RbiObject
|
850
|
+
sig { params(generator: Generator, name: String, block: T.nilable(T.proc.params(x: Extend).void)).void }
|
851
|
+
def initialize(generator, name: '', &block); end
|
852
|
+
|
853
|
+
sig { params(other: Object).returns(T::Boolean) }
|
854
|
+
def ==(other); end
|
855
|
+
|
856
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
857
|
+
def generate_rbi(indent_level, options); end
|
858
|
+
|
859
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
860
|
+
def mergeable?(others); end
|
861
|
+
|
862
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
863
|
+
def merge_into_self(others); end
|
864
|
+
|
865
|
+
sig { override.returns(String) }
|
866
|
+
def describe; end
|
867
|
+
|
868
|
+
sig { override.void }
|
869
|
+
def generalize_from_rbi!; end
|
870
|
+
end
|
871
|
+
|
872
|
+
class Include < RbiObject
|
873
|
+
sig { params(generator: Generator, name: String, block: T.nilable(T.proc.params(x: Include).void)).void }
|
874
|
+
def initialize(generator, name: '', &block); end
|
875
|
+
|
876
|
+
sig { params(other: Object).returns(T::Boolean) }
|
877
|
+
def ==(other); end
|
878
|
+
|
879
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
880
|
+
def generate_rbi(indent_level, options); end
|
881
|
+
|
882
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
883
|
+
def mergeable?(others); end
|
884
|
+
|
885
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
886
|
+
def merge_into_self(others); end
|
887
|
+
|
888
|
+
sig { override.returns(String) }
|
889
|
+
def describe; end
|
890
|
+
|
891
|
+
sig { override.void }
|
892
|
+
def generalize_from_rbi!; end
|
893
|
+
end
|
894
|
+
|
895
|
+
class Method < RbiObject
|
896
|
+
extend T::Sig
|
897
|
+
|
898
|
+
sig do
|
899
|
+
params(
|
900
|
+
generator: Generator,
|
901
|
+
name: String,
|
902
|
+
parameters: T::Array[Parameter],
|
903
|
+
return_type: T.nilable(Types::TypeLike),
|
904
|
+
abstract: T::Boolean,
|
905
|
+
implementation: T::Boolean,
|
906
|
+
override: T::Boolean,
|
907
|
+
overridable: T::Boolean,
|
908
|
+
class_method: T::Boolean,
|
909
|
+
final: T::Boolean,
|
910
|
+
type_parameters: T.nilable(T::Array[Symbol]),
|
911
|
+
block: T.nilable(T.proc.params(x: Method).void)
|
912
|
+
).void
|
913
|
+
end
|
914
|
+
def initialize(generator, name, parameters, return_type = nil, abstract: false, implementation: false, override: false, overridable: false, class_method: false, final: false, type_parameters: nil, &block); end
|
915
|
+
|
916
|
+
sig { overridable.params(other: Object).returns(T::Boolean) }
|
917
|
+
def ==(other); end
|
918
|
+
|
919
|
+
sig { returns(T::Array[Parameter]) }
|
920
|
+
attr_reader :parameters
|
921
|
+
|
922
|
+
sig { returns(T.nilable(Types::TypeLike)) }
|
923
|
+
attr_reader :return_type
|
924
|
+
|
925
|
+
sig { returns(T::Boolean) }
|
926
|
+
attr_reader :abstract
|
927
|
+
|
928
|
+
sig { returns(T::Boolean) }
|
929
|
+
attr_reader :implementation
|
930
|
+
|
931
|
+
sig { returns(T::Boolean) }
|
932
|
+
attr_reader :override
|
933
|
+
|
934
|
+
sig { returns(T::Boolean) }
|
935
|
+
attr_reader :overridable
|
936
|
+
|
937
|
+
sig { returns(T::Boolean) }
|
938
|
+
attr_reader :class_method
|
939
|
+
|
940
|
+
sig { returns(T::Boolean) }
|
941
|
+
attr_reader :final
|
942
|
+
|
943
|
+
sig { returns(T::Array[Symbol]) }
|
944
|
+
attr_reader :type_parameters
|
945
|
+
|
946
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
947
|
+
def generate_rbi(indent_level, options); end
|
948
|
+
|
949
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
950
|
+
def mergeable?(others); end
|
951
|
+
|
952
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
953
|
+
def merge_into_self(others); end
|
954
|
+
|
955
|
+
sig { override.returns(String) }
|
956
|
+
def describe; end
|
957
|
+
|
958
|
+
sig { override.void }
|
959
|
+
def generalize_from_rbi!; end
|
960
|
+
|
961
|
+
sig { overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
962
|
+
def generate_definition(indent_level, options); end
|
963
|
+
|
964
|
+
sig { returns(String) }
|
965
|
+
def qualifiers; end
|
966
|
+
end
|
967
|
+
|
968
|
+
class ModuleNamespace < Namespace
|
969
|
+
extend T::Sig
|
970
|
+
|
971
|
+
sig do
|
972
|
+
params(
|
973
|
+
generator: Generator,
|
974
|
+
name: String,
|
975
|
+
final: T::Boolean,
|
976
|
+
interface: T::Boolean,
|
977
|
+
block: T.nilable(T.proc.params(x: ClassNamespace).void)
|
978
|
+
).void
|
979
|
+
end
|
980
|
+
def initialize(generator, name, final, interface, &block); end
|
981
|
+
|
982
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
983
|
+
def generate_rbi(indent_level, options); end
|
984
|
+
|
985
|
+
sig { returns(T::Boolean) }
|
986
|
+
attr_reader :interface
|
987
|
+
|
988
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
989
|
+
def mergeable?(others); end
|
990
|
+
|
991
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
992
|
+
def merge_into_self(others); end
|
993
|
+
|
994
|
+
sig { override.returns(String) }
|
995
|
+
def describe; end
|
996
|
+
|
997
|
+
sig { override.void }
|
998
|
+
def generalize_from_rbi!; end
|
999
|
+
end
|
1000
|
+
|
1001
|
+
class Namespace < RbiObject
|
1002
|
+
extend T::Sig
|
1003
|
+
|
1004
|
+
sig { override.overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1005
|
+
def generate_rbi(indent_level, options); end
|
1006
|
+
|
1007
|
+
sig do
|
1008
|
+
params(
|
1009
|
+
generator: Generator,
|
1010
|
+
name: T.nilable(String),
|
1011
|
+
final: T::Boolean,
|
1012
|
+
block: T.nilable(T.proc.params(x: Namespace).void)
|
1013
|
+
).void
|
1014
|
+
end
|
1015
|
+
def initialize(generator, name = nil, final = false, &block); end
|
1016
|
+
|
1017
|
+
sig { returns(T::Boolean) }
|
1018
|
+
attr_reader :final
|
1019
|
+
|
1020
|
+
sig { returns(T::Array[RbiObject]) }
|
1021
|
+
attr_reader :children
|
1022
|
+
|
1023
|
+
sig { returns(T::Array[RbiGenerator::Extend]) }
|
1024
|
+
def extends; end
|
1025
|
+
|
1026
|
+
sig { returns(T::Array[RbiGenerator::Include]) }
|
1027
|
+
def includes; end
|
1028
|
+
|
1029
|
+
sig { returns(T::Array[RbiGenerator::TypeAlias]) }
|
1030
|
+
def aliases; end
|
1031
|
+
|
1032
|
+
sig { returns(T::Array[RbiGenerator::Constant]) }
|
1033
|
+
def constants; end
|
1034
|
+
|
1035
|
+
sig { params(object: T.untyped, block: T.proc.params(x: Namespace).void).void }
|
1036
|
+
def path(object, &block); end
|
1037
|
+
|
1038
|
+
sig { params(comment: T.any(String, T::Array[String])).void }
|
1039
|
+
def add_comment_to_next_child(comment); end
|
1040
|
+
|
1041
|
+
sig do
|
1042
|
+
params(
|
1043
|
+
name: String,
|
1044
|
+
final: T::Boolean,
|
1045
|
+
superclass: T.nilable(String),
|
1046
|
+
abstract: T::Boolean,
|
1047
|
+
block: T.nilable(T.proc.params(x: ClassNamespace).void)
|
1048
|
+
).returns(ClassNamespace)
|
1049
|
+
end
|
1050
|
+
def create_class(name, final: false, superclass: nil, abstract: false, &block); end
|
1051
|
+
|
1052
|
+
sig do
|
1053
|
+
params(
|
1054
|
+
name: String,
|
1055
|
+
final: T::Boolean,
|
1056
|
+
enums: T.nilable(T::Array[T.any([String, String], String)]),
|
1057
|
+
abstract: T::Boolean,
|
1058
|
+
block: T.nilable(T.proc.params(x: EnumClassNamespace).void)
|
1059
|
+
).returns(EnumClassNamespace)
|
1060
|
+
end
|
1061
|
+
def create_enum_class(name, final: false, enums: nil, abstract: false, &block); end
|
1062
|
+
|
1063
|
+
sig do
|
1064
|
+
params(
|
1065
|
+
name: String,
|
1066
|
+
final: T::Boolean,
|
1067
|
+
props: T.nilable(T::Array[StructProp]),
|
1068
|
+
abstract: T::Boolean,
|
1069
|
+
block: T.nilable(T.proc.params(x: StructClassNamespace).void)
|
1070
|
+
).returns(StructClassNamespace)
|
1071
|
+
end
|
1072
|
+
def create_struct_class(name, final: false, props: nil, abstract: false, &block); end
|
1073
|
+
|
1074
|
+
sig do
|
1075
|
+
params(
|
1076
|
+
name: String,
|
1077
|
+
final: T::Boolean,
|
1078
|
+
interface: T::Boolean,
|
1079
|
+
block: T.nilable(T.proc.params(x: ClassNamespace).void)
|
1080
|
+
).returns(ModuleNamespace)
|
1081
|
+
end
|
1082
|
+
def create_module(name, final: false, interface: false, &block); end
|
1083
|
+
|
1084
|
+
sig do
|
1085
|
+
params(
|
1086
|
+
name: String,
|
1087
|
+
parameters: T.nilable(T::Array[Parameter]),
|
1088
|
+
return_type: T.nilable(Types::TypeLike),
|
1089
|
+
returns: T.nilable(Types::TypeLike),
|
1090
|
+
abstract: T::Boolean,
|
1091
|
+
implementation: T::Boolean,
|
1092
|
+
override: T::Boolean,
|
1093
|
+
overridable: T::Boolean,
|
1094
|
+
class_method: T::Boolean,
|
1095
|
+
final: T::Boolean,
|
1096
|
+
type_parameters: T.nilable(T::Array[Symbol]),
|
1097
|
+
block: T.nilable(T.proc.params(x: Method).void)
|
1098
|
+
).returns(Method)
|
1099
|
+
end
|
1100
|
+
def create_method(name, parameters: nil, return_type: nil, returns: nil, abstract: false, implementation: false, override: false, overridable: false, class_method: false, final: false, type_parameters: nil, &block); end
|
1101
|
+
|
1102
|
+
sig do
|
1103
|
+
params(
|
1104
|
+
name: String,
|
1105
|
+
kind: Symbol,
|
1106
|
+
type: Types::TypeLike,
|
1107
|
+
class_attribute: T::Boolean,
|
1108
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
1109
|
+
).returns(Attribute)
|
1110
|
+
end
|
1111
|
+
def create_attribute(name, kind:, type:, class_attribute: false, &block); end
|
1112
|
+
|
1113
|
+
sig do
|
1114
|
+
params(
|
1115
|
+
name: String,
|
1116
|
+
type: Types::TypeLike,
|
1117
|
+
class_attribute: T::Boolean,
|
1118
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
1119
|
+
).returns(Attribute)
|
1120
|
+
end
|
1121
|
+
def create_attr_reader(name, type:, class_attribute: false, &block); end
|
1122
|
+
|
1123
|
+
sig do
|
1124
|
+
params(
|
1125
|
+
name: String,
|
1126
|
+
type: Types::TypeLike,
|
1127
|
+
class_attribute: T::Boolean,
|
1128
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
1129
|
+
).returns(Attribute)
|
1130
|
+
end
|
1131
|
+
def create_attr_writer(name, type:, class_attribute: false, &block); end
|
1132
|
+
|
1133
|
+
sig do
|
1134
|
+
params(
|
1135
|
+
name: String,
|
1136
|
+
type: Types::TypeLike,
|
1137
|
+
class_attribute: T::Boolean,
|
1138
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
1139
|
+
).returns(Attribute)
|
1140
|
+
end
|
1141
|
+
def create_attr_accessor(name, type:, class_attribute: false, &block); end
|
1142
|
+
|
1143
|
+
sig { params(code: T.untyped, block: T.untyped).returns(T.untyped) }
|
1144
|
+
def create_arbitrary(code:, &block); end
|
1145
|
+
|
1146
|
+
sig { params(name: String, block: T.nilable(T.proc.params(x: Extend).void)).returns(RbiGenerator::Extend) }
|
1147
|
+
def create_extend(name, &block); end
|
1148
|
+
|
1149
|
+
sig { params(extendables: T::Array[String]).returns(T::Array[Extend]) }
|
1150
|
+
def create_extends(extendables); end
|
1151
|
+
|
1152
|
+
sig { params(name: String, block: T.nilable(T.proc.params(x: Include).void)).returns(Include) }
|
1153
|
+
def create_include(name, &block); end
|
1154
|
+
|
1155
|
+
sig { params(includables: T::Array[String]).returns(T::Array[Include]) }
|
1156
|
+
def create_includes(includables); end
|
1157
|
+
|
1158
|
+
sig do
|
1159
|
+
params(
|
1160
|
+
name: String,
|
1161
|
+
value: String,
|
1162
|
+
eigen_constant: T::Boolean,
|
1163
|
+
block: T.nilable(T.proc.params(x: Constant).void)
|
1164
|
+
).returns(Constant)
|
1165
|
+
end
|
1166
|
+
def create_constant(name, value:, eigen_constant: false, &block); end
|
1167
|
+
|
1168
|
+
sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: TypeAlias).void)).returns(TypeAlias) }
|
1169
|
+
def create_type_alias(name, type:, &block); end
|
1170
|
+
|
1171
|
+
sig { override.overridable.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
1172
|
+
def mergeable?(others); end
|
1173
|
+
|
1174
|
+
sig { override.overridable.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
1175
|
+
def merge_into_self(others); end
|
1176
|
+
|
1177
|
+
sig { override.overridable.returns(String) }
|
1178
|
+
def describe; end
|
1179
|
+
|
1180
|
+
sig { override.void }
|
1181
|
+
def generalize_from_rbi!; end
|
1182
|
+
|
1183
|
+
sig { overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1184
|
+
def generate_body(indent_level, options); end
|
1185
|
+
|
1186
|
+
sig { params(object: RbiObject).void }
|
1187
|
+
def move_next_comments(object); end
|
1188
|
+
end
|
1189
|
+
|
1190
|
+
class Parameter
|
1191
|
+
extend T::Sig
|
1192
|
+
PREFIXES = {
|
1193
|
+
normal: '',
|
1194
|
+
splat: '*',
|
1195
|
+
double_splat: '**',
|
1196
|
+
block: '&'
|
1197
|
+
}.freeze
|
1198
|
+
|
1199
|
+
sig { params(name: String, type: T.nilable(Types::TypeLike), default: T.nilable(String)).void }
|
1200
|
+
def initialize(name, type: nil, default: nil); end
|
1201
|
+
|
1202
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1203
|
+
def ==(other); end
|
1204
|
+
|
1205
|
+
sig { returns(String) }
|
1206
|
+
attr_reader :name
|
1207
|
+
|
1208
|
+
sig { returns(String) }
|
1209
|
+
def name_without_kind; end
|
1210
|
+
|
1211
|
+
sig { returns(Types::TypeLike) }
|
1212
|
+
attr_reader :type
|
1213
|
+
|
1214
|
+
sig { returns(T.nilable(String)) }
|
1215
|
+
attr_reader :default
|
1216
|
+
|
1217
|
+
sig { returns(Symbol) }
|
1218
|
+
attr_reader :kind
|
1219
|
+
|
1220
|
+
sig { returns(String) }
|
1221
|
+
def to_def_param; end
|
1222
|
+
|
1223
|
+
sig { returns(String) }
|
1224
|
+
def to_sig_param; end
|
1225
|
+
|
1226
|
+
sig { void }
|
1227
|
+
def generalize_from_rbi!; end
|
1228
|
+
end
|
1229
|
+
|
1230
|
+
class RbiObject < TypedObject
|
1231
|
+
abstract!
|
1232
|
+
|
1233
|
+
sig { params(generator: Generator, name: String).void }
|
1234
|
+
def initialize(generator, name); end
|
1235
|
+
|
1236
|
+
sig { returns(Generator) }
|
1237
|
+
attr_reader :generator
|
1238
|
+
|
1239
|
+
sig { abstract.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1240
|
+
def generate_rbi(indent_level, options); end
|
1241
|
+
|
1242
|
+
sig { abstract.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
1243
|
+
def mergeable?(others); end
|
1244
|
+
|
1245
|
+
sig { abstract.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
1246
|
+
def merge_into_self(others); end
|
1247
|
+
|
1248
|
+
sig { override.overridable.returns(String) }
|
1249
|
+
def describe; end
|
1250
|
+
|
1251
|
+
sig { abstract.void }
|
1252
|
+
def generalize_from_rbi!; end
|
1253
|
+
end
|
1254
|
+
|
1255
|
+
class StructClassNamespace < ClassNamespace
|
1256
|
+
extend T::Sig
|
1257
|
+
|
1258
|
+
sig do
|
1259
|
+
params(
|
1260
|
+
generator: Generator,
|
1261
|
+
name: String,
|
1262
|
+
final: T::Boolean,
|
1263
|
+
props: T::Array[StructProp],
|
1264
|
+
abstract: T::Boolean,
|
1265
|
+
block: T.nilable(T.proc.params(x: StructClassNamespace).void)
|
1266
|
+
).void
|
1267
|
+
end
|
1268
|
+
def initialize(generator, name, final, props, abstract, &block); end
|
1269
|
+
|
1270
|
+
sig { returns(T::Array[StructProp]) }
|
1271
|
+
attr_reader :props
|
1272
|
+
|
1273
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1274
|
+
def generate_body(indent_level, options); end
|
1275
|
+
|
1276
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
1277
|
+
def mergeable?(others); end
|
1278
|
+
|
1279
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
1280
|
+
def merge_into_self(others); end
|
1281
|
+
|
1282
|
+
sig { override.void }
|
1283
|
+
def generalize_from_rbi!; end
|
1284
|
+
end
|
1285
|
+
|
1286
|
+
class StructProp
|
1287
|
+
extend T::Sig
|
1288
|
+
EXTRA_PROPERTIES = %i{
|
1289
|
+
optional enum dont_store foreign default factory immutable array override redaction
|
1290
|
+
}
|
1291
|
+
|
1292
|
+
sig do
|
1293
|
+
params(
|
1294
|
+
name: String,
|
1295
|
+
type: Types::TypeLike,
|
1296
|
+
optional: T.nilable(T.any(T::Boolean, Symbol)),
|
1297
|
+
enum: T.nilable(String),
|
1298
|
+
dont_store: T.nilable(T::Boolean),
|
1299
|
+
foreign: T.nilable(String),
|
1300
|
+
default: T.nilable(String),
|
1301
|
+
factory: T.nilable(String),
|
1302
|
+
immutable: T.nilable(T::Boolean),
|
1303
|
+
array: T.nilable(String),
|
1304
|
+
override: T.nilable(T::Boolean),
|
1305
|
+
redaction: T.nilable(String)
|
1306
|
+
).void
|
1307
|
+
end
|
1308
|
+
def initialize(name, type, optional: nil, enum: nil, dont_store: nil, foreign: nil, default: nil, factory: nil, immutable: nil, array: nil, override: nil, redaction: nil); end
|
1309
|
+
|
1310
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1311
|
+
def ==(other); end
|
1312
|
+
|
1313
|
+
sig { returns(String) }
|
1314
|
+
attr_reader :name
|
1315
|
+
|
1316
|
+
sig { returns(Types::TypeLike) }
|
1317
|
+
attr_reader :type
|
1318
|
+
|
1319
|
+
sig { returns(T.nilable(T.any(T::Boolean, Symbol))) }
|
1320
|
+
attr_reader :optional
|
1321
|
+
|
1322
|
+
sig { returns(T.nilable(String)) }
|
1323
|
+
attr_reader :enum
|
1324
|
+
|
1325
|
+
sig { returns(T.nilable(T::Boolean)) }
|
1326
|
+
attr_reader :dont_store
|
1327
|
+
|
1328
|
+
sig { returns(T.nilable(String)) }
|
1329
|
+
attr_reader :foreign
|
1330
|
+
|
1331
|
+
sig { returns(T.nilable(String)) }
|
1332
|
+
attr_reader :default
|
1333
|
+
|
1334
|
+
sig { returns(T.nilable(String)) }
|
1335
|
+
attr_reader :factory
|
1336
|
+
|
1337
|
+
sig { returns(T.nilable(T::Boolean)) }
|
1338
|
+
attr_reader :immutable
|
1339
|
+
|
1340
|
+
sig { returns(T.nilable(String)) }
|
1341
|
+
attr_reader :array
|
1342
|
+
|
1343
|
+
sig { returns(T.nilable(T::Boolean)) }
|
1344
|
+
attr_reader :override
|
1345
|
+
|
1346
|
+
sig { returns(T.nilable(String)) }
|
1347
|
+
attr_reader :redaction
|
1348
|
+
|
1349
|
+
sig { returns(String) }
|
1350
|
+
def to_prop_call; end
|
1351
|
+
|
1352
|
+
sig { void }
|
1353
|
+
def generalize_from_rbi!; end
|
1354
|
+
end
|
1355
|
+
|
1356
|
+
class TypeAlias < RbiObject
|
1357
|
+
sig do
|
1358
|
+
params(
|
1359
|
+
generator: Generator,
|
1360
|
+
name: String,
|
1361
|
+
type: Types::TypeLike,
|
1362
|
+
block: T.nilable(T.proc.params(x: TypeAlias).void)
|
1363
|
+
).void
|
1364
|
+
end
|
1365
|
+
def initialize(generator, name:, type:, &block); end
|
1366
|
+
|
1367
|
+
sig { returns(Types::TypeLike) }
|
1368
|
+
attr_reader :type
|
1369
|
+
|
1370
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1371
|
+
def ==(other); end
|
1372
|
+
|
1373
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1374
|
+
def generate_rbi(indent_level, options); end
|
1375
|
+
|
1376
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
|
1377
|
+
def mergeable?(others); end
|
1378
|
+
|
1379
|
+
sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
|
1380
|
+
def merge_into_self(others); end
|
1381
|
+
|
1382
|
+
sig { override.returns(String) }
|
1383
|
+
def describe; end
|
1384
|
+
|
1385
|
+
sig { override.void }
|
1386
|
+
def generalize_from_rbi!; end
|
1387
|
+
end
|
1388
|
+
end
|
1389
|
+
|
1390
|
+
class RbsGenerator < Generator
|
1391
|
+
sig { params(hash: T.untyped).returns(T.untyped) }
|
1392
|
+
def initialize(**hash); end
|
1393
|
+
|
1394
|
+
sig { returns(RbsGenerator::Namespace) }
|
1395
|
+
attr_reader :root
|
1396
|
+
|
1397
|
+
sig { overridable.returns(String) }
|
1398
|
+
def rbs; end
|
1399
|
+
|
1400
|
+
class Arbitrary < RbsObject
|
1401
|
+
sig { params(generator: Generator, code: String, block: T.nilable(T.proc.params(x: Arbitrary).void)).void }
|
1402
|
+
def initialize(generator, code: '', &block); end
|
1403
|
+
|
1404
|
+
sig { returns(String) }
|
1405
|
+
attr_accessor :code
|
1406
|
+
|
1407
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1408
|
+
def ==(other); end
|
1409
|
+
|
1410
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1411
|
+
def generate_rbs(indent_level, options); end
|
1412
|
+
|
1413
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1414
|
+
def mergeable?(others); end
|
1415
|
+
|
1416
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1417
|
+
def merge_into_self(others); end
|
1418
|
+
|
1419
|
+
sig { override.returns(String) }
|
1420
|
+
def describe; end
|
1421
|
+
end
|
1422
|
+
|
1423
|
+
class Attribute < RbsGenerator::Method
|
1424
|
+
extend T::Sig
|
1425
|
+
|
1426
|
+
sig do
|
1427
|
+
params(
|
1428
|
+
generator: Generator,
|
1429
|
+
name: String,
|
1430
|
+
kind: Symbol,
|
1431
|
+
type: Types::TypeLike,
|
1432
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
1433
|
+
).void
|
1434
|
+
end
|
1435
|
+
def initialize(generator, name, kind, type, &block); end
|
1436
|
+
|
1437
|
+
sig { returns(Symbol) }
|
1438
|
+
attr_reader :kind
|
1439
|
+
|
1440
|
+
sig { returns(Types::TypeLike) }
|
1441
|
+
attr_reader :type
|
1442
|
+
|
1443
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1444
|
+
def generate_rbs(indent_level, options); end
|
1445
|
+
|
1446
|
+
sig { override.params(other: Object).returns(T::Boolean) }
|
1447
|
+
def ==(other); end
|
1448
|
+
end
|
1449
|
+
|
1450
|
+
class Block
|
1451
|
+
extend T::Sig
|
1452
|
+
|
1453
|
+
sig { params(type: Types::Proc, required: T::Boolean).void }
|
1454
|
+
def initialize(type, required); end
|
1455
|
+
|
1456
|
+
sig { overridable.params(other: Object).returns(T::Boolean) }
|
1457
|
+
def ==(other); end
|
1458
|
+
|
1459
|
+
sig { returns(Types::Proc) }
|
1460
|
+
attr_reader :type
|
1461
|
+
|
1462
|
+
sig { returns(T::Boolean) }
|
1463
|
+
attr_reader :required
|
1464
|
+
|
1465
|
+
sig { params(options: Options).returns(T::Array[String]) }
|
1466
|
+
def generate_rbs(options); end
|
1467
|
+
end
|
1468
|
+
|
1469
|
+
class ClassNamespace < Namespace
|
1470
|
+
extend T::Sig
|
1471
|
+
|
1472
|
+
sig do
|
1473
|
+
params(
|
1474
|
+
generator: Generator,
|
1475
|
+
name: String,
|
1476
|
+
superclass: T.nilable(Types::TypeLike),
|
1477
|
+
block: T.nilable(T.proc.params(x: ClassNamespace).void)
|
1478
|
+
).void
|
1479
|
+
end
|
1480
|
+
def initialize(generator, name, superclass, &block); end
|
1481
|
+
|
1482
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1483
|
+
def generate_rbs(indent_level, options); end
|
1484
|
+
|
1485
|
+
sig { returns(T.nilable(Types::TypeLike)) }
|
1486
|
+
attr_reader :superclass
|
1487
|
+
|
1488
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1489
|
+
def mergeable?(others); end
|
1490
|
+
|
1491
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1492
|
+
def merge_into_self(others); end
|
1493
|
+
|
1494
|
+
sig { override.returns(String) }
|
1495
|
+
def describe; end
|
1496
|
+
end
|
1497
|
+
|
1498
|
+
class Constant < RbsObject
|
1499
|
+
sig do
|
1500
|
+
params(
|
1501
|
+
generator: Generator,
|
1502
|
+
name: String,
|
1503
|
+
type: Types::TypeLike,
|
1504
|
+
block: T.nilable(T.proc.params(x: Constant).void)
|
1505
|
+
).void
|
1506
|
+
end
|
1507
|
+
def initialize(generator, name, type:, &block); end
|
1508
|
+
|
1509
|
+
sig { returns(Types::TypeLike) }
|
1510
|
+
attr_reader :type
|
1511
|
+
|
1512
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1513
|
+
def ==(other); end
|
1514
|
+
|
1515
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1516
|
+
def generate_rbs(indent_level, options); end
|
1517
|
+
|
1518
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1519
|
+
def mergeable?(others); end
|
1520
|
+
|
1521
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1522
|
+
def merge_into_self(others); end
|
1523
|
+
|
1524
|
+
sig { override.returns(String) }
|
1525
|
+
def describe; end
|
1526
|
+
end
|
1527
|
+
|
1528
|
+
class Extend < RbsObject
|
1529
|
+
sig { params(generator: Generator, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Extend).void)).void }
|
1530
|
+
def initialize(generator, type:, &block); end
|
1531
|
+
|
1532
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1533
|
+
def ==(other); end
|
1534
|
+
|
1535
|
+
sig { returns(Types::TypeLike) }
|
1536
|
+
attr_reader :type
|
1537
|
+
|
1538
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1539
|
+
def generate_rbs(indent_level, options); end
|
1540
|
+
|
1541
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1542
|
+
def mergeable?(others); end
|
1543
|
+
|
1544
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1545
|
+
def merge_into_self(others); end
|
1546
|
+
|
1547
|
+
sig { override.returns(String) }
|
1548
|
+
def describe; end
|
1549
|
+
end
|
1550
|
+
|
1551
|
+
class Include < RbsObject
|
1552
|
+
sig { params(generator: Generator, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Include).void)).void }
|
1553
|
+
def initialize(generator, type:, &block); end
|
1554
|
+
|
1555
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1556
|
+
def ==(other); end
|
1557
|
+
|
1558
|
+
sig { returns(Types::TypeLike) }
|
1559
|
+
attr_reader :type
|
1560
|
+
|
1561
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1562
|
+
def generate_rbs(indent_level, options); end
|
1563
|
+
|
1564
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1565
|
+
def mergeable?(others); end
|
1566
|
+
|
1567
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1568
|
+
def merge_into_self(others); end
|
1569
|
+
|
1570
|
+
sig { override.returns(String) }
|
1571
|
+
def describe; end
|
1572
|
+
end
|
1573
|
+
|
1574
|
+
class InterfaceNamespace < Namespace
|
1575
|
+
extend T::Sig
|
1576
|
+
|
1577
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1578
|
+
def generate_rbs(indent_level, options); end
|
1579
|
+
|
1580
|
+
sig { override.returns(String) }
|
1581
|
+
def describe; end
|
1582
|
+
end
|
1583
|
+
|
1584
|
+
class Method < RbsObject
|
1585
|
+
extend T::Sig
|
1586
|
+
|
1587
|
+
sig do
|
1588
|
+
params(
|
1589
|
+
generator: Generator,
|
1590
|
+
name: String,
|
1591
|
+
signatures: T::Array[MethodSignature],
|
1592
|
+
class_method: T::Boolean,
|
1593
|
+
block: T.nilable(T.proc.params(x: Method).void)
|
1594
|
+
).void
|
1595
|
+
end
|
1596
|
+
def initialize(generator, name, signatures, class_method: false, &block); end
|
1597
|
+
|
1598
|
+
sig { overridable.params(other: Object).returns(T::Boolean) }
|
1599
|
+
def ==(other); end
|
1600
|
+
|
1601
|
+
sig { returns(T::Array[MethodSignature]) }
|
1602
|
+
attr_reader :signatures
|
1603
|
+
|
1604
|
+
sig { returns(T::Boolean) }
|
1605
|
+
attr_reader :class_method
|
1606
|
+
|
1607
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1608
|
+
def generate_rbs(indent_level, options); end
|
1609
|
+
|
1610
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1611
|
+
def mergeable?(others); end
|
1612
|
+
|
1613
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1614
|
+
def merge_into_self(others); end
|
1615
|
+
|
1616
|
+
sig { override.returns(String) }
|
1617
|
+
def describe; end
|
1618
|
+
end
|
1619
|
+
|
1620
|
+
class MethodSignature
|
1621
|
+
extend T::Sig
|
1622
|
+
|
1623
|
+
sig do
|
1624
|
+
params(
|
1625
|
+
parameters: T::Array[Parameter],
|
1626
|
+
return_type: T.nilable(Types::TypeLike),
|
1627
|
+
block: T.nilable(Block),
|
1628
|
+
type_parameters: T.nilable(T::Array[Symbol])
|
1629
|
+
).void
|
1630
|
+
end
|
1631
|
+
def initialize(parameters, return_type = nil, block: nil, type_parameters: nil); end
|
1632
|
+
|
1633
|
+
sig { overridable.params(other: Object).returns(T::Boolean) }
|
1634
|
+
def ==(other); end
|
1635
|
+
|
1636
|
+
sig { returns(T::Array[Parameter]) }
|
1637
|
+
attr_reader :parameters
|
1638
|
+
|
1639
|
+
sig { returns(T.nilable(Types::TypeLike)) }
|
1640
|
+
attr_reader :return_type
|
1641
|
+
|
1642
|
+
sig { returns(T.nilable(Block)) }
|
1643
|
+
attr_reader :block
|
1644
|
+
|
1645
|
+
sig { returns(T::Array[Symbol]) }
|
1646
|
+
attr_reader :type_parameters
|
1647
|
+
|
1648
|
+
sig { params(options: Options).returns(T::Array[String]) }
|
1649
|
+
def generate_rbs(options); end
|
1650
|
+
end
|
1651
|
+
|
1652
|
+
class ModuleNamespace < Namespace
|
1653
|
+
extend T::Sig
|
1654
|
+
|
1655
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1656
|
+
def generate_rbs(indent_level, options); end
|
1657
|
+
|
1658
|
+
sig { override.returns(String) }
|
1659
|
+
def describe; end
|
1660
|
+
end
|
1661
|
+
|
1662
|
+
class Namespace < RbsObject
|
1663
|
+
extend T::Sig
|
1664
|
+
|
1665
|
+
sig { override.overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1666
|
+
def generate_rbs(indent_level, options); end
|
1667
|
+
|
1668
|
+
sig { params(generator: Generator, name: T.nilable(String), block: T.nilable(T.proc.params(x: Namespace).void)).void }
|
1669
|
+
def initialize(generator, name = nil, &block); end
|
1670
|
+
|
1671
|
+
sig { returns(T::Array[RbsObject]) }
|
1672
|
+
attr_reader :children
|
1673
|
+
|
1674
|
+
sig { returns(T::Array[RbsGenerator::Extend]) }
|
1675
|
+
def extends; end
|
1676
|
+
|
1677
|
+
sig { returns(T::Array[RbsGenerator::Include]) }
|
1678
|
+
def includes; end
|
1679
|
+
|
1680
|
+
sig { returns(T::Array[RbsGenerator::TypeAlias]) }
|
1681
|
+
def aliases; end
|
1682
|
+
|
1683
|
+
sig { returns(T::Array[RbsGenerator::Constant]) }
|
1684
|
+
def constants; end
|
1685
|
+
|
1686
|
+
sig { params(object: T.untyped, block: T.proc.params(x: Namespace).void).void }
|
1687
|
+
def path(object, &block); end
|
1688
|
+
|
1689
|
+
sig { params(comment: T.any(String, T::Array[String])).void }
|
1690
|
+
def add_comment_to_next_child(comment); end
|
1691
|
+
|
1692
|
+
sig { params(name: String, superclass: T.nilable(Types::TypeLike), block: T.nilable(T.proc.params(x: ClassNamespace).void)).returns(ClassNamespace) }
|
1693
|
+
def create_class(name, superclass: nil, &block); end
|
1694
|
+
|
1695
|
+
sig { params(name: String, block: T.nilable(T.proc.params(x: Namespace).void)).returns(ModuleNamespace) }
|
1696
|
+
def create_module(name, &block); end
|
1697
|
+
|
1698
|
+
sig { params(name: String, block: T.nilable(T.proc.params(x: Namespace).void)).returns(InterfaceNamespace) }
|
1699
|
+
def create_interface(name, &block); end
|
1700
|
+
|
1701
|
+
sig do
|
1702
|
+
params(
|
1703
|
+
name: String,
|
1704
|
+
signatures: T.nilable(T::Array[MethodSignature]),
|
1705
|
+
class_method: T::Boolean,
|
1706
|
+
block: T.nilable(T.proc.params(x: Method).void)
|
1707
|
+
).returns(Method)
|
1708
|
+
end
|
1709
|
+
def create_method(name, signatures = nil, class_method: false, &block); end
|
1710
|
+
|
1711
|
+
sig do
|
1712
|
+
params(
|
1713
|
+
name: String,
|
1714
|
+
kind: Symbol,
|
1715
|
+
type: Types::TypeLike,
|
1716
|
+
block: T.nilable(T.proc.params(x: Attribute).void)
|
1717
|
+
).returns(Attribute)
|
1718
|
+
end
|
1719
|
+
def create_attribute(name, kind:, type:, &block); end
|
1720
|
+
|
1721
|
+
sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Attribute).void)).returns(Attribute) }
|
1722
|
+
def create_attr_reader(name, type:, &block); end
|
1723
|
+
|
1724
|
+
sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Attribute).void)).returns(Attribute) }
|
1725
|
+
def create_attr_writer(name, type:, &block); end
|
1726
|
+
|
1727
|
+
sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Attribute).void)).returns(Attribute) }
|
1728
|
+
def create_attr_accessor(name, type:, &block); end
|
1729
|
+
|
1730
|
+
sig { params(code: T.untyped, block: T.untyped).returns(T.untyped) }
|
1731
|
+
def create_arbitrary(code:, &block); end
|
1732
|
+
|
1733
|
+
sig { params(type: Types::TypeLike, block: T.nilable(T.proc.params(x: Extend).void)).returns(RbsGenerator::Extend) }
|
1734
|
+
def create_extend(type, &block); end
|
1735
|
+
|
1736
|
+
sig { params(extendables: T::Array[Types::TypeLike]).returns(T::Array[Extend]) }
|
1737
|
+
def create_extends(extendables); end
|
1738
|
+
|
1739
|
+
sig { params(type: Types::TypeLike, block: T.nilable(T.proc.params(x: Include).void)).returns(Include) }
|
1740
|
+
def create_include(type, &block); end
|
1741
|
+
|
1742
|
+
sig { params(includables: T::Array[Types::TypeLike]).returns(T::Array[Include]) }
|
1743
|
+
def create_includes(includables); end
|
1744
|
+
|
1745
|
+
sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Constant).void)).returns(Constant) }
|
1746
|
+
def create_constant(name, type:, &block); end
|
1747
|
+
|
1748
|
+
sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: TypeAlias).void)).returns(TypeAlias) }
|
1749
|
+
def create_type_alias(name, type:, &block); end
|
1750
|
+
|
1751
|
+
sig { override.overridable.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1752
|
+
def mergeable?(others); end
|
1753
|
+
|
1754
|
+
sig { override.overridable.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1755
|
+
def merge_into_self(others); end
|
1756
|
+
|
1757
|
+
sig { override.overridable.returns(String) }
|
1758
|
+
def describe; end
|
1759
|
+
|
1760
|
+
sig { overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1761
|
+
def generate_body(indent_level, options); end
|
1762
|
+
|
1763
|
+
sig { params(object: RbsObject).void }
|
1764
|
+
def move_next_comments(object); end
|
1765
|
+
end
|
1766
|
+
|
1767
|
+
class Parameter
|
1768
|
+
extend T::Sig
|
1769
|
+
RBS_KEYWORDS = [
|
1770
|
+
'type', 'interface', 'out', 'in', 'instance', 'extension', 'top', 'bot',
|
1771
|
+
'self', 'nil', 'void'
|
1772
|
+
]
|
1773
|
+
PREFIXES = {
|
1774
|
+
normal: '',
|
1775
|
+
splat: '*',
|
1776
|
+
double_splat: '**',
|
1777
|
+
}.freeze
|
1778
|
+
|
1779
|
+
sig { params(name: String, type: T.nilable(Types::TypeLike), required: T::Boolean).void }
|
1780
|
+
def initialize(name, type: nil, required: true); end
|
1781
|
+
|
1782
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1783
|
+
def ==(other); end
|
1784
|
+
|
1785
|
+
sig { returns(String) }
|
1786
|
+
attr_reader :name
|
1787
|
+
|
1788
|
+
sig { returns(String) }
|
1789
|
+
def name_without_kind; end
|
1790
|
+
|
1791
|
+
sig { returns(Types::TypeLike) }
|
1792
|
+
attr_reader :type
|
1793
|
+
|
1794
|
+
sig { returns(T::Boolean) }
|
1795
|
+
attr_reader :required
|
1796
|
+
|
1797
|
+
sig { returns(Symbol) }
|
1798
|
+
attr_reader :kind
|
1799
|
+
|
1800
|
+
sig { returns(String) }
|
1801
|
+
def to_rbs_param; end
|
1802
|
+
end
|
1803
|
+
|
1804
|
+
class RbsObject < TypedObject
|
1805
|
+
abstract!
|
1806
|
+
|
1807
|
+
sig { params(generator: Generator, name: String).void }
|
1808
|
+
def initialize(generator, name); end
|
1809
|
+
|
1810
|
+
sig { returns(Generator) }
|
1811
|
+
attr_reader :generator
|
1812
|
+
|
1813
|
+
sig { abstract.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1814
|
+
def generate_rbs(indent_level, options); end
|
1815
|
+
|
1816
|
+
sig { abstract.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1817
|
+
def mergeable?(others); end
|
1818
|
+
|
1819
|
+
sig { abstract.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1820
|
+
def merge_into_self(others); end
|
1821
|
+
|
1822
|
+
sig { override.overridable.returns(String) }
|
1823
|
+
def describe; end
|
1824
|
+
end
|
1825
|
+
|
1826
|
+
class TypeAlias < RbsObject
|
1827
|
+
sig do
|
1828
|
+
params(
|
1829
|
+
generator: Generator,
|
1830
|
+
name: String,
|
1831
|
+
type: Types::TypeLike,
|
1832
|
+
block: T.nilable(T.proc.params(x: TypeAlias).void)
|
1833
|
+
).void
|
1834
|
+
end
|
1835
|
+
def initialize(generator, name:, type:, &block); end
|
1836
|
+
|
1837
|
+
sig { returns(Types::TypeLike) }
|
1838
|
+
attr_reader :type
|
1839
|
+
|
1840
|
+
sig { params(other: Object).returns(T::Boolean) }
|
1841
|
+
def ==(other); end
|
1842
|
+
|
1843
|
+
sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
|
1844
|
+
def generate_rbs(indent_level, options); end
|
1845
|
+
|
1846
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
|
1847
|
+
def mergeable?(others); end
|
1848
|
+
|
1849
|
+
sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
|
1850
|
+
def merge_into_self(others); end
|
1851
|
+
|
1852
|
+
sig { override.returns(String) }
|
1853
|
+
def describe; end
|
1854
|
+
end
|
1855
|
+
end
|
1856
|
+
end
|