rbi 0.2.4 → 0.3.0

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.
data/rbi/rbi.rbi ADDED
@@ -0,0 +1,4686 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rbi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rbi`.
6
+
7
+
8
+ # source://rbi//lib/rbi.rb#13
9
+ module RBI; end
10
+
11
+ # source://rbi//lib/rbi/model.rb#802
12
+ class RBI::Arg < ::RBI::Node
13
+ # source://rbi//lib/rbi/model.rb#807
14
+ sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void }
15
+ def initialize(value, loc: T.unsafe(nil)); end
16
+
17
+ # source://rbi//lib/rbi/model.rb#813
18
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
19
+ def ==(other); end
20
+
21
+ # source://rbi//lib/rbi/model.rb#818
22
+ sig { returns(::String) }
23
+ def to_s; end
24
+
25
+ # source://rbi//lib/rbi/model.rb#804
26
+ sig { returns(::String) }
27
+ def value; end
28
+ end
29
+
30
+ # Attributes
31
+ #
32
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
33
+ #
34
+ # source://rbi//lib/rbi/model.rb#298
35
+ class RBI::Attr < ::RBI::NodeWithComments
36
+ include ::RBI::Indexable
37
+
38
+ abstract!
39
+
40
+ # source://rbi//lib/rbi/model.rb#314
41
+ sig do
42
+ params(
43
+ name: ::Symbol,
44
+ names: T::Array[::Symbol],
45
+ visibility: ::RBI::Visibility,
46
+ sigs: T::Array[::RBI::Sig],
47
+ loc: T.nilable(::RBI::Loc),
48
+ comments: T::Array[::RBI::Comment]
49
+ ).void
50
+ end
51
+ def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
52
+
53
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#394
54
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
55
+ def compatible_with?(other); end
56
+
57
+ # @abstract
58
+ #
59
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#58
60
+ sig { abstract.returns(T::Array[::RBI::Method]) }
61
+ def convert_to_methods; end
62
+
63
+ # @abstract
64
+ #
65
+ # source://rbi//lib/rbi/model.rb#322
66
+ sig { abstract.returns(T::Array[::String]) }
67
+ def fully_qualified_names; end
68
+
69
+ # source://rbi//lib/rbi/index.rb#109
70
+ sig { override.returns(T::Array[::String]) }
71
+ def index_ids; end
72
+
73
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#403
74
+ sig { override.params(other: ::RBI::Node).void }
75
+ def merge_with(other); end
76
+
77
+ # source://rbi//lib/rbi/model.rb#305
78
+ sig { returns(T::Array[::Symbol]) }
79
+ def names; end
80
+
81
+ # source://rbi//lib/rbi/model.rb#311
82
+ sig { returns(T::Array[::RBI::Sig]) }
83
+ def sigs; end
84
+
85
+ # source://rbi//lib/rbi/model.rb#308
86
+ sig { returns(::RBI::Visibility) }
87
+ def visibility; end
88
+
89
+ # @return [Visibility]
90
+ #
91
+ # source://rbi//lib/rbi/model.rb#308
92
+ def visibility=(_arg0); end
93
+
94
+ private
95
+
96
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#79
97
+ sig do
98
+ params(
99
+ name: ::String,
100
+ sig: T.nilable(::RBI::Sig),
101
+ visibility: ::RBI::Visibility,
102
+ loc: T.nilable(::RBI::Loc),
103
+ comments: T::Array[::RBI::Comment]
104
+ ).returns(::RBI::Method)
105
+ end
106
+ def create_getter_method(name, sig, visibility, loc, comments); end
107
+
108
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#91
109
+ sig do
110
+ params(
111
+ name: ::String,
112
+ sig: T.nilable(::RBI::Sig),
113
+ attribute_type: T.nilable(T.any(::RBI::Type, ::String)),
114
+ visibility: ::RBI::Visibility,
115
+ loc: T.nilable(::RBI::Loc),
116
+ comments: T::Array[::RBI::Comment]
117
+ ).returns(::RBI::Method)
118
+ end
119
+ def create_setter_method(name, sig, attribute_type, visibility, loc, comments); end
120
+
121
+ # @raise [UnexpectedMultipleSigsError]
122
+ #
123
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#64
124
+ sig(:final) { returns([T.nilable(::RBI::Sig), T.nilable(T.any(::RBI::Type, ::String))]) }
125
+ def parse_sig; end
126
+ end
127
+
128
+ # source://rbi//lib/rbi/model.rb#325
129
+ class RBI::AttrAccessor < ::RBI::Attr
130
+ # source://rbi//lib/rbi/model.rb#327
131
+ sig do
132
+ params(
133
+ name: ::Symbol,
134
+ names: ::Symbol,
135
+ visibility: ::RBI::Visibility,
136
+ sigs: T::Array[::RBI::Sig],
137
+ loc: T.nilable(::RBI::Loc),
138
+ comments: T::Array[::RBI::Comment],
139
+ block: T.nilable(T.proc.params(node: ::RBI::AttrAccessor).void)
140
+ ).void
141
+ end
142
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
143
+
144
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#432
145
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
146
+ def compatible_with?(other); end
147
+
148
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#122
149
+ sig { override.returns(T::Array[::RBI::Method]) }
150
+ def convert_to_methods; end
151
+
152
+ # source://rbi//lib/rbi/model.rb#334
153
+ sig { override.returns(T::Array[::String]) }
154
+ def fully_qualified_names; end
155
+
156
+ # source://rbi//lib/rbi/model.rb#341
157
+ sig { override.returns(::String) }
158
+ def to_s; end
159
+ end
160
+
161
+ # source://rbi//lib/rbi/model.rb#347
162
+ class RBI::AttrReader < ::RBI::Attr
163
+ # source://rbi//lib/rbi/model.rb#349
164
+ sig do
165
+ params(
166
+ name: ::Symbol,
167
+ names: ::Symbol,
168
+ visibility: ::RBI::Visibility,
169
+ sigs: T::Array[::RBI::Sig],
170
+ loc: T.nilable(::RBI::Loc),
171
+ comments: T::Array[::RBI::Comment],
172
+ block: T.nilable(T.proc.params(node: ::RBI::AttrReader).void)
173
+ ).void
174
+ end
175
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
176
+
177
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#416
178
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
179
+ def compatible_with?(other); end
180
+
181
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#137
182
+ sig { override.returns(T::Array[::RBI::Method]) }
183
+ def convert_to_methods; end
184
+
185
+ # source://rbi//lib/rbi/model.rb#356
186
+ sig { override.returns(T::Array[::String]) }
187
+ def fully_qualified_names; end
188
+
189
+ # source://rbi//lib/rbi/model.rb#363
190
+ sig { override.returns(::String) }
191
+ def to_s; end
192
+ end
193
+
194
+ # source://rbi//lib/rbi/model.rb#369
195
+ class RBI::AttrWriter < ::RBI::Attr
196
+ # source://rbi//lib/rbi/model.rb#371
197
+ sig do
198
+ params(
199
+ name: ::Symbol,
200
+ names: ::Symbol,
201
+ visibility: ::RBI::Visibility,
202
+ sigs: T::Array[::RBI::Sig],
203
+ loc: T.nilable(::RBI::Loc),
204
+ comments: T::Array[::RBI::Comment],
205
+ block: T.nilable(T.proc.params(node: ::RBI::AttrWriter).void)
206
+ ).void
207
+ end
208
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
209
+
210
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#424
211
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
212
+ def compatible_with?(other); end
213
+
214
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#147
215
+ sig { override.returns(T::Array[::RBI::Method]) }
216
+ def convert_to_methods; end
217
+
218
+ # source://rbi//lib/rbi/model.rb#378
219
+ sig { override.returns(T::Array[::String]) }
220
+ def fully_qualified_names; end
221
+
222
+ # source://rbi//lib/rbi/model.rb#385
223
+ sig { override.returns(::String) }
224
+ def to_s; end
225
+ end
226
+
227
+ # An arbitrary blank line that can be added both in trees and comments
228
+ #
229
+ # source://rbi//lib/rbi/model.rb#73
230
+ class RBI::BlankLine < ::RBI::Comment
231
+ # source://rbi//lib/rbi/model.rb#75
232
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
233
+ def initialize(loc: T.unsafe(nil)); end
234
+ end
235
+
236
+ # source://rbi//lib/rbi/model.rb#642
237
+ class RBI::BlockParam < ::RBI::Param
238
+ # source://rbi//lib/rbi/model.rb#644
239
+ sig do
240
+ params(
241
+ name: ::String,
242
+ loc: T.nilable(::RBI::Loc),
243
+ comments: T::Array[::RBI::Comment],
244
+ block: T.nilable(T.proc.params(node: ::RBI::BlockParam).void)
245
+ ).void
246
+ end
247
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
248
+
249
+ # source://rbi//lib/rbi/model.rb#656
250
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
251
+ def ==(other); end
252
+
253
+ # source://rbi//lib/rbi/model.rb#651
254
+ sig { override.returns(::String) }
255
+ def to_s; end
256
+ end
257
+
258
+ # source://rbi//lib/rbi/model.rb#202
259
+ class RBI::Class < ::RBI::Scope
260
+ # source://rbi//lib/rbi/model.rb#210
261
+ sig do
262
+ params(
263
+ name: ::String,
264
+ superclass_name: T.nilable(::String),
265
+ loc: T.nilable(::RBI::Loc),
266
+ comments: T::Array[::RBI::Comment],
267
+ block: T.nilable(T.proc.params(node: ::RBI::Class).void)
268
+ ).void
269
+ end
270
+ def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
271
+
272
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#362
273
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
274
+ def compatible_with?(other); end
275
+
276
+ # source://rbi//lib/rbi/model.rb#219
277
+ sig { override.returns(::String) }
278
+ def fully_qualified_name; end
279
+
280
+ # source://rbi//lib/rbi/model.rb#204
281
+ sig { returns(::String) }
282
+ def name; end
283
+
284
+ # @return [String]
285
+ #
286
+ # source://rbi//lib/rbi/model.rb#204
287
+ def name=(_arg0); end
288
+
289
+ # source://rbi//lib/rbi/model.rb#207
290
+ sig { returns(T.nilable(::String)) }
291
+ def superclass_name; end
292
+
293
+ # @return [String, nil]
294
+ #
295
+ # source://rbi//lib/rbi/model.rb#207
296
+ def superclass_name=(_arg0); end
297
+ end
298
+
299
+ # source://rbi//lib/rbi/model.rb#54
300
+ class RBI::Comment < ::RBI::Node
301
+ # source://rbi//lib/rbi/model.rb#59
302
+ sig { params(text: ::String, loc: T.nilable(::RBI::Loc)).void }
303
+ def initialize(text, loc: T.unsafe(nil)); end
304
+
305
+ # source://rbi//lib/rbi/model.rb#65
306
+ sig { params(other: ::Object).returns(T::Boolean) }
307
+ def ==(other); end
308
+
309
+ # source://rbi//lib/rbi/model.rb#56
310
+ sig { returns(::String) }
311
+ def text; end
312
+
313
+ # @return [String]
314
+ #
315
+ # source://rbi//lib/rbi/model.rb#56
316
+ def text=(_arg0); end
317
+ end
318
+
319
+ # A tree showing incompatibles nodes
320
+ #
321
+ # Is rendered as a merge conflict between `left` and` right`:
322
+ # ~~~rb
323
+ # class Foo
324
+ # <<<<<<< left
325
+ # def m1; end
326
+ # def m2(a); end
327
+ # =======
328
+ # def m1(a); end
329
+ # def m2; end
330
+ # >>>>>>> right
331
+ # end
332
+ # ~~~
333
+ #
334
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#546
335
+ class RBI::ConflictTree < ::RBI::Tree
336
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#554
337
+ sig { params(left_name: ::String, right_name: ::String).void }
338
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
339
+
340
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#548
341
+ sig { returns(::RBI::Tree) }
342
+ def left; end
343
+
344
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#551
345
+ sig { returns(::String) }
346
+ def left_name; end
347
+
348
+ # @return [Tree]
349
+ #
350
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#548
351
+ def right; end
352
+
353
+ # @return [String]
354
+ #
355
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#551
356
+ def right_name; end
357
+ end
358
+
359
+ # Consts
360
+ #
361
+ # source://rbi//lib/rbi/model.rb#270
362
+ class RBI::Const < ::RBI::NodeWithComments
363
+ include ::RBI::Indexable
364
+
365
+ # source://rbi//lib/rbi/model.rb#275
366
+ sig do
367
+ params(
368
+ name: ::String,
369
+ value: ::String,
370
+ loc: T.nilable(::RBI::Loc),
371
+ comments: T::Array[::RBI::Comment],
372
+ block: T.nilable(T.proc.params(node: ::RBI::Const).void)
373
+ ).void
374
+ end
375
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
376
+
377
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#386
378
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
379
+ def compatible_with?(other); end
380
+
381
+ # source://rbi//lib/rbi/model.rb#283
382
+ sig { returns(::String) }
383
+ def fully_qualified_name; end
384
+
385
+ # source://rbi//lib/rbi/index.rb#99
386
+ sig { override.returns(T::Array[::String]) }
387
+ def index_ids; end
388
+
389
+ # source://rbi//lib/rbi/model.rb#272
390
+ sig { returns(::String) }
391
+ def name; end
392
+
393
+ # source://rbi//lib/rbi/model.rb#291
394
+ sig { override.returns(::String) }
395
+ def to_s; end
396
+
397
+ # @return [String]
398
+ #
399
+ # source://rbi//lib/rbi/model.rb#272
400
+ def value; end
401
+ end
402
+
403
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#332
404
+ class RBI::DuplicateNodeError < ::RBI::Error; end
405
+
406
+ # source://rbi//lib/rbi.rb#14
407
+ class RBI::Error < ::StandardError; end
408
+
409
+ # source://rbi//lib/rbi/model.rb#692
410
+ class RBI::Extend < ::RBI::Mixin
411
+ include ::RBI::Indexable
412
+
413
+ # source://rbi//lib/rbi/model.rb#694
414
+ sig do
415
+ params(
416
+ name: ::String,
417
+ names: ::String,
418
+ loc: T.nilable(::RBI::Loc),
419
+ comments: T::Array[::RBI::Comment],
420
+ block: T.nilable(T.proc.params(node: ::RBI::Extend).void)
421
+ ).void
422
+ end
423
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
424
+
425
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#479
426
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
427
+ def compatible_with?(other); end
428
+
429
+ # source://rbi//lib/rbi/index.rb#139
430
+ sig { override.returns(T::Array[::String]) }
431
+ def index_ids; end
432
+
433
+ # source://rbi//lib/rbi/model.rb#701
434
+ sig { override.returns(::String) }
435
+ def to_s; end
436
+ end
437
+
438
+ # source://rbi//lib/rbi/model.rb#135
439
+ class RBI::File
440
+ # source://rbi//lib/rbi/model.rb#146
441
+ sig do
442
+ params(
443
+ strictness: T.nilable(::String),
444
+ comments: T::Array[::RBI::Comment],
445
+ block: T.nilable(T.proc.params(file: ::RBI::File).void)
446
+ ).void
447
+ end
448
+ def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end
449
+
450
+ # source://rbi//lib/rbi/model.rb#154
451
+ sig { params(node: ::RBI::Node).void }
452
+ def <<(node); end
453
+
454
+ # source://rbi//lib/rbi/model.rb#143
455
+ sig { returns(T::Array[::RBI::Comment]) }
456
+ def comments; end
457
+
458
+ # @return [Array<Comment>]
459
+ #
460
+ # source://rbi//lib/rbi/model.rb#143
461
+ def comments=(_arg0); end
462
+
463
+ # source://rbi//lib/rbi/model.rb#159
464
+ sig { returns(T::Boolean) }
465
+ def empty?; end
466
+
467
+ # source://rbi//lib/rbi/printer.rb#794
468
+ sig do
469
+ params(
470
+ out: T.any(::IO, ::StringIO),
471
+ indent: ::Integer,
472
+ print_locs: T::Boolean,
473
+ max_line_length: T.nilable(::Integer)
474
+ ).void
475
+ end
476
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
477
+
478
+ # source://rbi//lib/rbi/rbs_printer.rb#1106
479
+ sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void }
480
+ def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
481
+
482
+ # source://rbi//lib/rbi/rbs_printer.rb#1112
483
+ sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) }
484
+ def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
485
+
486
+ # source://rbi//lib/rbi/model.rb#137
487
+ sig { returns(::RBI::Tree) }
488
+ def root; end
489
+
490
+ # @return [Tree]
491
+ #
492
+ # source://rbi//lib/rbi/model.rb#137
493
+ def root=(_arg0); end
494
+
495
+ # source://rbi//lib/rbi/model.rb#140
496
+ sig { returns(T.nilable(::String)) }
497
+ def strictness; end
498
+
499
+ # @return [String, nil]
500
+ #
501
+ # source://rbi//lib/rbi/model.rb#140
502
+ def strictness=(_arg0); end
503
+
504
+ # source://rbi//lib/rbi/printer.rb#800
505
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
506
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
507
+ end
508
+
509
+ # source://rbi//lib/rbi/formatter.rb#5
510
+ class RBI::Formatter
511
+ # source://rbi//lib/rbi/formatter.rb#10
512
+ sig do
513
+ params(
514
+ add_sig_templates: T::Boolean,
515
+ group_nodes: T::Boolean,
516
+ max_line_length: T.nilable(::Integer),
517
+ nest_singleton_methods: T::Boolean,
518
+ nest_non_public_members: T::Boolean,
519
+ sort_nodes: T::Boolean
520
+ ).void
521
+ end
522
+ def initialize(add_sig_templates: T.unsafe(nil), group_nodes: T.unsafe(nil), max_line_length: T.unsafe(nil), nest_singleton_methods: T.unsafe(nil), nest_non_public_members: T.unsafe(nil), sort_nodes: T.unsafe(nil)); end
523
+
524
+ # source://rbi//lib/rbi/formatter.rb#33
525
+ sig { params(file: ::RBI::File).void }
526
+ def format_file(file); end
527
+
528
+ # source://rbi//lib/rbi/formatter.rb#38
529
+ sig { params(tree: ::RBI::Tree).void }
530
+ def format_tree(tree); end
531
+
532
+ # source://rbi//lib/rbi/formatter.rb#7
533
+ sig { returns(T.nilable(::Integer)) }
534
+ def max_line_length; end
535
+
536
+ # @return [Integer, nil]
537
+ #
538
+ # source://rbi//lib/rbi/formatter.rb#7
539
+ def max_line_length=(_arg0); end
540
+
541
+ # source://rbi//lib/rbi/formatter.rb#27
542
+ sig { params(file: ::RBI::File).returns(::String) }
543
+ def print_file(file); end
544
+ end
545
+
546
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#84
547
+ class RBI::Group < ::RBI::Tree
548
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#89
549
+ sig { params(kind: ::RBI::Group::Kind).void }
550
+ def initialize(kind); end
551
+
552
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#86
553
+ sig { returns(::RBI::Group::Kind) }
554
+ def kind; end
555
+ end
556
+
557
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#94
558
+ class RBI::Group::Kind < ::T::Enum
559
+ enums do
560
+ Attrs = new
561
+ Consts = new
562
+ Helpers = new
563
+ Inits = new
564
+ Methods = new
565
+ MixesInClassMethods = new
566
+ Mixins = new
567
+ RequiredAncestors = new
568
+ Sends = new
569
+ SingletonClasses = new
570
+ TEnums = new
571
+ TStructFields = new
572
+ TypeMembers = new
573
+ end
574
+ end
575
+
576
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#5
577
+ class RBI::GroupNodesError < ::RBI::Error; end
578
+
579
+ # Sorbet's misc.
580
+ #
581
+ # source://rbi//lib/rbi/model.rb#1042
582
+ class RBI::Helper < ::RBI::NodeWithComments
583
+ include ::RBI::Indexable
584
+
585
+ # source://rbi//lib/rbi/model.rb#1047
586
+ sig do
587
+ params(
588
+ name: ::String,
589
+ loc: T.nilable(::RBI::Loc),
590
+ comments: T::Array[::RBI::Comment],
591
+ block: T.nilable(T.proc.params(node: ::RBI::Helper).void)
592
+ ).void
593
+ end
594
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
595
+
596
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#495
597
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
598
+ def compatible_with?(other); end
599
+
600
+ # source://rbi//lib/rbi/index.rb#169
601
+ sig { override.returns(T::Array[::String]) }
602
+ def index_ids; end
603
+
604
+ # source://rbi//lib/rbi/model.rb#1044
605
+ sig { returns(::String) }
606
+ def name; end
607
+
608
+ # source://rbi//lib/rbi/model.rb#1055
609
+ sig { override.returns(::String) }
610
+ def to_s; end
611
+ end
612
+
613
+ # source://rbi//lib/rbi/model.rb#678
614
+ class RBI::Include < ::RBI::Mixin
615
+ include ::RBI::Indexable
616
+
617
+ # source://rbi//lib/rbi/model.rb#680
618
+ sig do
619
+ params(
620
+ name: ::String,
621
+ names: ::String,
622
+ loc: T.nilable(::RBI::Loc),
623
+ comments: T::Array[::RBI::Comment],
624
+ block: T.nilable(T.proc.params(node: ::RBI::Include).void)
625
+ ).void
626
+ end
627
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
628
+
629
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#471
630
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
631
+ def compatible_with?(other); end
632
+
633
+ # source://rbi//lib/rbi/index.rb#129
634
+ sig { override.returns(T::Array[::String]) }
635
+ def index_ids; end
636
+
637
+ # source://rbi//lib/rbi/model.rb#687
638
+ sig { override.returns(::String) }
639
+ def to_s; end
640
+ end
641
+
642
+ # source://rbi//lib/rbi/index.rb#5
643
+ class RBI::Index < ::RBI::Visitor
644
+ # source://rbi//lib/rbi/index.rb#18
645
+ sig { void }
646
+ def initialize; end
647
+
648
+ # source://rbi//lib/rbi/index.rb#29
649
+ sig { params(id: ::String).returns(T::Array[::RBI::Node]) }
650
+ def [](id); end
651
+
652
+ # source://rbi//lib/rbi/index.rb#34
653
+ sig { params(nodes: ::RBI::Node).void }
654
+ def index(*nodes); end
655
+
656
+ # source://rbi//lib/rbi/index.rb#24
657
+ sig { returns(T::Array[::String]) }
658
+ def keys; end
659
+
660
+ # source://rbi//lib/rbi/index.rb#40
661
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
662
+ def visit(node); end
663
+
664
+ private
665
+
666
+ # source://rbi//lib/rbi/index.rb#57
667
+ sig { params(node: T.all(::RBI::Indexable, ::RBI::Node)).void }
668
+ def index_node(node); end
669
+
670
+ class << self
671
+ # source://rbi//lib/rbi/index.rb#10
672
+ sig { params(node: ::RBI::Node).returns(::RBI::Index) }
673
+ def index(*node); end
674
+ end
675
+ end
676
+
677
+ # A Node that can be referred to by a unique ID inside an index
678
+ #
679
+ # @abstract Subclasses must implement the `abstract` methods below.
680
+ #
681
+ # source://rbi//lib/rbi/index.rb#70
682
+ module RBI::Indexable
683
+ interface!
684
+
685
+ # Unique IDs that refer to this node.
686
+ #
687
+ # Some nodes can have multiple ids, for example an attribute accessor matches the ID of the
688
+ # getter and the setter.
689
+ #
690
+ # @abstract
691
+ #
692
+ # source://rbi//lib/rbi/index.rb#81
693
+ sig { abstract.returns(T::Array[::String]) }
694
+ def index_ids; end
695
+ end
696
+
697
+ # source://rbi//lib/rbi/model.rb#823
698
+ class RBI::KwArg < ::RBI::Arg
699
+ # source://rbi//lib/rbi/model.rb#828
700
+ sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void }
701
+ def initialize(keyword, value, loc: T.unsafe(nil)); end
702
+
703
+ # source://rbi//lib/rbi/model.rb#834
704
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
705
+ def ==(other); end
706
+
707
+ # source://rbi//lib/rbi/model.rb#825
708
+ sig { returns(::String) }
709
+ def keyword; end
710
+
711
+ # source://rbi//lib/rbi/model.rb#839
712
+ sig { returns(::String) }
713
+ def to_s; end
714
+ end
715
+
716
+ # source://rbi//lib/rbi/model.rb#600
717
+ class RBI::KwOptParam < ::RBI::Param
718
+ # source://rbi//lib/rbi/model.rb#605
719
+ sig do
720
+ params(
721
+ name: ::String,
722
+ value: ::String,
723
+ loc: T.nilable(::RBI::Loc),
724
+ comments: T::Array[::RBI::Comment],
725
+ block: T.nilable(T.proc.params(node: ::RBI::KwOptParam).void)
726
+ ).void
727
+ end
728
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
729
+
730
+ # source://rbi//lib/rbi/model.rb#618
731
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
732
+ def ==(other); end
733
+
734
+ # source://rbi//lib/rbi/model.rb#613
735
+ sig { override.returns(::String) }
736
+ def to_s; end
737
+
738
+ # source://rbi//lib/rbi/model.rb#602
739
+ sig { returns(::String) }
740
+ def value; end
741
+ end
742
+
743
+ # source://rbi//lib/rbi/model.rb#581
744
+ class RBI::KwParam < ::RBI::Param
745
+ # source://rbi//lib/rbi/model.rb#583
746
+ sig do
747
+ params(
748
+ name: ::String,
749
+ loc: T.nilable(::RBI::Loc),
750
+ comments: T::Array[::RBI::Comment],
751
+ block: T.nilable(T.proc.params(node: ::RBI::KwParam).void)
752
+ ).void
753
+ end
754
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
755
+
756
+ # source://rbi//lib/rbi/model.rb#595
757
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
758
+ def ==(other); end
759
+
760
+ # source://rbi//lib/rbi/model.rb#590
761
+ sig { override.returns(::String) }
762
+ def to_s; end
763
+ end
764
+
765
+ # source://rbi//lib/rbi/model.rb#623
766
+ class RBI::KwRestParam < ::RBI::Param
767
+ # source://rbi//lib/rbi/model.rb#625
768
+ sig do
769
+ params(
770
+ name: ::String,
771
+ loc: T.nilable(::RBI::Loc),
772
+ comments: T::Array[::RBI::Comment],
773
+ block: T.nilable(T.proc.params(node: ::RBI::KwRestParam).void)
774
+ ).void
775
+ end
776
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
777
+
778
+ # source://rbi//lib/rbi/model.rb#637
779
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
780
+ def ==(other); end
781
+
782
+ # source://rbi//lib/rbi/model.rb#632
783
+ sig { override.returns(::String) }
784
+ def to_s; end
785
+ end
786
+
787
+ # source://rbi//lib/rbi/loc.rb#5
788
+ class RBI::Loc
789
+ # source://rbi//lib/rbi/loc.rb#26
790
+ sig do
791
+ params(
792
+ file: T.nilable(::String),
793
+ begin_line: T.nilable(::Integer),
794
+ end_line: T.nilable(::Integer),
795
+ begin_column: T.nilable(::Integer),
796
+ end_column: T.nilable(::Integer)
797
+ ).void
798
+ end
799
+ def initialize(file: T.unsafe(nil), begin_line: T.unsafe(nil), end_line: T.unsafe(nil), begin_column: T.unsafe(nil), end_column: T.unsafe(nil)); end
800
+
801
+ # @return [Integer, nil]
802
+ #
803
+ # source://rbi//lib/rbi/loc.rb#23
804
+ def begin_column; end
805
+
806
+ # source://rbi//lib/rbi/loc.rb#23
807
+ sig { returns(T.nilable(::Integer)) }
808
+ def begin_line; end
809
+
810
+ # @return [Integer, nil]
811
+ #
812
+ # source://rbi//lib/rbi/loc.rb#23
813
+ def end_column; end
814
+
815
+ # @return [Integer, nil]
816
+ #
817
+ # source://rbi//lib/rbi/loc.rb#23
818
+ def end_line; end
819
+
820
+ # source://rbi//lib/rbi/loc.rb#20
821
+ sig { returns(T.nilable(::String)) }
822
+ def file; end
823
+
824
+ # source://rbi//lib/rbi/loc.rb#44
825
+ sig { returns(T.nilable(::String)) }
826
+ def source; end
827
+
828
+ # source://rbi//lib/rbi/loc.rb#35
829
+ sig { returns(::String) }
830
+ def to_s; end
831
+
832
+ class << self
833
+ # source://rbi//lib/rbi/loc.rb#8
834
+ sig { params(file: ::String, prism_location: ::Prism::Location).returns(::RBI::Loc) }
835
+ def from_prism(file, prism_location); end
836
+ end
837
+ end
838
+
839
+ # A tree that _might_ contain conflicts
840
+ #
841
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#320
842
+ class RBI::MergeTree < ::RBI::Tree
843
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#325
844
+ sig do
845
+ params(
846
+ loc: T.nilable(::RBI::Loc),
847
+ comments: T::Array[::RBI::Comment],
848
+ conflicts: T::Array[::RBI::Rewriters::Merge::Conflict],
849
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
850
+ ).void
851
+ end
852
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end
853
+
854
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#322
855
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
856
+ def conflicts; end
857
+ end
858
+
859
+ # Methods and args
860
+ #
861
+ # source://rbi//lib/rbi/model.rb#393
862
+ class RBI::Method < ::RBI::NodeWithComments
863
+ include ::RBI::Indexable
864
+
865
+ # source://rbi//lib/rbi/model.rb#410
866
+ sig do
867
+ params(
868
+ name: ::String,
869
+ params: T::Array[::RBI::Param],
870
+ is_singleton: T::Boolean,
871
+ visibility: ::RBI::Visibility,
872
+ sigs: T::Array[::RBI::Sig],
873
+ loc: T.nilable(::RBI::Loc),
874
+ comments: T::Array[::RBI::Comment],
875
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
876
+ ).void
877
+ end
878
+ def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
879
+
880
+ # source://rbi//lib/rbi/model.rb#430
881
+ sig { params(param: ::RBI::Param).void }
882
+ def <<(param); end
883
+
884
+ # source://rbi//lib/rbi/model.rb#465
885
+ sig { params(name: ::String).void }
886
+ def add_block_param(name); end
887
+
888
+ # source://rbi//lib/rbi/model.rb#455
889
+ sig { params(name: ::String, default_value: ::String).void }
890
+ def add_kw_opt_param(name, default_value); end
891
+
892
+ # source://rbi//lib/rbi/model.rb#450
893
+ sig { params(name: ::String).void }
894
+ def add_kw_param(name); end
895
+
896
+ # source://rbi//lib/rbi/model.rb#460
897
+ sig { params(name: ::String).void }
898
+ def add_kw_rest_param(name); end
899
+
900
+ # source://rbi//lib/rbi/model.rb#440
901
+ sig { params(name: ::String, default_value: ::String).void }
902
+ def add_opt_param(name, default_value); end
903
+
904
+ # source://rbi//lib/rbi/model.rb#435
905
+ sig { params(name: ::String).void }
906
+ def add_param(name); end
907
+
908
+ # source://rbi//lib/rbi/model.rb#445
909
+ sig { params(name: ::String).void }
910
+ def add_rest_param(name); end
911
+
912
+ # source://rbi//lib/rbi/model.rb#470
913
+ sig do
914
+ params(
915
+ params: T::Array[::RBI::SigParam],
916
+ return_type: T.any(::RBI::Type, ::String),
917
+ is_abstract: T::Boolean,
918
+ is_override: T::Boolean,
919
+ is_overridable: T::Boolean,
920
+ is_final: T::Boolean,
921
+ type_params: T::Array[::String],
922
+ checked: T.nilable(::Symbol),
923
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
924
+ ).void
925
+ end
926
+ def add_sig(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), &block); end
927
+
928
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#440
929
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
930
+ def compatible_with?(other); end
931
+
932
+ # source://rbi//lib/rbi/model.rb#496
933
+ sig { returns(::String) }
934
+ def fully_qualified_name; end
935
+
936
+ # source://rbi//lib/rbi/index.rb#119
937
+ sig { override.returns(T::Array[::String]) }
938
+ def index_ids; end
939
+
940
+ # source://rbi//lib/rbi/model.rb#401
941
+ sig { returns(T::Boolean) }
942
+ def is_singleton; end
943
+
944
+ # @return [Boolean]
945
+ #
946
+ # source://rbi//lib/rbi/model.rb#401
947
+ def is_singleton=(_arg0); end
948
+
949
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#450
950
+ sig { override.params(other: ::RBI::Node).void }
951
+ def merge_with(other); end
952
+
953
+ # source://rbi//lib/rbi/model.rb#395
954
+ sig { returns(::String) }
955
+ def name; end
956
+
957
+ # @return [String]
958
+ #
959
+ # source://rbi//lib/rbi/model.rb#395
960
+ def name=(_arg0); end
961
+
962
+ # source://rbi//lib/rbi/model.rb#398
963
+ sig { returns(T::Array[::RBI::Param]) }
964
+ def params; end
965
+
966
+ # source://rbi//lib/rbi/model.rb#407
967
+ sig { returns(T::Array[::RBI::Sig]) }
968
+ def sigs; end
969
+
970
+ # @return [Array<Sig>]
971
+ #
972
+ # source://rbi//lib/rbi/model.rb#407
973
+ def sigs=(_arg0); end
974
+
975
+ # source://rbi//lib/rbi/model.rb#506
976
+ sig { override.returns(::String) }
977
+ def to_s; end
978
+
979
+ # source://rbi//lib/rbi/model.rb#404
980
+ sig { returns(::RBI::Visibility) }
981
+ def visibility; end
982
+
983
+ # @return [Visibility]
984
+ #
985
+ # source://rbi//lib/rbi/model.rb#404
986
+ def visibility=(_arg0); end
987
+ end
988
+
989
+ # source://rbi//lib/rbi/model.rb#1086
990
+ class RBI::MixesInClassMethods < ::RBI::Mixin
991
+ include ::RBI::Indexable
992
+
993
+ # source://rbi//lib/rbi/model.rb#1088
994
+ sig do
995
+ params(
996
+ name: ::String,
997
+ names: ::String,
998
+ loc: T.nilable(::RBI::Loc),
999
+ comments: T::Array[::RBI::Comment],
1000
+ block: T.nilable(T.proc.params(node: ::RBI::MixesInClassMethods).void)
1001
+ ).void
1002
+ end
1003
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1004
+
1005
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#487
1006
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1007
+ def compatible_with?(other); end
1008
+
1009
+ # source://rbi//lib/rbi/index.rb#149
1010
+ sig { override.returns(T::Array[::String]) }
1011
+ def index_ids; end
1012
+
1013
+ # source://rbi//lib/rbi/model.rb#1095
1014
+ sig { override.returns(::String) }
1015
+ def to_s; end
1016
+ end
1017
+
1018
+ # Mixins
1019
+ #
1020
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1021
+ #
1022
+ # source://rbi//lib/rbi/model.rb#663
1023
+ class RBI::Mixin < ::RBI::NodeWithComments
1024
+ abstract!
1025
+
1026
+ # source://rbi//lib/rbi/model.rb#672
1027
+ sig do
1028
+ params(
1029
+ name: ::String,
1030
+ names: T::Array[::String],
1031
+ loc: T.nilable(::RBI::Loc),
1032
+ comments: T::Array[::RBI::Comment]
1033
+ ).void
1034
+ end
1035
+ def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1036
+
1037
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#463
1038
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1039
+ def compatible_with?(other); end
1040
+
1041
+ # source://rbi//lib/rbi/model.rb#669
1042
+ sig { returns(T::Array[::String]) }
1043
+ def names; end
1044
+ end
1045
+
1046
+ # source://rbi//lib/rbi/model.rb#182
1047
+ class RBI::Module < ::RBI::Scope
1048
+ # source://rbi//lib/rbi/model.rb#187
1049
+ sig do
1050
+ params(
1051
+ name: ::String,
1052
+ loc: T.nilable(::RBI::Loc),
1053
+ comments: T::Array[::RBI::Comment],
1054
+ block: T.nilable(T.proc.params(node: ::RBI::Module).void)
1055
+ ).void
1056
+ end
1057
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1058
+
1059
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#370
1060
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1061
+ def compatible_with?(other); end
1062
+
1063
+ # source://rbi//lib/rbi/model.rb#195
1064
+ sig { override.returns(::String) }
1065
+ def fully_qualified_name; end
1066
+
1067
+ # source://rbi//lib/rbi/model.rb#184
1068
+ sig { returns(::String) }
1069
+ def name; end
1070
+
1071
+ # @return [String]
1072
+ #
1073
+ # source://rbi//lib/rbi/model.rb#184
1074
+ def name=(_arg0); end
1075
+ end
1076
+
1077
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1078
+ #
1079
+ # source://rbi//lib/rbi/model.rb#7
1080
+ class RBI::Node
1081
+ abstract!
1082
+
1083
+ # source://rbi//lib/rbi/model.rb#19
1084
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
1085
+ def initialize(loc: T.unsafe(nil)); end
1086
+
1087
+ # Can `self` and `_other` be merged into a single definition?
1088
+ #
1089
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#280
1090
+ sig { params(_other: ::RBI::Node).returns(T::Boolean) }
1091
+ def compatible_with?(_other); end
1092
+
1093
+ # source://rbi//lib/rbi/model.rb#25
1094
+ sig { void }
1095
+ def detach; end
1096
+
1097
+ # source://rbi//lib/rbi/model.rb#16
1098
+ sig { returns(T.nilable(::RBI::Loc)) }
1099
+ def loc; end
1100
+
1101
+ # @return [Loc, nil]
1102
+ #
1103
+ # source://rbi//lib/rbi/model.rb#16
1104
+ def loc=(_arg0); end
1105
+
1106
+ # Merge `self` and `other` into a single definition
1107
+ #
1108
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#286
1109
+ sig { params(other: ::RBI::Node).void }
1110
+ def merge_with(other); end
1111
+
1112
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#289
1113
+ sig { returns(T.nilable(::RBI::ConflictTree)) }
1114
+ def parent_conflict_tree; end
1115
+
1116
+ # source://rbi//lib/rbi/model.rb#47
1117
+ sig { returns(T.nilable(::RBI::Scope)) }
1118
+ def parent_scope; end
1119
+
1120
+ # source://rbi//lib/rbi/model.rb#13
1121
+ sig { returns(T.nilable(::RBI::Tree)) }
1122
+ def parent_tree; end
1123
+
1124
+ # @return [Tree, nil]
1125
+ #
1126
+ # source://rbi//lib/rbi/model.rb#13
1127
+ def parent_tree=(_arg0); end
1128
+
1129
+ # source://rbi//lib/rbi/printer.rb#809
1130
+ sig do
1131
+ params(
1132
+ out: T.any(::IO, ::StringIO),
1133
+ indent: ::Integer,
1134
+ print_locs: T::Boolean,
1135
+ max_line_length: T.nilable(::Integer)
1136
+ ).void
1137
+ end
1138
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1139
+
1140
+ # source://rbi//lib/rbi/rbs_printer.rb#1121
1141
+ sig do
1142
+ params(
1143
+ out: T.any(::IO, ::StringIO),
1144
+ indent: ::Integer,
1145
+ print_locs: T::Boolean,
1146
+ positional_names: T::Boolean
1147
+ ).void
1148
+ end
1149
+ def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end
1150
+
1151
+ # source://rbi//lib/rbi/rbs_printer.rb#1127
1152
+ sig { params(indent: ::Integer, print_locs: T::Boolean, positional_names: T::Boolean).returns(::String) }
1153
+ def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end
1154
+
1155
+ # @raise [ReplaceNodeError]
1156
+ #
1157
+ # source://rbi//lib/rbi/model.rb#34
1158
+ sig { params(node: ::RBI::Node).void }
1159
+ def replace(node); end
1160
+
1161
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#91
1162
+ sig { params(version: ::Gem::Version).returns(T::Boolean) }
1163
+ def satisfies_version?(version); end
1164
+
1165
+ # source://rbi//lib/rbi/printer.rb#815
1166
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
1167
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1168
+ end
1169
+
1170
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1171
+ #
1172
+ # source://rbi//lib/rbi/model.rb#90
1173
+ class RBI::NodeWithComments < ::RBI::Node
1174
+ abstract!
1175
+
1176
+ # source://rbi//lib/rbi/model.rb#99
1177
+ sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1178
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1179
+
1180
+ # source://rbi//lib/rbi/model.rb#105
1181
+ sig { returns(T::Array[::String]) }
1182
+ def annotations; end
1183
+
1184
+ # source://rbi//lib/rbi/model.rb#96
1185
+ sig { returns(T::Array[::RBI::Comment]) }
1186
+ def comments; end
1187
+
1188
+ # @return [Array<Comment>]
1189
+ #
1190
+ # source://rbi//lib/rbi/model.rb#96
1191
+ def comments=(_arg0); end
1192
+
1193
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#303
1194
+ sig { override.params(other: ::RBI::Node).void }
1195
+ def merge_with(other); end
1196
+
1197
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#101
1198
+ sig { returns(T::Array[::Gem::Requirement]) }
1199
+ def version_requirements; end
1200
+ end
1201
+
1202
+ # source://rbi//lib/rbi/model.rb#545
1203
+ class RBI::OptParam < ::RBI::Param
1204
+ # source://rbi//lib/rbi/model.rb#550
1205
+ sig do
1206
+ params(
1207
+ name: ::String,
1208
+ value: ::String,
1209
+ loc: T.nilable(::RBI::Loc),
1210
+ comments: T::Array[::RBI::Comment],
1211
+ block: T.nilable(T.proc.params(node: ::RBI::OptParam).void)
1212
+ ).void
1213
+ end
1214
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1215
+
1216
+ # source://rbi//lib/rbi/model.rb#557
1217
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1218
+ def ==(other); end
1219
+
1220
+ # source://rbi//lib/rbi/model.rb#547
1221
+ sig { returns(::String) }
1222
+ def value; end
1223
+ end
1224
+
1225
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1226
+ #
1227
+ # source://rbi//lib/rbi/model.rb#511
1228
+ class RBI::Param < ::RBI::NodeWithComments
1229
+ abstract!
1230
+
1231
+ # source://rbi//lib/rbi/model.rb#520
1232
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1233
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1234
+
1235
+ # source://rbi//lib/rbi/model.rb#517
1236
+ sig { returns(::String) }
1237
+ def name; end
1238
+
1239
+ # source://rbi//lib/rbi/model.rb#527
1240
+ sig { override.returns(::String) }
1241
+ def to_s; end
1242
+ end
1243
+
1244
+ # source://rbi//lib/rbi/parser.rb#7
1245
+ class RBI::ParseError < ::RBI::Error
1246
+ # source://rbi//lib/rbi/parser.rb#12
1247
+ sig { params(message: ::String, location: ::RBI::Loc).void }
1248
+ def initialize(message, location); end
1249
+
1250
+ # source://rbi//lib/rbi/parser.rb#9
1251
+ sig { returns(::RBI::Loc) }
1252
+ def location; end
1253
+ end
1254
+
1255
+ # source://rbi//lib/rbi/parser.rb#49
1256
+ class RBI::Parser
1257
+ # source://rbi//lib/rbi/parser.rb#80
1258
+ sig { params(path: ::String).returns(::RBI::Tree) }
1259
+ def parse_file(path); end
1260
+
1261
+ # source://rbi//lib/rbi/parser.rb#75
1262
+ sig { params(string: ::String).returns(::RBI::Tree) }
1263
+ def parse_string(string); end
1264
+
1265
+ private
1266
+
1267
+ # source://rbi//lib/rbi/parser.rb#87
1268
+ sig { params(source: ::String, file: ::String).returns(::RBI::Tree) }
1269
+ def parse(source, file:); end
1270
+
1271
+ class << self
1272
+ # source://rbi//lib/rbi/parser.rb#57
1273
+ sig { params(path: ::String).returns(::RBI::Tree) }
1274
+ def parse_file(path); end
1275
+
1276
+ # source://rbi//lib/rbi/parser.rb#62
1277
+ sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1278
+ def parse_files(paths); end
1279
+
1280
+ # source://rbi//lib/rbi/parser.rb#52
1281
+ sig { params(string: ::String).returns(::RBI::Tree) }
1282
+ def parse_string(string); end
1283
+
1284
+ # source://rbi//lib/rbi/parser.rb#68
1285
+ sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1286
+ def parse_strings(strings); end
1287
+ end
1288
+ end
1289
+
1290
+ # source://rbi//lib/rbi/parser.rb#822
1291
+ class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor
1292
+ # source://rbi//lib/rbi/parser.rb#827
1293
+ sig { params(content: ::String, file: ::String).void }
1294
+ def initialize(content, file:); end
1295
+
1296
+ # source://rbi//lib/rbi/parser.rb#824
1297
+ sig { returns(::RBI::Sig) }
1298
+ def current; end
1299
+
1300
+ # source://rbi//lib/rbi/parser.rb#897
1301
+ sig { override.params(node: ::Prism::AssocNode).void }
1302
+ def visit_assoc_node(node); end
1303
+
1304
+ # source://rbi//lib/rbi/parser.rb#835
1305
+ sig { override.params(node: ::Prism::CallNode).void }
1306
+ def visit_call_node(node); end
1307
+ end
1308
+
1309
+ # source://rbi//lib/rbi/parser.rb#143
1310
+ class RBI::Parser::TreeBuilder < ::RBI::Parser::Visitor
1311
+ # source://rbi//lib/rbi/parser.rb#151
1312
+ sig { params(source: ::String, comments: T::Array[::Prism::Comment], file: ::String).void }
1313
+ def initialize(source, comments:, file:); end
1314
+
1315
+ # source://rbi//lib/rbi/parser.rb#148
1316
+ sig { returns(T.nilable(::Prism::Node)) }
1317
+ def last_node; end
1318
+
1319
+ # source://rbi//lib/rbi/parser.rb#145
1320
+ sig { returns(::RBI::Tree) }
1321
+ def tree; end
1322
+
1323
+ # source://rbi//lib/rbi/parser.rb#319
1324
+ sig { params(node: ::Prism::CallNode).void }
1325
+ def visit_call_node(node); end
1326
+
1327
+ # source://rbi//lib/rbi/parser.rb#164
1328
+ sig { override.params(node: ::Prism::ClassNode).void }
1329
+ def visit_class_node(node); end
1330
+
1331
+ # source://rbi//lib/rbi/parser.rb#215
1332
+ sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).void }
1333
+ def visit_constant_assign(node); end
1334
+
1335
+ # source://rbi//lib/rbi/parser.rb#208
1336
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
1337
+ def visit_constant_path_write_node(node); end
1338
+
1339
+ # source://rbi//lib/rbi/parser.rb#200
1340
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
1341
+ def visit_constant_write_node(node); end
1342
+
1343
+ # source://rbi//lib/rbi/parser.rb#249
1344
+ sig { override.params(node: ::Prism::DefNode).void }
1345
+ def visit_def_node(node); end
1346
+
1347
+ # source://rbi//lib/rbi/parser.rb#271
1348
+ sig { override.params(node: ::Prism::ModuleNode).void }
1349
+ def visit_module_node(node); end
1350
+
1351
+ # source://rbi//lib/rbi/parser.rb#290
1352
+ sig { override.params(node: ::Prism::ProgramNode).void }
1353
+ def visit_program_node(node); end
1354
+
1355
+ # source://rbi//lib/rbi/parser.rb#302
1356
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
1357
+ def visit_singleton_class_node(node); end
1358
+
1359
+ private
1360
+
1361
+ # Collect all the remaining comments within a node
1362
+ #
1363
+ # source://rbi//lib/rbi/parser.rb#493
1364
+ sig { params(node: ::Prism::Node).void }
1365
+ def collect_dangling_comments(node); end
1366
+
1367
+ # Collect all the remaining comments after visiting the tree
1368
+ #
1369
+ # source://rbi//lib/rbi/parser.rb#511
1370
+ sig { void }
1371
+ def collect_orphan_comments; end
1372
+
1373
+ # source://rbi//lib/rbi/parser.rb#534
1374
+ sig { returns(::RBI::Tree) }
1375
+ def current_scope; end
1376
+
1377
+ # source://rbi//lib/rbi/parser.rb#539
1378
+ sig { returns(T::Array[::RBI::Sig]) }
1379
+ def current_sigs; end
1380
+
1381
+ # source://rbi//lib/rbi/parser.rb#546
1382
+ sig { params(sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
1383
+ def detach_comments_from_sigs(sigs); end
1384
+
1385
+ # source://rbi//lib/rbi/parser.rb#558
1386
+ sig { params(node: ::Prism::Node).returns(T::Array[::RBI::Comment]) }
1387
+ def node_comments(node); end
1388
+
1389
+ # source://rbi//lib/rbi/parser.rb#576
1390
+ sig { params(node: ::Prism::Comment).returns(::RBI::Comment) }
1391
+ def parse_comment(node); end
1392
+
1393
+ # source://rbi//lib/rbi/parser.rb#611
1394
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Param]) }
1395
+ def parse_params(node); end
1396
+
1397
+ # source://rbi//lib/rbi/parser.rb#587
1398
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Arg]) }
1399
+ def parse_send_args(node); end
1400
+
1401
+ # source://rbi//lib/rbi/parser.rb#685
1402
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Sig) }
1403
+ def parse_sig(node); end
1404
+
1405
+ # source://rbi//lib/rbi/parser.rb#694
1406
+ sig do
1407
+ params(
1408
+ node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)
1409
+ ).returns(T.nilable(::RBI::Struct))
1410
+ end
1411
+ def parse_struct(node); end
1412
+
1413
+ # source://rbi//lib/rbi/parser.rb#742
1414
+ sig { params(send: ::Prism::CallNode).void }
1415
+ def parse_tstruct_field(send); end
1416
+
1417
+ # source://rbi//lib/rbi/parser.rb#779
1418
+ sig { params(name: ::String, node: ::Prism::Node).returns(::RBI::Visibility) }
1419
+ def parse_visibility(name, node); end
1420
+
1421
+ # source://rbi//lib/rbi/parser.rb#793
1422
+ sig { void }
1423
+ def separate_header_comments; end
1424
+
1425
+ # source://rbi//lib/rbi/parser.rb#803
1426
+ sig { void }
1427
+ def set_root_tree_loc; end
1428
+
1429
+ # source://rbi//lib/rbi/parser.rb#817
1430
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
1431
+ def type_variable_definition?(node); end
1432
+ end
1433
+
1434
+ # source://rbi//lib/rbi/parser.rb#114
1435
+ class RBI::Parser::Visitor < ::Prism::Visitor
1436
+ # source://rbi//lib/rbi/parser.rb#116
1437
+ sig { params(source: ::String, file: ::String).void }
1438
+ def initialize(source, file:); end
1439
+
1440
+ private
1441
+
1442
+ # source://rbi//lib/rbi/parser.rb#126
1443
+ sig { params(node: ::Prism::Node).returns(::RBI::Loc) }
1444
+ def node_loc(node); end
1445
+
1446
+ # source://rbi//lib/rbi/parser.rb#131
1447
+ sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::String)) }
1448
+ def node_string(node); end
1449
+
1450
+ # source://rbi//lib/rbi/parser.rb#138
1451
+ sig { params(node: ::Prism::Node).returns(::String) }
1452
+ def node_string!(node); end
1453
+ end
1454
+
1455
+ # source://rbi//lib/rbi/printer.rb#7
1456
+ class RBI::Printer < ::RBI::Visitor
1457
+ # source://rbi//lib/rbi/printer.rb#21
1458
+ sig do
1459
+ params(
1460
+ out: T.any(::IO, ::StringIO),
1461
+ indent: ::Integer,
1462
+ print_locs: T::Boolean,
1463
+ max_line_length: T.nilable(::Integer)
1464
+ ).void
1465
+ end
1466
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1467
+
1468
+ # source://rbi//lib/rbi/printer.rb#15
1469
+ sig { returns(::Integer) }
1470
+ def current_indent; end
1471
+
1472
+ # source://rbi//lib/rbi/printer.rb#39
1473
+ sig { void }
1474
+ def dedent; end
1475
+
1476
+ # @return [Boolean]
1477
+ #
1478
+ # source://rbi//lib/rbi/printer.rb#9
1479
+ def in_visibility_group; end
1480
+
1481
+ # @return [Boolean]
1482
+ #
1483
+ # source://rbi//lib/rbi/printer.rb#9
1484
+ def in_visibility_group=(_arg0); end
1485
+
1486
+ # Printing
1487
+ #
1488
+ # source://rbi//lib/rbi/printer.rb#34
1489
+ sig { void }
1490
+ def indent; end
1491
+
1492
+ # source://rbi//lib/rbi/printer.rb#18
1493
+ sig { returns(T.nilable(::Integer)) }
1494
+ def max_line_length; end
1495
+
1496
+ # source://rbi//lib/rbi/printer.rb#12
1497
+ sig { returns(T.nilable(::RBI::Node)) }
1498
+ def previous_node; end
1499
+
1500
+ # Print a string without indentation nor `\n` at the end.
1501
+ #
1502
+ # source://rbi//lib/rbi/printer.rb#45
1503
+ sig { params(string: ::String).void }
1504
+ def print(string); end
1505
+
1506
+ # source://rbi//lib/rbi/printer.rb#9
1507
+ sig { returns(T::Boolean) }
1508
+ def print_locs; end
1509
+
1510
+ # @return [Boolean]
1511
+ #
1512
+ # source://rbi//lib/rbi/printer.rb#9
1513
+ def print_locs=(_arg0); end
1514
+
1515
+ # Print a string with indentation and `\n` at the end.
1516
+ #
1517
+ # source://rbi//lib/rbi/printer.rb#65
1518
+ sig { params(string: ::String).void }
1519
+ def printl(string); end
1520
+
1521
+ # Print a string without indentation but with a `\n` at the end.
1522
+ #
1523
+ # source://rbi//lib/rbi/printer.rb#51
1524
+ sig { params(string: T.nilable(::String)).void }
1525
+ def printn(string = T.unsafe(nil)); end
1526
+
1527
+ # Print a string with indentation but without a `\n` at the end.
1528
+ #
1529
+ # source://rbi//lib/rbi/printer.rb#58
1530
+ sig { params(string: T.nilable(::String)).void }
1531
+ def printt(string = T.unsafe(nil)); end
1532
+
1533
+ # source://rbi//lib/rbi/printer.rb#72
1534
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1535
+ def visit_all(nodes); end
1536
+
1537
+ # source://rbi//lib/rbi/printer.rb#84
1538
+ sig { override.params(file: ::RBI::File).void }
1539
+ def visit_file(file); end
1540
+
1541
+ private
1542
+
1543
+ # source://rbi//lib/rbi/printer.rb#670
1544
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
1545
+ def oneline?(node); end
1546
+
1547
+ # source://rbi//lib/rbi/printer.rb#628
1548
+ sig { params(node: ::RBI::Node).void }
1549
+ def print_blank_line_before(node); end
1550
+
1551
+ # source://rbi//lib/rbi/printer.rb#638
1552
+ sig { params(node: ::RBI::Node).void }
1553
+ def print_loc(node); end
1554
+
1555
+ # source://rbi//lib/rbi/printer.rb#644
1556
+ sig { params(node: ::RBI::Param, last: T::Boolean).void }
1557
+ def print_param_comment_leading_space(node, last:); end
1558
+
1559
+ # source://rbi//lib/rbi/printer.rb#717
1560
+ sig { params(node: ::RBI::Sig).void }
1561
+ def print_sig_as_block(node); end
1562
+
1563
+ # source://rbi//lib/rbi/printer.rb#692
1564
+ sig { params(node: ::RBI::Sig).void }
1565
+ def print_sig_as_line(node); end
1566
+
1567
+ # source://rbi//lib/rbi/printer.rb#662
1568
+ sig { params(node: ::RBI::SigParam, last: T::Boolean).void }
1569
+ def print_sig_param_comment_leading_space(node, last:); end
1570
+
1571
+ # source://rbi//lib/rbi/printer.rb#773
1572
+ sig { params(node: ::RBI::Sig).returns(T::Array[::String]) }
1573
+ def sig_modifiers(node); end
1574
+
1575
+ # source://rbi//lib/rbi/printer.rb#453
1576
+ sig { override.params(node: ::RBI::Arg).void }
1577
+ def visit_arg(node); end
1578
+
1579
+ # source://rbi//lib/rbi/printer.rb#258
1580
+ sig { params(node: ::RBI::Attr).void }
1581
+ def visit_attr(node); end
1582
+
1583
+ # source://rbi//lib/rbi/printer.rb#241
1584
+ sig { override.params(node: ::RBI::AttrAccessor).void }
1585
+ def visit_attr_accessor(node); end
1586
+
1587
+ # source://rbi//lib/rbi/printer.rb#247
1588
+ sig { override.params(node: ::RBI::AttrReader).void }
1589
+ def visit_attr_reader(node); end
1590
+
1591
+ # source://rbi//lib/rbi/printer.rb#253
1592
+ sig { override.params(node: ::RBI::AttrWriter).void }
1593
+ def visit_attr_writer(node); end
1594
+
1595
+ # source://rbi//lib/rbi/printer.rb#138
1596
+ sig { override.params(node: ::RBI::BlankLine).void }
1597
+ def visit_blank_line(node); end
1598
+
1599
+ # source://rbi//lib/rbi/printer.rb#373
1600
+ sig { override.params(node: ::RBI::BlockParam).void }
1601
+ def visit_block_param(node); end
1602
+
1603
+ # source://rbi//lib/rbi/printer.rb#158
1604
+ sig { override.params(node: ::RBI::Class).void }
1605
+ def visit_class(node); end
1606
+
1607
+ # source://rbi//lib/rbi/printer.rb#121
1608
+ sig { override.params(node: ::RBI::Comment).void }
1609
+ def visit_comment(node); end
1610
+
1611
+ # source://rbi//lib/rbi/printer.rb#604
1612
+ sig { override.params(node: ::RBI::ConflictTree).void }
1613
+ def visit_conflict_tree(node); end
1614
+
1615
+ # source://rbi//lib/rbi/printer.rb#231
1616
+ sig { override.params(node: ::RBI::Const).void }
1617
+ def visit_const(node); end
1618
+
1619
+ # source://rbi//lib/rbi/printer.rb#385
1620
+ sig { override.params(node: ::RBI::Extend).void }
1621
+ def visit_extend(node); end
1622
+
1623
+ # source://rbi//lib/rbi/printer.rb#573
1624
+ sig { override.params(node: ::RBI::Group).void }
1625
+ def visit_group(node); end
1626
+
1627
+ # source://rbi//lib/rbi/printer.rb#557
1628
+ sig { override.params(node: ::RBI::Helper).void }
1629
+ def visit_helper(node); end
1630
+
1631
+ # source://rbi//lib/rbi/printer.rb#379
1632
+ sig { override.params(node: ::RBI::Include).void }
1633
+ def visit_include(node); end
1634
+
1635
+ # source://rbi//lib/rbi/printer.rb#459
1636
+ sig { override.params(node: ::RBI::KwArg).void }
1637
+ def visit_kw_arg(node); end
1638
+
1639
+ # source://rbi//lib/rbi/printer.rb#361
1640
+ sig { override.params(node: ::RBI::KwOptParam).void }
1641
+ def visit_kw_opt_param(node); end
1642
+
1643
+ # source://rbi//lib/rbi/printer.rb#355
1644
+ sig { override.params(node: ::RBI::KwParam).void }
1645
+ def visit_kw_param(node); end
1646
+
1647
+ # source://rbi//lib/rbi/printer.rb#367
1648
+ sig { override.params(node: ::RBI::KwRestParam).void }
1649
+ def visit_kw_rest_param(node); end
1650
+
1651
+ # source://rbi//lib/rbi/printer.rb#287
1652
+ sig { override.params(node: ::RBI::Method).void }
1653
+ def visit_method(node); end
1654
+
1655
+ # source://rbi//lib/rbi/printer.rb#567
1656
+ sig { override.params(node: ::RBI::MixesInClassMethods).void }
1657
+ def visit_mixes_in_class_methods(node); end
1658
+
1659
+ # source://rbi//lib/rbi/printer.rb#390
1660
+ sig { params(node: ::RBI::Mixin).void }
1661
+ def visit_mixin(node); end
1662
+
1663
+ # source://rbi//lib/rbi/printer.rb#152
1664
+ sig { override.params(node: ::RBI::Module).void }
1665
+ def visit_module(node); end
1666
+
1667
+ # source://rbi//lib/rbi/printer.rb#343
1668
+ sig { override.params(node: ::RBI::OptParam).void }
1669
+ def visit_opt_param(node); end
1670
+
1671
+ # source://rbi//lib/rbi/printer.rb#420
1672
+ sig { override.params(node: ::RBI::Private).void }
1673
+ def visit_private(node); end
1674
+
1675
+ # source://rbi//lib/rbi/printer.rb#414
1676
+ sig { override.params(node: ::RBI::Protected).void }
1677
+ def visit_protected(node); end
1678
+
1679
+ # source://rbi//lib/rbi/printer.rb#408
1680
+ sig { override.params(node: ::RBI::Public).void }
1681
+ def visit_public(node); end
1682
+
1683
+ # source://rbi//lib/rbi/printer.rb#104
1684
+ sig { override.params(node: ::RBI::RBSComment).void }
1685
+ def visit_rbs_comment(node); end
1686
+
1687
+ # source://rbi//lib/rbi/printer.rb#337
1688
+ sig { override.params(node: ::RBI::ReqParam).void }
1689
+ def visit_req_param(node); end
1690
+
1691
+ # source://rbi//lib/rbi/printer.rb#594
1692
+ sig { override.params(node: ::RBI::RequiresAncestor).void }
1693
+ def visit_requires_ancestor(node); end
1694
+
1695
+ # source://rbi//lib/rbi/printer.rb#349
1696
+ sig { override.params(node: ::RBI::RestParam).void }
1697
+ def visit_rest_param(node); end
1698
+
1699
+ # source://rbi//lib/rbi/printer.rb#175
1700
+ sig { params(node: ::RBI::Scope).void }
1701
+ def visit_scope(node); end
1702
+
1703
+ # source://rbi//lib/rbi/printer.rb#220
1704
+ sig { params(node: ::RBI::Scope).void }
1705
+ def visit_scope_body(node); end
1706
+
1707
+ # source://rbi//lib/rbi/printer.rb#614
1708
+ sig { override.params(node: ::RBI::ScopeConflict).void }
1709
+ def visit_scope_conflict(node); end
1710
+
1711
+ # source://rbi//lib/rbi/printer.rb#185
1712
+ sig { params(node: ::RBI::Scope).void }
1713
+ def visit_scope_header(node); end
1714
+
1715
+ # source://rbi//lib/rbi/printer.rb#435
1716
+ sig { override.params(node: ::RBI::Send).void }
1717
+ def visit_send(node); end
1718
+
1719
+ # source://rbi//lib/rbi/printer.rb#465
1720
+ sig { override.params(node: ::RBI::Sig).void }
1721
+ def visit_sig(node); end
1722
+
1723
+ # source://rbi//lib/rbi/printer.rb#486
1724
+ sig { override.params(node: ::RBI::SigParam).void }
1725
+ def visit_sig_param(node); end
1726
+
1727
+ # source://rbi//lib/rbi/printer.rb#170
1728
+ sig { override.params(node: ::RBI::SingletonClass).void }
1729
+ def visit_singleton_class(node); end
1730
+
1731
+ # source://rbi//lib/rbi/printer.rb#164
1732
+ sig { override.params(node: ::RBI::Struct).void }
1733
+ def visit_struct(node); end
1734
+
1735
+ # source://rbi//lib/rbi/printer.rb#509
1736
+ sig { params(node: ::RBI::TStructField).void }
1737
+ def visit_t_struct_field(node); end
1738
+
1739
+ # source://rbi//lib/rbi/printer.rb#528
1740
+ sig { override.params(node: ::RBI::TEnum).void }
1741
+ def visit_tenum(node); end
1742
+
1743
+ # source://rbi//lib/rbi/printer.rb#534
1744
+ sig { override.params(node: ::RBI::TEnumBlock).void }
1745
+ def visit_tenum_block(node); end
1746
+
1747
+ # source://rbi//lib/rbi/printer.rb#144
1748
+ sig { override.params(node: ::RBI::Tree).void }
1749
+ def visit_tree(node); end
1750
+
1751
+ # source://rbi//lib/rbi/printer.rb#492
1752
+ sig { override.params(node: ::RBI::TStruct).void }
1753
+ def visit_tstruct(node); end
1754
+
1755
+ # source://rbi//lib/rbi/printer.rb#498
1756
+ sig { override.params(node: ::RBI::TStructConst).void }
1757
+ def visit_tstruct_const(node); end
1758
+
1759
+ # source://rbi//lib/rbi/printer.rb#504
1760
+ sig { override.params(node: ::RBI::TStructProp).void }
1761
+ def visit_tstruct_prop(node); end
1762
+
1763
+ # source://rbi//lib/rbi/printer.rb#547
1764
+ sig { override.params(node: ::RBI::TypeMember).void }
1765
+ def visit_type_member(node); end
1766
+
1767
+ # source://rbi//lib/rbi/printer.rb#425
1768
+ sig { params(node: ::RBI::Visibility).void }
1769
+ def visit_visibility(node); end
1770
+
1771
+ # source://rbi//lib/rbi/printer.rb#580
1772
+ sig { override.params(node: ::RBI::VisibilityGroup).void }
1773
+ def visit_visibility_group(node); end
1774
+ end
1775
+
1776
+ # source://rbi//lib/rbi/printer.rb#5
1777
+ class RBI::PrinterError < ::RBI::Error; end
1778
+
1779
+ # source://rbi//lib/rbi/model.rb#761
1780
+ class RBI::Private < ::RBI::Visibility
1781
+ # source://rbi//lib/rbi/model.rb#763
1782
+ sig do
1783
+ params(
1784
+ loc: T.nilable(::RBI::Loc),
1785
+ comments: T::Array[::RBI::Comment],
1786
+ block: T.nilable(T.proc.params(node: ::RBI::Private).void)
1787
+ ).void
1788
+ end
1789
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1790
+ end
1791
+
1792
+ # source://rbi//lib/rbi/model.rb#753
1793
+ class RBI::Protected < ::RBI::Visibility
1794
+ # source://rbi//lib/rbi/model.rb#755
1795
+ sig do
1796
+ params(
1797
+ loc: T.nilable(::RBI::Loc),
1798
+ comments: T::Array[::RBI::Comment],
1799
+ block: T.nilable(T.proc.params(node: ::RBI::Protected).void)
1800
+ ).void
1801
+ end
1802
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1803
+ end
1804
+
1805
+ # source://rbi//lib/rbi/model.rb#745
1806
+ class RBI::Public < ::RBI::Visibility
1807
+ # source://rbi//lib/rbi/model.rb#747
1808
+ sig do
1809
+ params(
1810
+ loc: T.nilable(::RBI::Loc),
1811
+ comments: T::Array[::RBI::Comment],
1812
+ block: T.nilable(T.proc.params(node: ::RBI::Public).void)
1813
+ ).void
1814
+ end
1815
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1816
+ end
1817
+
1818
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#5
1819
+ module RBI::RBS; end
1820
+
1821
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#6
1822
+ class RBI::RBS::MethodTypeTranslator
1823
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#22
1824
+ sig { params(method: ::RBI::Method).void }
1825
+ def initialize(method); end
1826
+
1827
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#19
1828
+ sig { returns(::RBI::Sig) }
1829
+ def result; end
1830
+
1831
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#28
1832
+ sig { params(type: ::RBS::MethodType).void }
1833
+ def visit(type); end
1834
+
1835
+ private
1836
+
1837
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#100
1838
+ sig { params(param: ::RBS::Types::Function::Param, index: ::Integer).returns(::RBI::SigParam) }
1839
+ def translate_function_param(param, index); end
1840
+
1841
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#115
1842
+ sig { params(type: T.untyped).returns(::RBI::Type) }
1843
+ def translate_type(type); end
1844
+
1845
+ # @raise [Error]
1846
+ #
1847
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#42
1848
+ sig { params(type: ::RBS::Types::Block).void }
1849
+ def visit_block_type(type); end
1850
+
1851
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#57
1852
+ sig { params(type: ::RBS::Types::Function).void }
1853
+ def visit_function_type(type); end
1854
+
1855
+ class << self
1856
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#11
1857
+ sig { params(method: ::RBI::Method, type: ::RBS::MethodType).returns(::RBI::Sig) }
1858
+ def translate(method, type); end
1859
+ end
1860
+ end
1861
+
1862
+ # source://rbi//lib/rbi/rbs/method_type_translator.rb#7
1863
+ class RBI::RBS::MethodTypeTranslator::Error < ::RBI::Error; end
1864
+
1865
+ # source://rbi//lib/rbi/rbs/type_translator.rb#6
1866
+ class RBI::RBS::TypeTranslator
1867
+ class << self
1868
+ # source://rbi//lib/rbi/rbs/type_translator.rb#37
1869
+ sig do
1870
+ params(
1871
+ type: T.any(::RBS::Types::Alias, ::RBS::Types::Bases::Any, ::RBS::Types::Bases::Bool, ::RBS::Types::Bases::Bottom, ::RBS::Types::Bases::Class, ::RBS::Types::Bases::Instance, ::RBS::Types::Bases::Nil, ::RBS::Types::Bases::Self, ::RBS::Types::Bases::Top, ::RBS::Types::Bases::Void, ::RBS::Types::ClassInstance, ::RBS::Types::ClassSingleton, ::RBS::Types::Function, ::RBS::Types::Interface, ::RBS::Types::Intersection, ::RBS::Types::Literal, ::RBS::Types::Optional, ::RBS::Types::Proc, ::RBS::Types::Record, ::RBS::Types::Tuple, ::RBS::Types::Union, ::RBS::Types::UntypedFunction, ::RBS::Types::Variable)
1872
+ ).returns(::RBI::Type)
1873
+ end
1874
+ def translate(type); end
1875
+
1876
+ private
1877
+
1878
+ # source://rbi//lib/rbi/rbs/type_translator.rb#99
1879
+ sig { params(type: ::RBS::Types::ClassInstance).returns(::RBI::Type) }
1880
+ def translate_class_instance(type); end
1881
+
1882
+ # source://rbi//lib/rbi/rbs/type_translator.rb#107
1883
+ sig { params(type: ::RBS::Types::Function).returns(::RBI::Type) }
1884
+ def translate_function(type); end
1885
+
1886
+ # source://rbi//lib/rbi/rbs/type_translator.rb#154
1887
+ sig { params(type_name: ::String).returns(::String) }
1888
+ def translate_t_generic_type(type_name); end
1889
+ end
1890
+ end
1891
+
1892
+ # A comment representing a RBS type prefixed with `#:`
1893
+ #
1894
+ # source://rbi//lib/rbi/model.rb#81
1895
+ class RBI::RBSComment < ::RBI::Comment
1896
+ # source://rbi//lib/rbi/model.rb#83
1897
+ sig { params(other: ::Object).returns(T::Boolean) }
1898
+ def ==(other); end
1899
+ end
1900
+
1901
+ # source://rbi//lib/rbi/rbs_printer.rb#5
1902
+ class RBI::RBSPrinter < ::RBI::Visitor
1903
+ # source://rbi//lib/rbi/rbs_printer.rb#21
1904
+ sig do
1905
+ params(
1906
+ out: T.any(::IO, ::StringIO),
1907
+ indent: ::Integer,
1908
+ print_locs: T::Boolean,
1909
+ positional_names: T::Boolean
1910
+ ).void
1911
+ end
1912
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end
1913
+
1914
+ # source://rbi//lib/rbi/rbs_printer.rb#15
1915
+ sig { returns(::Integer) }
1916
+ def current_indent; end
1917
+
1918
+ # source://rbi//lib/rbi/rbs_printer.rb#39
1919
+ sig { void }
1920
+ def dedent; end
1921
+
1922
+ # @return [Boolean]
1923
+ #
1924
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1925
+ def in_visibility_group; end
1926
+
1927
+ # @return [Boolean]
1928
+ #
1929
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1930
+ def in_visibility_group=(_arg0); end
1931
+
1932
+ # Printing
1933
+ #
1934
+ # source://rbi//lib/rbi/rbs_printer.rb#34
1935
+ sig { void }
1936
+ def indent; end
1937
+
1938
+ # source://rbi//lib/rbi/rbs_printer.rb#18
1939
+ sig { returns(T::Boolean) }
1940
+ def positional_names; end
1941
+
1942
+ # @return [Boolean]
1943
+ #
1944
+ # source://rbi//lib/rbi/rbs_printer.rb#18
1945
+ def positional_names=(_arg0); end
1946
+
1947
+ # source://rbi//lib/rbi/rbs_printer.rb#12
1948
+ sig { returns(T.nilable(::RBI::Node)) }
1949
+ def previous_node; end
1950
+
1951
+ # Print a string without indentation nor `\n` at the end.
1952
+ #
1953
+ # source://rbi//lib/rbi/rbs_printer.rb#45
1954
+ sig { params(string: ::String).void }
1955
+ def print(string); end
1956
+
1957
+ # source://rbi//lib/rbi/rbs_printer.rb#292
1958
+ sig { params(node: ::RBI::Attr, sig: ::RBI::Sig).void }
1959
+ def print_attr_sig(node, sig); end
1960
+
1961
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1962
+ sig { returns(T::Boolean) }
1963
+ def print_locs; end
1964
+
1965
+ # @return [Boolean]
1966
+ #
1967
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1968
+ def print_locs=(_arg0); end
1969
+
1970
+ # source://rbi//lib/rbi/rbs_printer.rb#381
1971
+ sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
1972
+ def print_method_sig(node, sig); end
1973
+
1974
+ # Print a string with indentation and `\n` at the end.
1975
+ #
1976
+ # source://rbi//lib/rbi/rbs_printer.rb#65
1977
+ sig { params(string: ::String).void }
1978
+ def printl(string); end
1979
+
1980
+ # Print a string without indentation but with a `\n` at the end.
1981
+ #
1982
+ # source://rbi//lib/rbi/rbs_printer.rb#51
1983
+ sig { params(string: T.nilable(::String)).void }
1984
+ def printn(string = T.unsafe(nil)); end
1985
+
1986
+ # Print a string with indentation but without a `\n` at the end.
1987
+ #
1988
+ # source://rbi//lib/rbi/rbs_printer.rb#58
1989
+ sig { params(string: T.nilable(::String)).void }
1990
+ def printt(string = T.unsafe(nil)); end
1991
+
1992
+ # source://rbi//lib/rbi/rbs_printer.rb#72
1993
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1994
+ def visit_all(nodes); end
1995
+
1996
+ # source://rbi//lib/rbi/rbs_printer.rb#578
1997
+ sig { override.params(node: ::RBI::Arg).void }
1998
+ def visit_arg(node); end
1999
+
2000
+ # source://rbi//lib/rbi/rbs_printer.rb#260
2001
+ sig { params(node: ::RBI::Attr).void }
2002
+ def visit_attr(node); end
2003
+
2004
+ # source://rbi//lib/rbi/rbs_printer.rb#243
2005
+ sig { override.params(node: ::RBI::AttrAccessor).void }
2006
+ def visit_attr_accessor(node); end
2007
+
2008
+ # source://rbi//lib/rbi/rbs_printer.rb#249
2009
+ sig { override.params(node: ::RBI::AttrReader).void }
2010
+ def visit_attr_reader(node); end
2011
+
2012
+ # source://rbi//lib/rbi/rbs_printer.rb#255
2013
+ sig { override.params(node: ::RBI::AttrWriter).void }
2014
+ def visit_attr_writer(node); end
2015
+
2016
+ # source://rbi//lib/rbi/rbs_printer.rb#114
2017
+ sig { override.params(node: ::RBI::BlankLine).void }
2018
+ def visit_blank_line(node); end
2019
+
2020
+ # source://rbi//lib/rbi/rbs_printer.rb#510
2021
+ sig { override.params(node: ::RBI::BlockParam).void }
2022
+ def visit_block_param(node); end
2023
+
2024
+ # source://rbi//lib/rbi/rbs_printer.rb#134
2025
+ sig { override.params(node: ::RBI::Class).void }
2026
+ def visit_class(node); end
2027
+
2028
+ # source://rbi//lib/rbi/rbs_printer.rb#97
2029
+ sig { override.params(node: ::RBI::Comment).void }
2030
+ def visit_comment(node); end
2031
+
2032
+ # source://rbi//lib/rbi/rbs_printer.rb#711
2033
+ sig { override.params(node: ::RBI::ConflictTree).void }
2034
+ def visit_conflict_tree(node); end
2035
+
2036
+ # source://rbi//lib/rbi/rbs_printer.rb#227
2037
+ sig { override.params(node: ::RBI::Const).void }
2038
+ def visit_const(node); end
2039
+
2040
+ # source://rbi//lib/rbi/rbs_printer.rb#522
2041
+ sig { override.params(node: ::RBI::Extend).void }
2042
+ def visit_extend(node); end
2043
+
2044
+ # source://rbi//lib/rbi/rbs_printer.rb#84
2045
+ sig { override.params(file: ::RBI::File).void }
2046
+ def visit_file(file); end
2047
+
2048
+ # source://rbi//lib/rbi/rbs_printer.rb#684
2049
+ sig { override.params(node: ::RBI::Group).void }
2050
+ def visit_group(node); end
2051
+
2052
+ # source://rbi//lib/rbi/rbs_printer.rb#672
2053
+ sig { override.params(node: ::RBI::Helper).void }
2054
+ def visit_helper(node); end
2055
+
2056
+ # source://rbi//lib/rbi/rbs_printer.rb#516
2057
+ sig { override.params(node: ::RBI::Include).void }
2058
+ def visit_include(node); end
2059
+
2060
+ # source://rbi//lib/rbi/rbs_printer.rb#584
2061
+ sig { override.params(node: ::RBI::KwArg).void }
2062
+ def visit_kw_arg(node); end
2063
+
2064
+ # source://rbi//lib/rbi/rbs_printer.rb#498
2065
+ sig { override.params(node: ::RBI::KwOptParam).void }
2066
+ def visit_kw_opt_param(node); end
2067
+
2068
+ # source://rbi//lib/rbi/rbs_printer.rb#492
2069
+ sig { override.params(node: ::RBI::KwParam).void }
2070
+ def visit_kw_param(node); end
2071
+
2072
+ # source://rbi//lib/rbi/rbs_printer.rb#504
2073
+ sig { override.params(node: ::RBI::KwRestParam).void }
2074
+ def visit_kw_rest_param(node); end
2075
+
2076
+ # source://rbi//lib/rbi/rbs_printer.rb#315
2077
+ sig { override.params(node: ::RBI::Method).void }
2078
+ def visit_method(node); end
2079
+
2080
+ # source://rbi//lib/rbi/rbs_printer.rb#678
2081
+ sig { override.params(node: ::RBI::MixesInClassMethods).void }
2082
+ def visit_mixes_in_class_methods(node); end
2083
+
2084
+ # source://rbi//lib/rbi/rbs_printer.rb#527
2085
+ sig { params(node: ::RBI::Mixin).void }
2086
+ def visit_mixin(node); end
2087
+
2088
+ # source://rbi//lib/rbi/rbs_printer.rb#128
2089
+ sig { override.params(node: ::RBI::Module).void }
2090
+ def visit_module(node); end
2091
+
2092
+ # source://rbi//lib/rbi/rbs_printer.rb#472
2093
+ sig { override.params(node: ::RBI::OptParam).void }
2094
+ def visit_opt_param(node); end
2095
+
2096
+ # source://rbi//lib/rbi/rbs_printer.rb#557
2097
+ sig { override.params(node: ::RBI::Private).void }
2098
+ def visit_private(node); end
2099
+
2100
+ # source://rbi//lib/rbi/rbs_printer.rb#551
2101
+ sig { override.params(node: ::RBI::Protected).void }
2102
+ def visit_protected(node); end
2103
+
2104
+ # source://rbi//lib/rbi/rbs_printer.rb#545
2105
+ sig { override.params(node: ::RBI::Public).void }
2106
+ def visit_public(node); end
2107
+
2108
+ # source://rbi//lib/rbi/rbs_printer.rb#462
2109
+ sig { override.params(node: ::RBI::ReqParam).void }
2110
+ def visit_req_param(node); end
2111
+
2112
+ # source://rbi//lib/rbi/rbs_printer.rb#705
2113
+ sig { override.params(node: ::RBI::RequiresAncestor).void }
2114
+ def visit_requires_ancestor(node); end
2115
+
2116
+ # source://rbi//lib/rbi/rbs_printer.rb#482
2117
+ sig { override.params(node: ::RBI::RestParam).void }
2118
+ def visit_rest_param(node); end
2119
+
2120
+ # source://rbi//lib/rbi/rbs_printer.rb#151
2121
+ sig { params(node: ::RBI::Scope).void }
2122
+ def visit_scope(node); end
2123
+
2124
+ # source://rbi//lib/rbi/rbs_printer.rb#214
2125
+ sig { params(node: ::RBI::Scope).void }
2126
+ def visit_scope_body(node); end
2127
+
2128
+ # source://rbi//lib/rbi/rbs_printer.rb#721
2129
+ sig { override.params(node: ::RBI::ScopeConflict).void }
2130
+ def visit_scope_conflict(node); end
2131
+
2132
+ # source://rbi//lib/rbi/rbs_printer.rb#161
2133
+ sig { params(node: ::RBI::Scope).void }
2134
+ def visit_scope_header(node); end
2135
+
2136
+ # source://rbi//lib/rbi/rbs_printer.rb#572
2137
+ sig { override.params(node: ::RBI::Send).void }
2138
+ def visit_send(node); end
2139
+
2140
+ # source://rbi//lib/rbi/rbs_printer.rb#443
2141
+ sig { params(node: ::RBI::Sig).void }
2142
+ def visit_sig(node); end
2143
+
2144
+ # source://rbi//lib/rbi/rbs_printer.rb#456
2145
+ sig { params(node: ::RBI::SigParam).void }
2146
+ def visit_sig_param(node); end
2147
+
2148
+ # source://rbi//lib/rbi/rbs_printer.rb#146
2149
+ sig { override.params(node: ::RBI::SingletonClass).void }
2150
+ def visit_singleton_class(node); end
2151
+
2152
+ # source://rbi//lib/rbi/rbs_printer.rb#140
2153
+ sig { override.params(node: ::RBI::Struct).void }
2154
+ def visit_struct(node); end
2155
+
2156
+ # source://rbi//lib/rbi/rbs_printer.rb#641
2157
+ sig { override.params(node: ::RBI::TEnum).void }
2158
+ def visit_tenum(node); end
2159
+
2160
+ # source://rbi//lib/rbi/rbs_printer.rb#647
2161
+ sig { override.params(node: ::RBI::TEnumBlock).void }
2162
+ def visit_tenum_block(node); end
2163
+
2164
+ # source://rbi//lib/rbi/rbs_printer.rb#120
2165
+ sig { override.params(node: ::RBI::Tree).void }
2166
+ def visit_tree(node); end
2167
+
2168
+ # source://rbi//lib/rbi/rbs_printer.rb#590
2169
+ sig { override.params(node: ::RBI::TStruct).void }
2170
+ def visit_tstruct(node); end
2171
+
2172
+ # source://rbi//lib/rbi/rbs_printer.rb#625
2173
+ sig { override.params(node: ::RBI::TStructConst).void }
2174
+ def visit_tstruct_const(node); end
2175
+
2176
+ # source://rbi//lib/rbi/rbs_printer.rb#633
2177
+ sig { override.params(node: ::RBI::TStructProp).void }
2178
+ def visit_tstruct_prop(node); end
2179
+
2180
+ # source://rbi//lib/rbi/rbs_printer.rb#666
2181
+ sig { override.params(node: ::RBI::TypeMember).void }
2182
+ def visit_type_member(node); end
2183
+
2184
+ # source://rbi//lib/rbi/rbs_printer.rb#562
2185
+ sig { params(node: ::RBI::Visibility).void }
2186
+ def visit_visibility(node); end
2187
+
2188
+ # source://rbi//lib/rbi/rbs_printer.rb#691
2189
+ sig { override.params(node: ::RBI::VisibilityGroup).void }
2190
+ def visit_visibility_group(node); end
2191
+
2192
+ private
2193
+
2194
+ # source://rbi//lib/rbi/rbs_printer.rb#824
2195
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
2196
+ def oneline?(node); end
2197
+
2198
+ # Parse a string containing a `T.let(x, X)` and extract the type
2199
+ #
2200
+ # Returns `nil` is the string is not a `T.let`.
2201
+ #
2202
+ # source://rbi//lib/rbi/rbs_printer.rb#858
2203
+ sig { params(code: T.nilable(::String)).returns(T.nilable(::String)) }
2204
+ def parse_t_let(code); end
2205
+
2206
+ # source://rbi//lib/rbi/rbs_printer.rb#846
2207
+ sig { params(type: T.any(::RBI::Type, ::String)).returns(::RBI::Type) }
2208
+ def parse_type(type); end
2209
+
2210
+ # source://rbi//lib/rbi/rbs_printer.rb#737
2211
+ sig { params(node: ::RBI::Node).void }
2212
+ def print_blank_line_before(node); end
2213
+
2214
+ # source://rbi//lib/rbi/rbs_printer.rb#756
2215
+ sig { params(node: ::RBI::Node).void }
2216
+ def print_loc(node); end
2217
+
2218
+ # source://rbi//lib/rbi/rbs_printer.rb#798
2219
+ sig { params(node: ::RBI::Param, last: T::Boolean).void }
2220
+ def print_param_comment_leading_space(node, last:); end
2221
+
2222
+ # source://rbi//lib/rbi/rbs_printer.rb#762
2223
+ sig { params(node: ::RBI::Method, param: ::RBI::SigParam).void }
2224
+ def print_sig_param(node, param); end
2225
+
2226
+ # source://rbi//lib/rbi/rbs_printer.rb#816
2227
+ sig { params(node: ::RBI::SigParam, last: T::Boolean).void }
2228
+ def print_sig_param_comment_leading_space(node, last:); end
2229
+ end
2230
+
2231
+ # source://rbi//lib/rbi/rbs_printer.rb#6
2232
+ class RBI::RBSPrinter::Error < ::RBI::Error; end
2233
+
2234
+ # source://rbi//lib/rbi/model.rb#5
2235
+ class RBI::ReplaceNodeError < ::RBI::Error; end
2236
+
2237
+ # source://rbi//lib/rbi/model.rb#532
2238
+ class RBI::ReqParam < ::RBI::Param
2239
+ # source://rbi//lib/rbi/model.rb#534
2240
+ sig do
2241
+ params(
2242
+ name: ::String,
2243
+ loc: T.nilable(::RBI::Loc),
2244
+ comments: T::Array[::RBI::Comment],
2245
+ block: T.nilable(T.proc.params(node: ::RBI::ReqParam).void)
2246
+ ).void
2247
+ end
2248
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2249
+
2250
+ # source://rbi//lib/rbi/model.rb#540
2251
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2252
+ def ==(other); end
2253
+ end
2254
+
2255
+ # source://rbi//lib/rbi/model.rb#1100
2256
+ class RBI::RequiresAncestor < ::RBI::NodeWithComments
2257
+ include ::RBI::Indexable
2258
+
2259
+ # source://rbi//lib/rbi/model.rb#1105
2260
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
2261
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2262
+
2263
+ # source://rbi//lib/rbi/index.rb#159
2264
+ sig { override.returns(T::Array[::String]) }
2265
+ def index_ids; end
2266
+
2267
+ # source://rbi//lib/rbi/model.rb#1102
2268
+ sig { returns(::String) }
2269
+ def name; end
2270
+
2271
+ # source://rbi//lib/rbi/model.rb#1112
2272
+ sig { override.returns(::String) }
2273
+ def to_s; end
2274
+ end
2275
+
2276
+ # source://rbi//lib/rbi/model.rb#562
2277
+ class RBI::RestParam < ::RBI::Param
2278
+ # source://rbi//lib/rbi/model.rb#564
2279
+ sig do
2280
+ params(
2281
+ name: ::String,
2282
+ loc: T.nilable(::RBI::Loc),
2283
+ comments: T::Array[::RBI::Comment],
2284
+ block: T.nilable(T.proc.params(node: ::RBI::RestParam).void)
2285
+ ).void
2286
+ end
2287
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2288
+
2289
+ # source://rbi//lib/rbi/model.rb#576
2290
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2291
+ def ==(other); end
2292
+
2293
+ # source://rbi//lib/rbi/model.rb#571
2294
+ sig { override.returns(::String) }
2295
+ def to_s; end
2296
+ end
2297
+
2298
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#5
2299
+ module RBI::Rewriters; end
2300
+
2301
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#6
2302
+ class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor
2303
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#8
2304
+ sig { params(with_todo_comment: T::Boolean).void }
2305
+ def initialize(with_todo_comment: T.unsafe(nil)); end
2306
+
2307
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#15
2308
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2309
+ def visit(node); end
2310
+
2311
+ private
2312
+
2313
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#29
2314
+ sig { params(attr: ::RBI::Attr).void }
2315
+ def add_attr_sig(attr); end
2316
+
2317
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#44
2318
+ sig { params(method: ::RBI::Method).void }
2319
+ def add_method_sig(method); end
2320
+
2321
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#55
2322
+ sig { params(node: ::RBI::NodeWithComments).void }
2323
+ def add_todo_comment(node); end
2324
+ end
2325
+
2326
+ # source://rbi//lib/rbi/rewriters/annotate.rb#6
2327
+ class RBI::Rewriters::Annotate < ::RBI::Visitor
2328
+ # source://rbi//lib/rbi/rewriters/annotate.rb#8
2329
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
2330
+ def initialize(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
2331
+
2332
+ # source://rbi//lib/rbi/rewriters/annotate.rb#17
2333
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2334
+ def visit(node); end
2335
+
2336
+ private
2337
+
2338
+ # source://rbi//lib/rbi/rewriters/annotate.rb#30
2339
+ sig { params(node: ::RBI::NodeWithComments).void }
2340
+ def annotate_node(node); end
2341
+
2342
+ # source://rbi//lib/rbi/rewriters/annotate.rb#37
2343
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
2344
+ def root?(node); end
2345
+ end
2346
+
2347
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#22
2348
+ class RBI::Rewriters::AttrToMethods < ::RBI::Visitor
2349
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#25
2350
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2351
+ def visit(node); end
2352
+
2353
+ private
2354
+
2355
+ # @raise [ReplaceNodeError]
2356
+ #
2357
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#38
2358
+ sig { params(node: ::RBI::Node, with: T::Array[::RBI::Node]).void }
2359
+ def replace(node, with:); end
2360
+ end
2361
+
2362
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#6
2363
+ class RBI::Rewriters::Deannotate < ::RBI::Visitor
2364
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#8
2365
+ sig { params(annotation: ::String).void }
2366
+ def initialize(annotation); end
2367
+
2368
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#15
2369
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2370
+ def visit(node); end
2371
+
2372
+ private
2373
+
2374
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#26
2375
+ sig { params(node: ::RBI::NodeWithComments).void }
2376
+ def deannotate_node(node); end
2377
+ end
2378
+
2379
+ # Take a gem version and filter out all RBI that is not relevant to that version based on @version annotations
2380
+ # in comments. As an example:
2381
+ #
2382
+ # ~~~rb
2383
+ # tree = Parser.parse_string(<<~RBI)
2384
+ # class Foo
2385
+ # # @version > 0.3.0
2386
+ # def bar
2387
+ # end
2388
+ #
2389
+ # # @version <= 0.3.0
2390
+ # def bar(arg1)
2391
+ # end
2392
+ # end
2393
+ # RBI
2394
+ #
2395
+ # Rewriters::FilterVersions.filter(tree, Gem::Version.new("0.3.1"))
2396
+ #
2397
+ # assert_equal(<<~RBI, tree.string)
2398
+ # class Foo
2399
+ # # @version > 0.3.0
2400
+ # def bar
2401
+ # end
2402
+ # end
2403
+ # RBI
2404
+ # ~~~
2405
+ #
2406
+ # Supported operators:
2407
+ # - equals `=`
2408
+ # - not equals `!=`
2409
+ # - greater than `>`
2410
+ # - greater than or equal to `>=`
2411
+ # - less than `<`
2412
+ # - less than or equal to `<=`
2413
+ # - pessimistic or twiddle-wakka`~>`
2414
+ #
2415
+ # And/or logic:
2416
+ # - "And" logic: put multiple versions on the same line
2417
+ # - e.g. `@version > 0.3.0, <1.0.0` means version must be greater than 0.3.0 AND less than 1.0.0
2418
+ # - "Or" logic: put multiple versions on subsequent lines
2419
+ # - e.g. the following means version must be less than 0.3.0 OR greater than 1.0.0
2420
+ # ```
2421
+ # # @version < 0.3.0
2422
+ # # @version > 1.0.0
2423
+ # ```
2424
+ # Prerelease versions:
2425
+ # - Prerelease versions are considered less than their non-prerelease counterparts
2426
+ # - e.g. `0.4.0-prerelease` is less than `0.4.0`
2427
+ #
2428
+ # RBI with no versions:
2429
+ # - RBI with no version annotations are automatically counted towards ALL versions
2430
+ #
2431
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#57
2432
+ class RBI::Rewriters::FilterVersions < ::RBI::Visitor
2433
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#69
2434
+ sig { params(version: ::Gem::Version).void }
2435
+ def initialize(version); end
2436
+
2437
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#76
2438
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2439
+ def visit(node); end
2440
+
2441
+ class << self
2442
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#62
2443
+ sig { params(tree: ::RBI::Tree, version: ::Gem::Version).void }
2444
+ def filter(tree, version); end
2445
+ end
2446
+ end
2447
+
2448
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#58
2449
+ RBI::Rewriters::FilterVersions::VERSION_PREFIX = T.let(T.unsafe(nil), String)
2450
+
2451
+ # Rewrite non-singleton methods inside singleton classes to singleton methods
2452
+ #
2453
+ # Example:
2454
+ # ~~~rb
2455
+ # class << self
2456
+ # def m1; end
2457
+ # def self.m2; end
2458
+ #
2459
+ # class << self
2460
+ # def m3; end
2461
+ # end
2462
+ # end
2463
+ # ~~~
2464
+ #
2465
+ # will be rewritten to:
2466
+ #
2467
+ # ~~~rb
2468
+ # def self.m1; end
2469
+ #
2470
+ # class << self
2471
+ # def self.m2; end
2472
+ # def self.m3; end
2473
+ # end
2474
+ # ~~~
2475
+ #
2476
+ # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#30
2477
+ class RBI::Rewriters::FlattenSingletonMethods < ::RBI::Visitor
2478
+ # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#33
2479
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2480
+ def visit(node); end
2481
+ end
2482
+
2483
+ # Flattens visibility nodes into method nodes
2484
+ #
2485
+ # Example:
2486
+ # ~~~rb
2487
+ # class A
2488
+ # def m1; end
2489
+ # private
2490
+ # def m2; end
2491
+ # def m3; end
2492
+ # end
2493
+ # ~~~
2494
+ #
2495
+ # will be transformed into:
2496
+ #
2497
+ # ~~~rb
2498
+ # class A
2499
+ # def m1; end
2500
+ # private def m2; end
2501
+ # private def m3; end
2502
+ # end
2503
+ # ~~~
2504
+ #
2505
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#27
2506
+ class RBI::Rewriters::FlattenVisibilities < ::RBI::Visitor
2507
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#29
2508
+ sig { void }
2509
+ def initialize; end
2510
+
2511
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#37
2512
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2513
+ def visit(node); end
2514
+ end
2515
+
2516
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#8
2517
+ class RBI::Rewriters::GroupNodes < ::RBI::Visitor
2518
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#11
2519
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2520
+ def visit(node); end
2521
+
2522
+ private
2523
+
2524
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#35
2525
+ sig { params(node: ::RBI::Node).returns(::RBI::Group::Kind) }
2526
+ def group_kind(node); end
2527
+ end
2528
+
2529
+ # Merge two RBI trees together
2530
+ #
2531
+ # Be this `Tree`:
2532
+ # ~~~rb
2533
+ # class Foo
2534
+ # attr_accessor :a
2535
+ # def m; end
2536
+ # C = 10
2537
+ # end
2538
+ # ~~~
2539
+ #
2540
+ # Merged with this one:
2541
+ # ~~~rb
2542
+ # class Foo
2543
+ # attr_reader :a
2544
+ # def m(x); end
2545
+ # C = 10
2546
+ # end
2547
+ # ~~~
2548
+ #
2549
+ # Compatible definitions are merged together while incompatible definitions are moved into a `ConflictTree`:
2550
+ # ~~~rb
2551
+ # class Foo
2552
+ # <<<<<<< left
2553
+ # attr_accessor :a
2554
+ # def m; end
2555
+ # =======
2556
+ # attr_reader :a
2557
+ # def m(x); end
2558
+ # >>>>>>> right
2559
+ # C = 10
2560
+ # end
2561
+ # ~~~
2562
+ #
2563
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#39
2564
+ class RBI::Rewriters::Merge
2565
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#66
2566
+ sig { params(left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void }
2567
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2568
+
2569
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#75
2570
+ sig { params(tree: ::RBI::Tree).void }
2571
+ def merge(tree); end
2572
+
2573
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#63
2574
+ sig { returns(::RBI::MergeTree) }
2575
+ def tree; end
2576
+
2577
+ class << self
2578
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#50
2579
+ sig do
2580
+ params(
2581
+ left: ::RBI::Tree,
2582
+ right: ::RBI::Tree,
2583
+ left_name: ::String,
2584
+ right_name: ::String,
2585
+ keep: ::RBI::Rewriters::Merge::Keep
2586
+ ).returns(::RBI::MergeTree)
2587
+ end
2588
+ def merge_trees(left, right, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2589
+ end
2590
+ end
2591
+
2592
+ # Used for logging / error displaying purpose
2593
+ #
2594
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#82
2595
+ class RBI::Rewriters::Merge::Conflict < ::T::Struct
2596
+ const :left, ::RBI::Node
2597
+ const :right, ::RBI::Node
2598
+ const :left_name, ::String
2599
+ const :right_name, ::String
2600
+
2601
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#89
2602
+ sig { returns(::String) }
2603
+ def to_s; end
2604
+
2605
+ class << self
2606
+ # source://sorbet-runtime/0.5.11911/lib/types/struct.rb#13
2607
+ def inherited(s); end
2608
+ end
2609
+ end
2610
+
2611
+ # Merge adjacent conflict trees
2612
+ #
2613
+ # Transform this:
2614
+ # ~~~rb
2615
+ # class Foo
2616
+ # <<<<<<< left
2617
+ # def m1; end
2618
+ # =======
2619
+ # def m1(a); end
2620
+ # >>>>>>> right
2621
+ # <<<<<<< left
2622
+ # def m2(a); end
2623
+ # =======
2624
+ # def m2; end
2625
+ # >>>>>>> right
2626
+ # end
2627
+ # ~~~
2628
+ #
2629
+ # Into this:
2630
+ # ~~~rb
2631
+ # class Foo
2632
+ # <<<<<<< left
2633
+ # def m1; end
2634
+ # def m2(a); end
2635
+ # =======
2636
+ # def m1(a); end
2637
+ # def m2; end
2638
+ # >>>>>>> right
2639
+ # end
2640
+ # ~~~
2641
+ #
2642
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#238
2643
+ class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
2644
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#241
2645
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2646
+ def visit(node); end
2647
+
2648
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#247
2649
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
2650
+ def visit_all(nodes); end
2651
+
2652
+ private
2653
+
2654
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#268
2655
+ sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void }
2656
+ def merge_conflict_trees(left, right); end
2657
+ end
2658
+
2659
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#40
2660
+ class RBI::Rewriters::Merge::Keep < ::T::Enum
2661
+ enums do
2662
+ LEFT = new
2663
+ NONE = new
2664
+ RIGHT = new
2665
+ end
2666
+ end
2667
+
2668
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#94
2669
+ class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
2670
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#99
2671
+ sig do
2672
+ params(
2673
+ output: ::RBI::Tree,
2674
+ left_name: ::String,
2675
+ right_name: ::String,
2676
+ keep: ::RBI::Rewriters::Merge::Keep
2677
+ ).void
2678
+ end
2679
+ def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2680
+
2681
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#96
2682
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
2683
+ def conflicts; end
2684
+
2685
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#112
2686
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2687
+ def visit(node); end
2688
+
2689
+ private
2690
+
2691
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#161
2692
+ sig { returns(::RBI::Tree) }
2693
+ def current_scope; end
2694
+
2695
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#178
2696
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void }
2697
+ def make_conflict_scope(left, right); end
2698
+
2699
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#185
2700
+ sig { params(left: ::RBI::Node, right: ::RBI::Node).void }
2701
+ def make_conflict_tree(left, right); end
2702
+
2703
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#166
2704
+ sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) }
2705
+ def previous_definition(node); end
2706
+
2707
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#197
2708
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) }
2709
+ def replace_scope_header(left, right); end
2710
+ end
2711
+
2712
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#6
2713
+ class RBI::Rewriters::NestNonPublicMembers < ::RBI::Visitor
2714
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#9
2715
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2716
+ def visit(node); end
2717
+ end
2718
+
2719
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#6
2720
+ class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor
2721
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#9
2722
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2723
+ def visit(node); end
2724
+ end
2725
+
2726
+ # This rewriter moves top-level members into a top-level Object class
2727
+ #
2728
+ # Example:
2729
+ # ~~~rb
2730
+ # def foo; end
2731
+ # attr_reader :bar
2732
+ # ~~~
2733
+ #
2734
+ # will be rewritten to:
2735
+ #
2736
+ # ~~~rb
2737
+ # class Object
2738
+ # def foo; end
2739
+ # attr_reader :bar
2740
+ # end
2741
+ # ~~~
2742
+ #
2743
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#22
2744
+ class RBI::Rewriters::NestTopLevelMembers < ::RBI::Visitor
2745
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#24
2746
+ sig { void }
2747
+ def initialize; end
2748
+
2749
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#32
2750
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2751
+ def visit(node); end
2752
+ end
2753
+
2754
+ # Remove all definitions existing in the index from the current tree
2755
+ #
2756
+ # Let's create an `Index` from two different `Tree`s:
2757
+ # ~~~rb
2758
+ # tree1 = Parse.parse_string(<<~RBI)
2759
+ # class Foo
2760
+ # def foo; end
2761
+ # end
2762
+ # RBI
2763
+ #
2764
+ # tree2 = Parse.parse_string(<<~RBI)
2765
+ # FOO = 10
2766
+ # RBI
2767
+ #
2768
+ # index = Index.index(tree1, tree2)
2769
+ # ~~~
2770
+ #
2771
+ # We can use `RemoveKnownDefinitions` to remove the definitions found in the `index` from the `Tree` to clean:
2772
+ # ~~~rb
2773
+ # tree_to_clean = Parser.parse_string(<<~RBI)
2774
+ # class Foo
2775
+ # def foo; end
2776
+ # def bar; end
2777
+ # end
2778
+ # FOO = 10
2779
+ # BAR = 42
2780
+ # RBI
2781
+ #
2782
+ # cleaned_tree, operations = RemoveKnownDefinitions.remove(tree_to_clean, index)
2783
+ #
2784
+ # assert_equal(<<~RBI, cleaned_tree)
2785
+ # class Foo
2786
+ # def bar; end
2787
+ # end
2788
+ # BAR = 42
2789
+ # RBI
2790
+ #
2791
+ # assert_equal(<<~OPERATIONS, operations.join("\n"))
2792
+ # Deleted ::Foo#foo at -:2:2-2-16 (duplicate from -:2:2-2:16)
2793
+ # Deleted ::FOO at -:5:0-5:8 (duplicate from -:1:0-1:8)
2794
+ # OPERATIONS
2795
+ # ~~~
2796
+ #
2797
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#48
2798
+ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
2799
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#53
2800
+ sig { params(index: ::RBI::Index).void }
2801
+ def initialize(index); end
2802
+
2803
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#50
2804
+ sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) }
2805
+ def operations; end
2806
+
2807
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#75
2808
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2809
+ def visit(node); end
2810
+
2811
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#69
2812
+ sig { params(nodes: T::Array[::RBI::Node]).void }
2813
+ def visit_all(nodes); end
2814
+
2815
+ private
2816
+
2817
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#103
2818
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) }
2819
+ def can_delete_node?(node, previous); end
2820
+
2821
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#121
2822
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).void }
2823
+ def delete_node(node, previous); end
2824
+
2825
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#94
2826
+ sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) }
2827
+ def previous_definition_for(node); end
2828
+
2829
+ class << self
2830
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#61
2831
+ sig do
2832
+ params(
2833
+ tree: ::RBI::Tree,
2834
+ index: ::RBI::Index
2835
+ ).returns([::RBI::Tree, T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]])
2836
+ end
2837
+ def remove(tree, index); end
2838
+ end
2839
+ end
2840
+
2841
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#126
2842
+ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
2843
+ const :deleted_node, ::RBI::Node
2844
+ const :duplicate_of, ::RBI::Node
2845
+
2846
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#131
2847
+ sig { returns(::String) }
2848
+ def to_s; end
2849
+
2850
+ class << self
2851
+ # source://sorbet-runtime/0.5.11911/lib/types/struct.rb#13
2852
+ def inherited(s); end
2853
+ end
2854
+ end
2855
+
2856
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#6
2857
+ class RBI::Rewriters::SortNodes < ::RBI::Visitor
2858
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#9
2859
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2860
+ def visit(node); end
2861
+
2862
+ private
2863
+
2864
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#72
2865
+ sig { params(kind: ::RBI::Group::Kind).returns(::Integer) }
2866
+ def group_rank(kind); end
2867
+
2868
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#93
2869
+ sig { params(node: ::RBI::Node).returns(T.nilable(::String)) }
2870
+ def node_name(node); end
2871
+
2872
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#44
2873
+ sig { params(node: ::RBI::Node).returns(::Integer) }
2874
+ def node_rank(node); end
2875
+
2876
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#105
2877
+ sig { params(node: ::RBI::Node).void }
2878
+ def sort_node_names!(node); end
2879
+ end
2880
+
2881
+ # Translate all RBS signature comments to Sorbet RBI signatures
2882
+ #
2883
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#7
2884
+ class RBI::Rewriters::TranslateRBSSigs < ::RBI::Visitor
2885
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#12
2886
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2887
+ def visit(node); end
2888
+
2889
+ private
2890
+
2891
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#34
2892
+ sig { params(node: T.any(::RBI::Attr, ::RBI::Method)).returns(T::Array[::RBI::RBSComment]) }
2893
+ def extract_rbs_comments(node); end
2894
+
2895
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#61
2896
+ sig { params(node: ::RBI::Attr, comment: ::RBI::RBSComment).returns(::RBI::Sig) }
2897
+ def translate_rbs_attr_type(node, comment); end
2898
+
2899
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#53
2900
+ sig { params(node: ::RBI::Method, comment: ::RBI::RBSComment).returns(::RBI::Sig) }
2901
+ def translate_rbs_method_type(node, comment); end
2902
+ end
2903
+
2904
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#8
2905
+ class RBI::Rewriters::TranslateRBSSigs::Error < ::RBI::Error; end
2906
+
2907
+ # Scopes
2908
+ #
2909
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2910
+ #
2911
+ # source://rbi//lib/rbi/model.rb#166
2912
+ class RBI::Scope < ::RBI::Tree
2913
+ include ::RBI::Indexable
2914
+
2915
+ abstract!
2916
+
2917
+ # Duplicate `self` scope without its body
2918
+ #
2919
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#337
2920
+ sig { returns(T.self_type) }
2921
+ def dup_empty; end
2922
+
2923
+ # @abstract
2924
+ #
2925
+ # source://rbi//lib/rbi/model.rb#173
2926
+ sig { abstract.returns(::String) }
2927
+ def fully_qualified_name; end
2928
+
2929
+ # source://rbi//lib/rbi/index.rb#89
2930
+ sig { override.returns(T::Array[::String]) }
2931
+ def index_ids; end
2932
+
2933
+ # source://rbi//lib/rbi/model.rb#177
2934
+ sig { override.returns(::String) }
2935
+ def to_s; end
2936
+ end
2937
+
2938
+ # A conflict between two scope headers
2939
+ #
2940
+ # Is rendered as a merge conflict between `left` and` right` for scope definitions:
2941
+ # ~~~rb
2942
+ # <<<<<<< left
2943
+ # class Foo
2944
+ # =======
2945
+ # module Foo
2946
+ # >>>>>>> right
2947
+ # def m1; end
2948
+ # end
2949
+ # ~~~
2950
+ #
2951
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#577
2952
+ class RBI::ScopeConflict < ::RBI::Tree
2953
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#585
2954
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void }
2955
+ def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
2956
+
2957
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#579
2958
+ sig { returns(::RBI::Scope) }
2959
+ def left; end
2960
+
2961
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#582
2962
+ sig { returns(::String) }
2963
+ def left_name; end
2964
+
2965
+ # @return [Scope]
2966
+ #
2967
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#579
2968
+ def right; end
2969
+
2970
+ # @return [String]
2971
+ #
2972
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#582
2973
+ def right_name; end
2974
+ end
2975
+
2976
+ # Sends
2977
+ #
2978
+ # source://rbi//lib/rbi/model.rb#771
2979
+ class RBI::Send < ::RBI::NodeWithComments
2980
+ include ::RBI::Indexable
2981
+
2982
+ # source://rbi//lib/rbi/model.rb#779
2983
+ sig do
2984
+ params(
2985
+ method: ::String,
2986
+ args: T::Array[::RBI::Arg],
2987
+ loc: T.nilable(::RBI::Loc),
2988
+ comments: T::Array[::RBI::Comment],
2989
+ block: T.nilable(T.proc.params(node: ::RBI::Send).void)
2990
+ ).void
2991
+ end
2992
+ def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2993
+
2994
+ # source://rbi//lib/rbi/model.rb#787
2995
+ sig { params(arg: ::RBI::Arg).void }
2996
+ def <<(arg); end
2997
+
2998
+ # source://rbi//lib/rbi/model.rb#792
2999
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
3000
+ def ==(other); end
3001
+
3002
+ # source://rbi//lib/rbi/model.rb#776
3003
+ sig { returns(T::Array[::RBI::Arg]) }
3004
+ def args; end
3005
+
3006
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#503
3007
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3008
+ def compatible_with?(other); end
3009
+
3010
+ # source://rbi//lib/rbi/index.rb#189
3011
+ sig { override.returns(T::Array[::String]) }
3012
+ def index_ids; end
3013
+
3014
+ # source://rbi//lib/rbi/model.rb#773
3015
+ sig { returns(::String) }
3016
+ def method; end
3017
+
3018
+ # source://rbi//lib/rbi/model.rb#797
3019
+ sig { returns(::String) }
3020
+ def to_s; end
3021
+ end
3022
+
3023
+ # Sorbet's sigs
3024
+ #
3025
+ # source://rbi//lib/rbi/model.rb#846
3026
+ class RBI::Sig < ::RBI::NodeWithComments
3027
+ # source://rbi//lib/rbi/model.rb#863
3028
+ sig do
3029
+ params(
3030
+ params: T::Array[::RBI::SigParam],
3031
+ return_type: T.any(::RBI::Type, ::String),
3032
+ is_abstract: T::Boolean,
3033
+ is_override: T::Boolean,
3034
+ is_overridable: T::Boolean,
3035
+ is_final: T::Boolean,
3036
+ allow_incompatible_override: T::Boolean,
3037
+ type_params: T::Array[::String],
3038
+ checked: T.nilable(::Symbol),
3039
+ loc: T.nilable(::RBI::Loc),
3040
+ comments: T::Array[::RBI::Comment],
3041
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
3042
+ ).void
3043
+ end
3044
+ def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), allow_incompatible_override: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3045
+
3046
+ # source://rbi//lib/rbi/model.rb#891
3047
+ sig { params(param: ::RBI::SigParam).void }
3048
+ def <<(param); end
3049
+
3050
+ # source://rbi//lib/rbi/model.rb#901
3051
+ sig { params(other: ::Object).returns(T::Boolean) }
3052
+ def ==(other); end
3053
+
3054
+ # source://rbi//lib/rbi/model.rb#896
3055
+ sig { params(name: ::String, type: T.any(::RBI::Type, ::String)).void }
3056
+ def add_param(name, type); end
3057
+
3058
+ # @return [Boolean]
3059
+ #
3060
+ # source://rbi//lib/rbi/model.rb#854
3061
+ def allow_incompatible_override; end
3062
+
3063
+ # @return [Boolean]
3064
+ #
3065
+ # source://rbi//lib/rbi/model.rb#854
3066
+ def allow_incompatible_override=(_arg0); end
3067
+
3068
+ # source://rbi//lib/rbi/model.rb#860
3069
+ sig { returns(T.nilable(::Symbol)) }
3070
+ def checked; end
3071
+
3072
+ # @return [Symbol, nil]
3073
+ #
3074
+ # source://rbi//lib/rbi/model.rb#860
3075
+ def checked=(_arg0); end
3076
+
3077
+ # source://rbi//lib/rbi/model.rb#854
3078
+ sig { returns(T::Boolean) }
3079
+ def is_abstract; end
3080
+
3081
+ # @return [Boolean]
3082
+ #
3083
+ # source://rbi//lib/rbi/model.rb#854
3084
+ def is_abstract=(_arg0); end
3085
+
3086
+ # @return [Boolean]
3087
+ #
3088
+ # source://rbi//lib/rbi/model.rb#854
3089
+ def is_final; end
3090
+
3091
+ # @return [Boolean]
3092
+ #
3093
+ # source://rbi//lib/rbi/model.rb#854
3094
+ def is_final=(_arg0); end
3095
+
3096
+ # @return [Boolean]
3097
+ #
3098
+ # source://rbi//lib/rbi/model.rb#854
3099
+ def is_overridable; end
3100
+
3101
+ # @return [Boolean]
3102
+ #
3103
+ # source://rbi//lib/rbi/model.rb#854
3104
+ def is_overridable=(_arg0); end
3105
+
3106
+ # @return [Boolean]
3107
+ #
3108
+ # source://rbi//lib/rbi/model.rb#854
3109
+ def is_override; end
3110
+
3111
+ # @return [Boolean]
3112
+ #
3113
+ # source://rbi//lib/rbi/model.rb#854
3114
+ def is_override=(_arg0); end
3115
+
3116
+ # source://rbi//lib/rbi/model.rb#848
3117
+ sig { returns(T::Array[::RBI::SigParam]) }
3118
+ def params; end
3119
+
3120
+ # source://rbi//lib/rbi/model.rb#851
3121
+ sig { returns(T.any(::RBI::Type, ::String)) }
3122
+ def return_type; end
3123
+
3124
+ # @return [Type, String]
3125
+ #
3126
+ # source://rbi//lib/rbi/model.rb#851
3127
+ def return_type=(_arg0); end
3128
+
3129
+ # source://rbi//lib/rbi/model.rb#857
3130
+ sig { returns(T::Array[::String]) }
3131
+ def type_params; end
3132
+ end
3133
+
3134
+ # source://rbi//lib/rbi/model.rb#910
3135
+ class RBI::SigParam < ::RBI::NodeWithComments
3136
+ # source://rbi//lib/rbi/model.rb#918
3137
+ sig do
3138
+ params(
3139
+ name: ::String,
3140
+ type: T.any(::RBI::Type, ::String),
3141
+ loc: T.nilable(::RBI::Loc),
3142
+ comments: T::Array[::RBI::Comment],
3143
+ block: T.nilable(T.proc.params(node: ::RBI::SigParam).void)
3144
+ ).void
3145
+ end
3146
+ def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3147
+
3148
+ # source://rbi//lib/rbi/model.rb#926
3149
+ sig { params(other: ::Object).returns(T::Boolean) }
3150
+ def ==(other); end
3151
+
3152
+ # source://rbi//lib/rbi/model.rb#912
3153
+ sig { returns(::String) }
3154
+ def name; end
3155
+
3156
+ # source://rbi//lib/rbi/model.rb#915
3157
+ sig { returns(T.any(::RBI::Type, ::String)) }
3158
+ def type; end
3159
+ end
3160
+
3161
+ # source://rbi//lib/rbi/model.rb#226
3162
+ class RBI::SingletonClass < ::RBI::Scope
3163
+ # source://rbi//lib/rbi/model.rb#228
3164
+ sig do
3165
+ params(
3166
+ loc: T.nilable(::RBI::Loc),
3167
+ comments: T::Array[::RBI::Comment],
3168
+ block: T.nilable(T.proc.params(node: ::RBI::SingletonClass).void)
3169
+ ).void
3170
+ end
3171
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3172
+
3173
+ # source://rbi//lib/rbi/model.rb#235
3174
+ sig { override.returns(::String) }
3175
+ def fully_qualified_name; end
3176
+ end
3177
+
3178
+ # source://rbi//lib/rbi/model.rb#240
3179
+ class RBI::Struct < ::RBI::Scope
3180
+ # source://rbi//lib/rbi/model.rb#251
3181
+ sig do
3182
+ params(
3183
+ name: ::String,
3184
+ members: T::Array[::Symbol],
3185
+ keyword_init: T::Boolean,
3186
+ loc: T.nilable(::RBI::Loc),
3187
+ comments: T::Array[::RBI::Comment],
3188
+ block: T.nilable(T.proc.params(struct: ::RBI::Struct).void)
3189
+ ).void
3190
+ end
3191
+ def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3192
+
3193
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#378
3194
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3195
+ def compatible_with?(other); end
3196
+
3197
+ # source://rbi//lib/rbi/model.rb#261
3198
+ sig { override.returns(::String) }
3199
+ def fully_qualified_name; end
3200
+
3201
+ # source://rbi//lib/rbi/model.rb#248
3202
+ sig { returns(T::Boolean) }
3203
+ def keyword_init; end
3204
+
3205
+ # @return [Boolean]
3206
+ #
3207
+ # source://rbi//lib/rbi/model.rb#248
3208
+ def keyword_init=(_arg0); end
3209
+
3210
+ # source://rbi//lib/rbi/model.rb#245
3211
+ sig { returns(T::Array[::Symbol]) }
3212
+ def members; end
3213
+
3214
+ # @return [Array<Symbol>]
3215
+ #
3216
+ # source://rbi//lib/rbi/model.rb#245
3217
+ def members=(_arg0); end
3218
+
3219
+ # source://rbi//lib/rbi/model.rb#242
3220
+ sig { returns(::String) }
3221
+ def name; end
3222
+
3223
+ # @return [String]
3224
+ #
3225
+ # source://rbi//lib/rbi/model.rb#242
3226
+ def name=(_arg0); end
3227
+ end
3228
+
3229
+ # Sorbet's T::Enum
3230
+ #
3231
+ # source://rbi//lib/rbi/model.rb#1012
3232
+ class RBI::TEnum < ::RBI::Class
3233
+ # source://rbi//lib/rbi/model.rb#1014
3234
+ sig do
3235
+ params(
3236
+ name: ::String,
3237
+ loc: T.nilable(::RBI::Loc),
3238
+ comments: T::Array[::RBI::Comment],
3239
+ block: T.nilable(T.proc.params(klass: ::RBI::TEnum).void)
3240
+ ).void
3241
+ end
3242
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3243
+ end
3244
+
3245
+ # source://rbi//lib/rbi/model.rb#1020
3246
+ class RBI::TEnumBlock < ::RBI::Scope
3247
+ # source://rbi//lib/rbi/model.rb#1022
3248
+ sig do
3249
+ params(
3250
+ loc: T.nilable(::RBI::Loc),
3251
+ comments: T::Array[::RBI::Comment],
3252
+ block: T.nilable(T.proc.params(node: ::RBI::TEnumBlock).void)
3253
+ ).void
3254
+ end
3255
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3256
+
3257
+ # source://rbi//lib/rbi/model.rb#1029
3258
+ sig { override.returns(::String) }
3259
+ def fully_qualified_name; end
3260
+
3261
+ # source://rbi//lib/rbi/index.rb#219
3262
+ sig { override.returns(T::Array[::String]) }
3263
+ def index_ids; end
3264
+
3265
+ # source://rbi//lib/rbi/model.rb#1035
3266
+ sig { override.returns(::String) }
3267
+ def to_s; end
3268
+ end
3269
+
3270
+ # Sorbet's T::Struct
3271
+ #
3272
+ # source://rbi//lib/rbi/model.rb#933
3273
+ class RBI::TStruct < ::RBI::Class
3274
+ # source://rbi//lib/rbi/model.rb#935
3275
+ sig do
3276
+ params(
3277
+ name: ::String,
3278
+ loc: T.nilable(::RBI::Loc),
3279
+ comments: T::Array[::RBI::Comment],
3280
+ block: T.nilable(T.proc.params(klass: ::RBI::TStruct).void)
3281
+ ).void
3282
+ end
3283
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3284
+ end
3285
+
3286
+ # source://rbi//lib/rbi/model.rb#968
3287
+ class RBI::TStructConst < ::RBI::TStructField
3288
+ include ::RBI::Indexable
3289
+
3290
+ # source://rbi//lib/rbi/model.rb#970
3291
+ sig do
3292
+ params(
3293
+ name: ::String,
3294
+ type: T.any(::RBI::Type, ::String),
3295
+ default: T.nilable(::String),
3296
+ loc: T.nilable(::RBI::Loc),
3297
+ comments: T::Array[::RBI::Comment],
3298
+ block: T.nilable(T.proc.params(node: ::RBI::TStructConst).void)
3299
+ ).void
3300
+ end
3301
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3302
+
3303
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#519
3304
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3305
+ def compatible_with?(other); end
3306
+
3307
+ # source://rbi//lib/rbi/model.rb#977
3308
+ sig { override.returns(T::Array[::String]) }
3309
+ def fully_qualified_names; end
3310
+
3311
+ # source://rbi//lib/rbi/index.rb#199
3312
+ sig { override.returns(T::Array[::String]) }
3313
+ def index_ids; end
3314
+
3315
+ # source://rbi//lib/rbi/model.rb#984
3316
+ sig { override.returns(::String) }
3317
+ def to_s; end
3318
+ end
3319
+
3320
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3321
+ #
3322
+ # source://rbi//lib/rbi/model.rb#941
3323
+ class RBI::TStructField < ::RBI::NodeWithComments
3324
+ abstract!
3325
+
3326
+ # source://rbi//lib/rbi/model.rb#957
3327
+ sig do
3328
+ params(
3329
+ name: ::String,
3330
+ type: T.any(::RBI::Type, ::String),
3331
+ default: T.nilable(::String),
3332
+ loc: T.nilable(::RBI::Loc),
3333
+ comments: T::Array[::RBI::Comment]
3334
+ ).void
3335
+ end
3336
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
3337
+
3338
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#511
3339
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3340
+ def compatible_with?(other); end
3341
+
3342
+ # source://rbi//lib/rbi/model.rb#954
3343
+ sig { returns(T.nilable(::String)) }
3344
+ def default; end
3345
+
3346
+ # @return [String, nil]
3347
+ #
3348
+ # source://rbi//lib/rbi/model.rb#954
3349
+ def default=(_arg0); end
3350
+
3351
+ # @abstract
3352
+ #
3353
+ # source://rbi//lib/rbi/model.rb#965
3354
+ sig { abstract.returns(T::Array[::String]) }
3355
+ def fully_qualified_names; end
3356
+
3357
+ # source://rbi//lib/rbi/model.rb#948
3358
+ sig { returns(::String) }
3359
+ def name; end
3360
+
3361
+ # @return [String]
3362
+ #
3363
+ # source://rbi//lib/rbi/model.rb#948
3364
+ def name=(_arg0); end
3365
+
3366
+ # source://rbi//lib/rbi/model.rb#951
3367
+ sig { returns(T.any(::RBI::Type, ::String)) }
3368
+ def type; end
3369
+
3370
+ # @return [Type, String]
3371
+ #
3372
+ # source://rbi//lib/rbi/model.rb#951
3373
+ def type=(_arg0); end
3374
+ end
3375
+
3376
+ # source://rbi//lib/rbi/model.rb#989
3377
+ class RBI::TStructProp < ::RBI::TStructField
3378
+ include ::RBI::Indexable
3379
+
3380
+ # source://rbi//lib/rbi/model.rb#991
3381
+ sig do
3382
+ params(
3383
+ name: ::String,
3384
+ type: T.any(::RBI::Type, ::String),
3385
+ default: T.nilable(::String),
3386
+ loc: T.nilable(::RBI::Loc),
3387
+ comments: T::Array[::RBI::Comment],
3388
+ block: T.nilable(T.proc.params(node: ::RBI::TStructProp).void)
3389
+ ).void
3390
+ end
3391
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3392
+
3393
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#527
3394
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3395
+ def compatible_with?(other); end
3396
+
3397
+ # source://rbi//lib/rbi/model.rb#998
3398
+ sig { override.returns(T::Array[::String]) }
3399
+ def fully_qualified_names; end
3400
+
3401
+ # source://rbi//lib/rbi/index.rb#209
3402
+ sig { override.returns(T::Array[::String]) }
3403
+ def index_ids; end
3404
+
3405
+ # source://rbi//lib/rbi/model.rb#1005
3406
+ sig { override.returns(::String) }
3407
+ def to_s; end
3408
+ end
3409
+
3410
+ # source://rbi//lib/rbi/model.rb#112
3411
+ class RBI::Tree < ::RBI::NodeWithComments
3412
+ # source://rbi//lib/rbi/model.rb#117
3413
+ sig do
3414
+ params(
3415
+ loc: T.nilable(::RBI::Loc),
3416
+ comments: T::Array[::RBI::Comment],
3417
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
3418
+ ).void
3419
+ end
3420
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3421
+
3422
+ # source://rbi//lib/rbi/model.rb#124
3423
+ sig { params(node: ::RBI::Node).void }
3424
+ def <<(node); end
3425
+
3426
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#63
3427
+ sig { params(with_todo_comment: T::Boolean).void }
3428
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
3429
+
3430
+ # source://rbi//lib/rbi/rewriters/annotate.rb#46
3431
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
3432
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
3433
+
3434
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#38
3435
+ sig do
3436
+ params(
3437
+ name: ::String,
3438
+ superclass_name: T.nilable(::String),
3439
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
3440
+ ).returns(::RBI::Scope)
3441
+ end
3442
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
3443
+
3444
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#45
3445
+ sig { params(name: ::String, value: ::String).void }
3446
+ def create_constant(name, value:); end
3447
+
3448
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#55
3449
+ sig { params(name: ::String).void }
3450
+ def create_extend(name); end
3451
+
3452
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#50
3453
+ sig { params(name: ::String).void }
3454
+ def create_include(name); end
3455
+
3456
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#90
3457
+ sig do
3458
+ params(
3459
+ name: ::String,
3460
+ parameters: T::Array[::RBI::TypedParam],
3461
+ return_type: T.nilable(::String),
3462
+ class_method: T::Boolean,
3463
+ visibility: ::RBI::Visibility,
3464
+ comments: T::Array[::RBI::Comment],
3465
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
3466
+ ).void
3467
+ end
3468
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3469
+
3470
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#60
3471
+ sig { params(name: ::String).void }
3472
+ def create_mixes_in_class_methods(name); end
3473
+
3474
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#25
3475
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
3476
+ def create_module(name, &block); end
3477
+
3478
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#9
3479
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
3480
+ def create_path(constant, &block); end
3481
+
3482
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#74
3483
+ sig do
3484
+ params(
3485
+ name: ::String,
3486
+ type: ::String,
3487
+ variance: ::Symbol,
3488
+ fixed: T.nilable(::String),
3489
+ upper: T.nilable(::String),
3490
+ lower: T.nilable(::String)
3491
+ ).void
3492
+ end
3493
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
3494
+
3495
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#38
3496
+ sig { params(annotation: ::String).void }
3497
+ def deannotate!(annotation); end
3498
+
3499
+ # source://rbi//lib/rbi/model.rb#130
3500
+ sig { returns(T::Boolean) }
3501
+ def empty?; end
3502
+
3503
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#113
3504
+ sig { params(version: ::Gem::Version).void }
3505
+ def filter_versions!(version); end
3506
+
3507
+ # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#57
3508
+ sig { void }
3509
+ def flatten_singleton_methods!; end
3510
+
3511
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#57
3512
+ sig { void }
3513
+ def flatten_visibilities!; end
3514
+
3515
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#78
3516
+ sig { void }
3517
+ def group_nodes!; end
3518
+
3519
+ # source://rbi//lib/rbi/index.rb#64
3520
+ sig { returns(::RBI::Index) }
3521
+ def index; end
3522
+
3523
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#314
3524
+ sig do
3525
+ params(
3526
+ other: ::RBI::Tree,
3527
+ left_name: ::String,
3528
+ right_name: ::String,
3529
+ keep: ::RBI::Rewriters::Merge::Keep
3530
+ ).returns(::RBI::MergeTree)
3531
+ end
3532
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
3533
+
3534
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#43
3535
+ sig { void }
3536
+ def nest_non_public_members!; end
3537
+
3538
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#33
3539
+ sig { void }
3540
+ def nest_singleton_methods!; end
3541
+
3542
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#60
3543
+ sig { void }
3544
+ def nest_top_level_members!; end
3545
+
3546
+ # source://rbi//lib/rbi/model.rb#114
3547
+ sig { returns(T::Array[::RBI::Node]) }
3548
+ def nodes; end
3549
+
3550
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#50
3551
+ sig { void }
3552
+ def replace_attributes_with_methods!; end
3553
+
3554
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#116
3555
+ sig { void }
3556
+ def sort_nodes!; end
3557
+
3558
+ # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#82
3559
+ sig { void }
3560
+ def translate_rbs_sigs!; end
3561
+
3562
+ private
3563
+
3564
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#123
3565
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
3566
+ def create_node(node); end
3567
+
3568
+ # source://tapioca/0.16.11/lib/tapioca/rbi_ext/model.rb#118
3569
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
3570
+ def nodes_cache; end
3571
+ end
3572
+
3573
+ # The base class for all RBI types.
3574
+ #
3575
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3576
+ #
3577
+ # source://rbi//lib/rbi/type.rb#6
3578
+ class RBI::Type
3579
+ abstract!
3580
+
3581
+ # source://rbi//lib/rbi/type.rb#695
3582
+ sig { void }
3583
+ def initialize; end
3584
+
3585
+ # @abstract
3586
+ #
3587
+ # source://rbi//lib/rbi/type.rb#741
3588
+ sig { abstract.params(other: ::BasicObject).returns(T::Boolean) }
3589
+ def ==(other); end
3590
+
3591
+ # source://rbi//lib/rbi/type.rb#744
3592
+ sig { params(other: ::BasicObject).returns(T::Boolean) }
3593
+ def eql?(other); end
3594
+
3595
+ # source://rbi//lib/rbi/type.rb#750
3596
+ sig { override.returns(::Integer) }
3597
+ def hash; end
3598
+
3599
+ # Returns a new type that is `nilable` if it is not already.
3600
+ #
3601
+ # If the type is already nilable, it returns itself.
3602
+ # ```ruby
3603
+ # type = RBI::Type.simple("String")
3604
+ # type.to_rbi # => "String"
3605
+ # type.nilable.to_rbi # => "T.nilable(String)"
3606
+ # type.nilable.nilable.to_rbi # => "T.nilable(String)"
3607
+ # ```
3608
+ #
3609
+ # source://rbi//lib/rbi/type.rb#709
3610
+ sig { returns(::RBI::Type) }
3611
+ def nilable; end
3612
+
3613
+ # Returns whether the type is nilable.
3614
+ #
3615
+ # source://rbi//lib/rbi/type.rb#736
3616
+ sig { returns(T::Boolean) }
3617
+ def nilable?; end
3618
+
3619
+ # Returns the non-nilable version of the type.
3620
+ # If the type is already non-nilable, it returns itself.
3621
+ # If the type is nilable, it returns the inner type.
3622
+ #
3623
+ # ```ruby
3624
+ # type = RBI::Type.nilable(RBI::Type.simple("String"))
3625
+ # type.to_rbi # => "T.nilable(String)"
3626
+ # type.non_nilable.to_rbi # => "String"
3627
+ # type.non_nilable.non_nilable.to_rbi # => "String"
3628
+ # ```
3629
+ #
3630
+ # source://rbi//lib/rbi/type.rb#724
3631
+ sig { returns(::RBI::Type) }
3632
+ def non_nilable; end
3633
+
3634
+ # source://rbi//lib/rbi/rbs_printer.rb#1136
3635
+ sig { returns(::String) }
3636
+ def rbs_string; end
3637
+
3638
+ # @abstract
3639
+ #
3640
+ # source://rbi//lib/rbi/type.rb#755
3641
+ sig { abstract.returns(::String) }
3642
+ def to_rbi; end
3643
+
3644
+ # source://rbi//lib/rbi/type.rb#759
3645
+ sig { override.returns(::String) }
3646
+ def to_s; end
3647
+
3648
+ class << self
3649
+ # Builds a type that represents an intersection of multiple types like `T.all(String, Integer)`.
3650
+ #
3651
+ # Note that this method transforms types such as `T.all(String, String)` into `String`, so
3652
+ # it may return something other than a `All`.
3653
+ #
3654
+ # source://rbi//lib/rbi/type.rb#559
3655
+ sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) }
3656
+ def all(type1, type2, *types); end
3657
+
3658
+ # Builds a type that represents a union of multiple types like `T.any(String, Integer)`.
3659
+ #
3660
+ # Note that this method transforms types such as `T.any(String, NilClass)` into `T.nilable(String)`, so
3661
+ # it may return something other than a `Any`.
3662
+ #
3663
+ # source://rbi//lib/rbi/type.rb#586
3664
+ sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) }
3665
+ def any(type1, type2, *types); end
3666
+
3667
+ # Builds a type that represents `T.anything`.
3668
+ #
3669
+ # source://rbi//lib/rbi/type.rb#484
3670
+ sig { returns(::RBI::Type::Anything) }
3671
+ def anything; end
3672
+
3673
+ # Builds a type that represents `T.attached_class`.
3674
+ #
3675
+ # source://rbi//lib/rbi/type.rb#490
3676
+ sig { returns(::RBI::Type::AttachedClass) }
3677
+ def attached_class; end
3678
+
3679
+ # Builds a type that represents `T::Boolean`.
3680
+ #
3681
+ # source://rbi//lib/rbi/type.rb#496
3682
+ sig { returns(::RBI::Type::Boolean) }
3683
+ def boolean; end
3684
+
3685
+ # Builds a type that represents the singleton class of another type like `T.class_of(Foo)`.
3686
+ #
3687
+ # source://rbi//lib/rbi/type.rb#534
3688
+ sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).returns(::RBI::Type::ClassOf) }
3689
+ def class_of(type, type_parameter = T.unsafe(nil)); end
3690
+
3691
+ # Builds a type that represents a generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`.
3692
+ #
3693
+ # source://rbi//lib/rbi/type.rb#651
3694
+ sig { params(name: ::String, params: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Generic) }
3695
+ def generic(name, *params); end
3696
+
3697
+ # Builds a type that represents a nilable of another type like `T.nilable(String)`.
3698
+ #
3699
+ # Note that this method transforms types such as `T.nilable(T.untyped)` into `T.untyped`, so
3700
+ # it may return something other than a `RBI::Type::Nilable`.
3701
+ #
3702
+ # source://rbi//lib/rbi/type.rb#543
3703
+ sig { params(type: ::RBI::Type).returns(::RBI::Type) }
3704
+ def nilable(type); end
3705
+
3706
+ # Builds a type that represents `T.noreturn`.
3707
+ #
3708
+ # source://rbi//lib/rbi/type.rb#502
3709
+ sig { returns(::RBI::Type::NoReturn) }
3710
+ def noreturn; end
3711
+
3712
+ # source://rbi//lib/rbi/type_parser.rb#26
3713
+ sig { params(node: ::Prism::Node).returns(::RBI::Type) }
3714
+ def parse_node(node); end
3715
+
3716
+ # @raise [Error]
3717
+ #
3718
+ # source://rbi//lib/rbi/type_parser.rb#10
3719
+ sig { params(string: ::String).returns(::RBI::Type) }
3720
+ def parse_string(string); end
3721
+
3722
+ # Builds a type that represents a proc type like `T.proc.void`.
3723
+ #
3724
+ # source://rbi//lib/rbi/type.rb#679
3725
+ sig { returns(::RBI::Type::Proc) }
3726
+ def proc; end
3727
+
3728
+ # Builds a type that represents `T.self_type`.
3729
+ #
3730
+ # source://rbi//lib/rbi/type.rb#508
3731
+ sig { returns(::RBI::Type::SelfType) }
3732
+ def self_type; end
3733
+
3734
+ # Builds a type that represents a shape type like `{name: String, age: Integer}`.
3735
+ #
3736
+ # source://rbi//lib/rbi/type.rb#671
3737
+ sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).returns(::RBI::Type::Shape) }
3738
+ def shape(types = T.unsafe(nil)); end
3739
+
3740
+ # Builds a simple type like `String` or `::Foo::Bar`.
3741
+ #
3742
+ # It raises a `NameError` if the name is not a valid Ruby class identifier.
3743
+ #
3744
+ # @raise [NameError]
3745
+ #
3746
+ # source://rbi//lib/rbi/type.rb#473
3747
+ sig { params(name: ::String).returns(::RBI::Type::Simple) }
3748
+ def simple(name); end
3749
+
3750
+ # Builds a type that represents the class of another type like `T::Class[Foo]`.
3751
+ #
3752
+ # source://rbi//lib/rbi/type.rb#528
3753
+ sig { params(type: ::RBI::Type).returns(::RBI::Type::Class) }
3754
+ def t_class(type); end
3755
+
3756
+ # Builds a type that represents a tuple type like `[String, Integer]`.
3757
+ #
3758
+ # source://rbi//lib/rbi/type.rb#665
3759
+ sig { params(types: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Tuple) }
3760
+ def tuple(*types); end
3761
+
3762
+ # Builds a type that represents a type parameter like `T.type_parameter(:U)`.
3763
+ #
3764
+ # source://rbi//lib/rbi/type.rb#657
3765
+ sig { params(name: ::Symbol).returns(::RBI::Type::TypeParameter) }
3766
+ def type_parameter(name); end
3767
+
3768
+ # Builds a type that represents `T.untyped`.
3769
+ #
3770
+ # source://rbi//lib/rbi/type.rb#514
3771
+ sig { returns(::RBI::Type::Untyped) }
3772
+ def untyped; end
3773
+
3774
+ # Builds a type that represents `void`.
3775
+ #
3776
+ # source://rbi//lib/rbi/type.rb#520
3777
+ sig { returns(::RBI::Type::Void) }
3778
+ def void; end
3779
+
3780
+ private
3781
+
3782
+ # source://rbi//lib/rbi/type_parser.rb#263
3783
+ sig { params(node: ::Prism::CallNode).returns(T::Array[::Prism::Node]) }
3784
+ def call_chain(node); end
3785
+
3786
+ # source://rbi//lib/rbi/type_parser.rb#250
3787
+ sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) }
3788
+ def check_arguments_at_least!(node, count); end
3789
+
3790
+ # source://rbi//lib/rbi/type_parser.rb#235
3791
+ sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) }
3792
+ def check_arguments_exactly!(node, count); end
3793
+
3794
+ # @raise [Error]
3795
+ #
3796
+ # source://rbi//lib/rbi/type_parser.rb#69
3797
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Type) }
3798
+ def parse_call(node); end
3799
+
3800
+ # source://rbi//lib/rbi/type_parser.rb#52
3801
+ sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(::RBI::Type) }
3802
+ def parse_constant(node); end
3803
+
3804
+ # @raise [Error]
3805
+ #
3806
+ # source://rbi//lib/rbi/type_parser.rb#195
3807
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Type) }
3808
+ def parse_proc(node); end
3809
+
3810
+ # source://rbi//lib/rbi/type_parser.rb#176
3811
+ sig { params(node: T.any(::Prism::HashNode, ::Prism::KeywordHashNode)).returns(::RBI::Type) }
3812
+ def parse_shape(node); end
3813
+
3814
+ # source://rbi//lib/rbi/type_parser.rb#171
3815
+ sig { params(node: ::Prism::ArrayNode).returns(::RBI::Type) }
3816
+ def parse_tuple(node); end
3817
+
3818
+ # source://rbi//lib/rbi/type_parser.rb#276
3819
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
3820
+ def t?(node); end
3821
+
3822
+ # source://rbi//lib/rbi/type_parser.rb#288
3823
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
3824
+ def t_boolean?(node); end
3825
+
3826
+ # source://rbi//lib/rbi/type_parser.rb#295
3827
+ sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) }
3828
+ def t_class?(node); end
3829
+
3830
+ # source://rbi//lib/rbi/type_parser.rb#300
3831
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
3832
+ def t_class_of?(node); end
3833
+
3834
+ # source://rbi//lib/rbi/type_parser.rb#307
3835
+ sig { params(node: ::Prism::CallNode).returns(T::Boolean) }
3836
+ def t_proc?(node); end
3837
+
3838
+ # source://rbi//lib/rbi/type.rb#689
3839
+ sig { params(name: ::String).returns(T::Boolean) }
3840
+ def valid_identifier?(name); end
3841
+ end
3842
+ end
3843
+
3844
+ # A type that is intersection of multiple types like `T.all(String, Integer)`.
3845
+ #
3846
+ # source://rbi//lib/rbi/type.rb#252
3847
+ class RBI::Type::All < ::RBI::Type::Composite
3848
+ # source://rbi//lib/rbi/type.rb#255
3849
+ sig { override.returns(::String) }
3850
+ def to_rbi; end
3851
+ end
3852
+
3853
+ # A type that is union of multiple types like `T.any(String, Integer)`.
3854
+ #
3855
+ # source://rbi//lib/rbi/type.rb#261
3856
+ class RBI::Type::Any < ::RBI::Type::Composite
3857
+ # source://rbi//lib/rbi/type.rb#269
3858
+ sig { returns(T::Boolean) }
3859
+ def nilable?; end
3860
+
3861
+ # source://rbi//lib/rbi/type.rb#264
3862
+ sig { override.returns(::String) }
3863
+ def to_rbi; end
3864
+ end
3865
+
3866
+ # `T.anything`.
3867
+ #
3868
+ # source://rbi//lib/rbi/type.rb#43
3869
+ class RBI::Type::Anything < ::RBI::Type
3870
+ # source://rbi//lib/rbi/type.rb#46
3871
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3872
+ def ==(other); end
3873
+
3874
+ # source://rbi//lib/rbi/type.rb#52
3875
+ sig { override.returns(::String) }
3876
+ def to_rbi; end
3877
+ end
3878
+
3879
+ # `T.attached_class`.
3880
+ #
3881
+ # source://rbi//lib/rbi/type.rb#58
3882
+ class RBI::Type::AttachedClass < ::RBI::Type
3883
+ # source://rbi//lib/rbi/type.rb#61
3884
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3885
+ def ==(other); end
3886
+
3887
+ # source://rbi//lib/rbi/type.rb#67
3888
+ sig { override.returns(::String) }
3889
+ def to_rbi; end
3890
+ end
3891
+
3892
+ # `T::Boolean`.
3893
+ #
3894
+ # source://rbi//lib/rbi/type.rb#73
3895
+ class RBI::Type::Boolean < ::RBI::Type
3896
+ # source://rbi//lib/rbi/type.rb#76
3897
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3898
+ def ==(other); end
3899
+
3900
+ # source://rbi//lib/rbi/type.rb#82
3901
+ sig { override.returns(::String) }
3902
+ def to_rbi; end
3903
+ end
3904
+
3905
+ # The class of another type like `T::Class[Foo]`.
3906
+ #
3907
+ # source://rbi//lib/rbi/type.rb#150
3908
+ class RBI::Type::Class < ::RBI::Type
3909
+ # source://rbi//lib/rbi/type.rb#155
3910
+ sig { params(type: ::RBI::Type).void }
3911
+ def initialize(type); end
3912
+
3913
+ # source://rbi//lib/rbi/type.rb#162
3914
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3915
+ def ==(other); end
3916
+
3917
+ # source://rbi//lib/rbi/type.rb#168
3918
+ sig { override.returns(::String) }
3919
+ def to_rbi; end
3920
+
3921
+ # source://rbi//lib/rbi/type.rb#152
3922
+ sig { returns(::RBI::Type) }
3923
+ def type; end
3924
+ end
3925
+
3926
+ # The singleton class of another type like `T.class_of(Foo)`.
3927
+ #
3928
+ # source://rbi//lib/rbi/type.rb#174
3929
+ class RBI::Type::ClassOf < ::RBI::Type
3930
+ # source://rbi//lib/rbi/type.rb#182
3931
+ sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).void }
3932
+ def initialize(type, type_parameter = T.unsafe(nil)); end
3933
+
3934
+ # source://rbi//lib/rbi/type.rb#190
3935
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3936
+ def ==(other); end
3937
+
3938
+ # source://rbi//lib/rbi/type.rb#196
3939
+ sig { override.returns(::String) }
3940
+ def to_rbi; end
3941
+
3942
+ # source://rbi//lib/rbi/type.rb#176
3943
+ sig { returns(::RBI::Type::Simple) }
3944
+ def type; end
3945
+
3946
+ # source://rbi//lib/rbi/type.rb#179
3947
+ sig { returns(T.nilable(::RBI::Type)) }
3948
+ def type_parameter; end
3949
+ end
3950
+
3951
+ # A type that is composed of multiple types like `T.all(String, Integer)`.
3952
+ #
3953
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3954
+ #
3955
+ # source://rbi//lib/rbi/type.rb#230
3956
+ class RBI::Type::Composite < ::RBI::Type
3957
+ abstract!
3958
+
3959
+ # source://rbi//lib/rbi/type.rb#239
3960
+ sig { params(types: T::Array[::RBI::Type]).void }
3961
+ def initialize(types); end
3962
+
3963
+ # source://rbi//lib/rbi/type.rb#246
3964
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3965
+ def ==(other); end
3966
+
3967
+ # source://rbi//lib/rbi/type.rb#236
3968
+ sig { returns(T::Array[::RBI::Type]) }
3969
+ def types; end
3970
+ end
3971
+
3972
+ # source://rbi//lib/rbi/type_parser.rb#6
3973
+ class RBI::Type::Error < ::RBI::Error; end
3974
+
3975
+ # A generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`.
3976
+ #
3977
+ # source://rbi//lib/rbi/type.rb#277
3978
+ class RBI::Type::Generic < ::RBI::Type
3979
+ # source://rbi//lib/rbi/type.rb#285
3980
+ sig { params(name: ::String, params: ::RBI::Type).void }
3981
+ def initialize(name, *params); end
3982
+
3983
+ # source://rbi//lib/rbi/type.rb#293
3984
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3985
+ def ==(other); end
3986
+
3987
+ # source://rbi//lib/rbi/type.rb#279
3988
+ sig { returns(::String) }
3989
+ def name; end
3990
+
3991
+ # source://rbi//lib/rbi/type.rb#282
3992
+ sig { returns(T::Array[::RBI::Type]) }
3993
+ def params; end
3994
+
3995
+ # source://rbi//lib/rbi/type.rb#299
3996
+ sig { override.returns(::String) }
3997
+ def to_rbi; end
3998
+ end
3999
+
4000
+ # A type that can be `nil` like `T.nilable(String)`.
4001
+ #
4002
+ # source://rbi//lib/rbi/type.rb#206
4003
+ class RBI::Type::Nilable < ::RBI::Type
4004
+ # source://rbi//lib/rbi/type.rb#211
4005
+ sig { params(type: ::RBI::Type).void }
4006
+ def initialize(type); end
4007
+
4008
+ # source://rbi//lib/rbi/type.rb#218
4009
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4010
+ def ==(other); end
4011
+
4012
+ # source://rbi//lib/rbi/type.rb#224
4013
+ sig { override.returns(::String) }
4014
+ def to_rbi; end
4015
+
4016
+ # source://rbi//lib/rbi/type.rb#208
4017
+ sig { returns(::RBI::Type) }
4018
+ def type; end
4019
+ end
4020
+
4021
+ # `T.noreturn`.
4022
+ #
4023
+ # source://rbi//lib/rbi/type.rb#88
4024
+ class RBI::Type::NoReturn < ::RBI::Type
4025
+ # source://rbi//lib/rbi/type.rb#91
4026
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4027
+ def ==(other); end
4028
+
4029
+ # source://rbi//lib/rbi/type.rb#97
4030
+ sig { override.returns(::String) }
4031
+ def to_rbi; end
4032
+ end
4033
+
4034
+ # A proc type like `T.proc.void`.
4035
+ #
4036
+ # source://rbi//lib/rbi/type.rb#385
4037
+ class RBI::Type::Proc < ::RBI::Type
4038
+ # source://rbi//lib/rbi/type.rb#396
4039
+ sig { void }
4040
+ def initialize; end
4041
+
4042
+ # source://rbi//lib/rbi/type.rb#405
4043
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4044
+ def ==(other); end
4045
+
4046
+ # source://rbi//lib/rbi/type.rb#433
4047
+ sig { params(type: T.untyped).returns(T.self_type) }
4048
+ def bind(type); end
4049
+
4050
+ # source://rbi//lib/rbi/type.rb#415
4051
+ sig { params(params: ::RBI::Type).returns(T.self_type) }
4052
+ def params(**params); end
4053
+
4054
+ # source://rbi//lib/rbi/type.rb#393
4055
+ sig { returns(T.nilable(::RBI::Type)) }
4056
+ def proc_bind; end
4057
+
4058
+ # source://rbi//lib/rbi/type.rb#387
4059
+ sig { returns(T::Hash[::Symbol, ::RBI::Type]) }
4060
+ def proc_params; end
4061
+
4062
+ # source://rbi//lib/rbi/type.rb#390
4063
+ sig { returns(::RBI::Type) }
4064
+ def proc_returns; end
4065
+
4066
+ # source://rbi//lib/rbi/type.rb#421
4067
+ sig { params(type: T.untyped).returns(T.self_type) }
4068
+ def returns(type); end
4069
+
4070
+ # source://rbi//lib/rbi/type.rb#440
4071
+ sig { override.returns(::String) }
4072
+ def to_rbi; end
4073
+
4074
+ # source://rbi//lib/rbi/type.rb#427
4075
+ sig { returns(T.self_type) }
4076
+ def void; end
4077
+ end
4078
+
4079
+ # `T.self_type`.
4080
+ #
4081
+ # source://rbi//lib/rbi/type.rb#103
4082
+ class RBI::Type::SelfType < ::RBI::Type
4083
+ # source://rbi//lib/rbi/type.rb#106
4084
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4085
+ def ==(other); end
4086
+
4087
+ # source://rbi//lib/rbi/type.rb#112
4088
+ sig { override.returns(::String) }
4089
+ def to_rbi; end
4090
+ end
4091
+
4092
+ # A shape type like `{name: String, age: Integer}`.
4093
+ #
4094
+ # source://rbi//lib/rbi/type.rb#355
4095
+ class RBI::Type::Shape < ::RBI::Type
4096
+ # source://rbi//lib/rbi/type.rb#360
4097
+ sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).void }
4098
+ def initialize(types); end
4099
+
4100
+ # source://rbi//lib/rbi/type.rb#367
4101
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4102
+ def ==(other); end
4103
+
4104
+ # source://rbi//lib/rbi/type.rb#373
4105
+ sig { override.returns(::String) }
4106
+ def to_rbi; end
4107
+
4108
+ # source://rbi//lib/rbi/type.rb#357
4109
+ sig { returns(T::Hash[T.any(::String, ::Symbol), ::RBI::Type]) }
4110
+ def types; end
4111
+ end
4112
+
4113
+ # A type that represents a simple class name like `String` or `Foo`.
4114
+ #
4115
+ # It can also be a qualified name like `::Foo` or `Foo::Bar`.
4116
+ #
4117
+ # source://rbi//lib/rbi/type.rb#17
4118
+ class RBI::Type::Simple < ::RBI::Type
4119
+ # source://rbi//lib/rbi/type.rb#22
4120
+ sig { params(name: ::String).void }
4121
+ def initialize(name); end
4122
+
4123
+ # source://rbi//lib/rbi/type.rb#29
4124
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4125
+ def ==(other); end
4126
+
4127
+ # source://rbi//lib/rbi/type.rb#19
4128
+ sig { returns(::String) }
4129
+ def name; end
4130
+
4131
+ # source://rbi//lib/rbi/type.rb#35
4132
+ sig { override.returns(::String) }
4133
+ def to_rbi; end
4134
+ end
4135
+
4136
+ # A tuple type like `[String, Integer]`.
4137
+ #
4138
+ # source://rbi//lib/rbi/type.rb#331
4139
+ class RBI::Type::Tuple < ::RBI::Type
4140
+ # source://rbi//lib/rbi/type.rb#336
4141
+ sig { params(types: T::Array[::RBI::Type]).void }
4142
+ def initialize(types); end
4143
+
4144
+ # source://rbi//lib/rbi/type.rb#343
4145
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4146
+ def ==(other); end
4147
+
4148
+ # source://rbi//lib/rbi/type.rb#349
4149
+ sig { override.returns(::String) }
4150
+ def to_rbi; end
4151
+
4152
+ # source://rbi//lib/rbi/type.rb#333
4153
+ sig { returns(T::Array[::RBI::Type]) }
4154
+ def types; end
4155
+ end
4156
+
4157
+ # A type parameter like `T.type_parameter(:U)`.
4158
+ #
4159
+ # source://rbi//lib/rbi/type.rb#305
4160
+ class RBI::Type::TypeParameter < ::RBI::Type
4161
+ # source://rbi//lib/rbi/type.rb#310
4162
+ sig { params(name: ::Symbol).void }
4163
+ def initialize(name); end
4164
+
4165
+ # source://rbi//lib/rbi/type.rb#317
4166
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4167
+ def ==(other); end
4168
+
4169
+ # source://rbi//lib/rbi/type.rb#307
4170
+ sig { returns(::Symbol) }
4171
+ def name; end
4172
+
4173
+ # source://rbi//lib/rbi/type.rb#323
4174
+ sig { override.returns(::String) }
4175
+ def to_rbi; end
4176
+ end
4177
+
4178
+ # `T.untyped`.
4179
+ #
4180
+ # source://rbi//lib/rbi/type.rb#118
4181
+ class RBI::Type::Untyped < ::RBI::Type
4182
+ # source://rbi//lib/rbi/type.rb#121
4183
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4184
+ def ==(other); end
4185
+
4186
+ # source://rbi//lib/rbi/type.rb#127
4187
+ sig { override.returns(::String) }
4188
+ def to_rbi; end
4189
+ end
4190
+
4191
+ # source://rbi//lib/rbi/type_visitor.rb#6
4192
+ class RBI::Type::Visitor
4193
+ # source://rbi//lib/rbi/type_visitor.rb#10
4194
+ sig { params(node: ::RBI::Type).void }
4195
+ def visit(node); end
4196
+
4197
+ private
4198
+
4199
+ # source://rbi//lib/rbi/type_visitor.rb#56
4200
+ sig { params(type: ::RBI::Type::All).void }
4201
+ def visit_all(type); end
4202
+
4203
+ # source://rbi//lib/rbi/type_visitor.rb#59
4204
+ sig { params(type: ::RBI::Type::Any).void }
4205
+ def visit_any(type); end
4206
+
4207
+ # source://rbi//lib/rbi/type_visitor.rb#62
4208
+ sig { params(type: ::RBI::Type::Anything).void }
4209
+ def visit_anything(type); end
4210
+
4211
+ # source://rbi//lib/rbi/type_visitor.rb#65
4212
+ sig { params(type: ::RBI::Type::AttachedClass).void }
4213
+ def visit_attached_class(type); end
4214
+
4215
+ # source://rbi//lib/rbi/type_visitor.rb#68
4216
+ sig { params(type: ::RBI::Type::Boolean).void }
4217
+ def visit_boolean(type); end
4218
+
4219
+ # source://rbi//lib/rbi/type_visitor.rb#71
4220
+ sig { params(type: ::RBI::Type::Class).void }
4221
+ def visit_class(type); end
4222
+
4223
+ # source://rbi//lib/rbi/type_visitor.rb#74
4224
+ sig { params(type: ::RBI::Type::ClassOf).void }
4225
+ def visit_class_of(type); end
4226
+
4227
+ # source://rbi//lib/rbi/type_visitor.rb#77
4228
+ sig { params(type: ::RBI::Type::Generic).void }
4229
+ def visit_generic(type); end
4230
+
4231
+ # source://rbi//lib/rbi/type_visitor.rb#80
4232
+ sig { params(type: ::RBI::Type::Nilable).void }
4233
+ def visit_nilable(type); end
4234
+
4235
+ # source://rbi//lib/rbi/type_visitor.rb#86
4236
+ sig { params(type: ::RBI::Type::NoReturn).void }
4237
+ def visit_no_return(type); end
4238
+
4239
+ # source://rbi//lib/rbi/type_visitor.rb#89
4240
+ sig { params(type: ::RBI::Type::Proc).void }
4241
+ def visit_proc(type); end
4242
+
4243
+ # source://rbi//lib/rbi/type_visitor.rb#92
4244
+ sig { params(type: ::RBI::Type::SelfType).void }
4245
+ def visit_self_type(type); end
4246
+
4247
+ # source://rbi//lib/rbi/type_visitor.rb#98
4248
+ sig { params(type: ::RBI::Type::Shape).void }
4249
+ def visit_shape(type); end
4250
+
4251
+ # source://rbi//lib/rbi/type_visitor.rb#83
4252
+ sig { params(type: ::RBI::Type::Simple).void }
4253
+ def visit_simple(type); end
4254
+
4255
+ # source://rbi//lib/rbi/type_visitor.rb#101
4256
+ sig { params(type: ::RBI::Type::Tuple).void }
4257
+ def visit_tuple(type); end
4258
+
4259
+ # source://rbi//lib/rbi/type_visitor.rb#104
4260
+ sig { params(type: ::RBI::Type::TypeParameter).void }
4261
+ def visit_type_parameter(type); end
4262
+
4263
+ # source://rbi//lib/rbi/type_visitor.rb#107
4264
+ sig { params(type: ::RBI::Type::Untyped).void }
4265
+ def visit_untyped(type); end
4266
+
4267
+ # source://rbi//lib/rbi/type_visitor.rb#95
4268
+ sig { params(type: ::RBI::Type::Void).void }
4269
+ def visit_void(type); end
4270
+ end
4271
+
4272
+ # source://rbi//lib/rbi/type_visitor.rb#7
4273
+ class RBI::Type::Visitor::Error < ::RBI::Error; end
4274
+
4275
+ # `void`.
4276
+ #
4277
+ # source://rbi//lib/rbi/type.rb#133
4278
+ class RBI::Type::Void < ::RBI::Type
4279
+ # source://rbi//lib/rbi/type.rb#136
4280
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4281
+ def ==(other); end
4282
+
4283
+ # source://rbi//lib/rbi/type.rb#142
4284
+ sig { override.returns(::String) }
4285
+ def to_rbi; end
4286
+ end
4287
+
4288
+ # source://rbi//lib/rbi/model.rb#1060
4289
+ class RBI::TypeMember < ::RBI::NodeWithComments
4290
+ include ::RBI::Indexable
4291
+
4292
+ # source://rbi//lib/rbi/model.rb#1065
4293
+ sig do
4294
+ params(
4295
+ name: ::String,
4296
+ value: ::String,
4297
+ loc: T.nilable(::RBI::Loc),
4298
+ comments: T::Array[::RBI::Comment],
4299
+ block: T.nilable(T.proc.params(node: ::RBI::TypeMember).void)
4300
+ ).void
4301
+ end
4302
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
4303
+
4304
+ # source://rbi//lib/rbi/model.rb#1073
4305
+ sig { returns(::String) }
4306
+ def fully_qualified_name; end
4307
+
4308
+ # source://rbi//lib/rbi/index.rb#179
4309
+ sig { override.returns(T::Array[::String]) }
4310
+ def index_ids; end
4311
+
4312
+ # source://rbi//lib/rbi/model.rb#1062
4313
+ sig { returns(::String) }
4314
+ def name; end
4315
+
4316
+ # source://rbi//lib/rbi/model.rb#1081
4317
+ sig { override.returns(::String) }
4318
+ def to_s; end
4319
+
4320
+ # @return [String]
4321
+ #
4322
+ # source://rbi//lib/rbi/model.rb#1062
4323
+ def value; end
4324
+ end
4325
+
4326
+ # source://rbi//lib/rbi/rbs_printer.rb#879
4327
+ class RBI::TypePrinter
4328
+ # source://rbi//lib/rbi/rbs_printer.rb#884
4329
+ sig { void }
4330
+ def initialize; end
4331
+
4332
+ # source://rbi//lib/rbi/rbs_printer.rb#881
4333
+ sig { returns(::String) }
4334
+ def string; end
4335
+
4336
+ # source://rbi//lib/rbi/rbs_printer.rb#889
4337
+ sig { params(node: ::RBI::Type).void }
4338
+ def visit(node); end
4339
+
4340
+ # source://rbi//lib/rbi/rbs_printer.rb#1004
4341
+ sig { params(type: ::RBI::Type::All).void }
4342
+ def visit_all(type); end
4343
+
4344
+ # source://rbi//lib/rbi/rbs_printer.rb#1014
4345
+ sig { params(type: ::RBI::Type::Any).void }
4346
+ def visit_any(type); end
4347
+
4348
+ # source://rbi//lib/rbi/rbs_printer.rb#954
4349
+ sig { params(type: ::RBI::Type::Anything).void }
4350
+ def visit_anything(type); end
4351
+
4352
+ # source://rbi//lib/rbi/rbs_printer.rb#979
4353
+ sig { params(type: ::RBI::Type::AttachedClass).void }
4354
+ def visit_attached_class(type); end
4355
+
4356
+ # source://rbi//lib/rbi/rbs_printer.rb#938
4357
+ sig { params(type: ::RBI::Type::Boolean).void }
4358
+ def visit_boolean(type); end
4359
+
4360
+ # source://rbi//lib/rbi/rbs_printer.rb#1081
4361
+ sig { params(type: ::RBI::Type::Class).void }
4362
+ def visit_class(type); end
4363
+
4364
+ # source://rbi//lib/rbi/rbs_printer.rb#997
4365
+ sig { params(type: ::RBI::Type::ClassOf).void }
4366
+ def visit_class_of(type); end
4367
+
4368
+ # source://rbi//lib/rbi/rbs_printer.rb#943
4369
+ sig { params(type: ::RBI::Type::Generic).void }
4370
+ def visit_generic(type); end
4371
+
4372
+ # source://rbi//lib/rbi/rbs_printer.rb#984
4373
+ sig { params(type: ::RBI::Type::Nilable).void }
4374
+ def visit_nilable(type); end
4375
+
4376
+ # source://rbi//lib/rbi/rbs_printer.rb#964
4377
+ sig { params(type: ::RBI::Type::NoReturn).void }
4378
+ def visit_no_return(type); end
4379
+
4380
+ # source://rbi//lib/rbi/rbs_printer.rb#1054
4381
+ sig { params(type: ::RBI::Type::Proc).void }
4382
+ def visit_proc(type); end
4383
+
4384
+ # source://rbi//lib/rbi/rbs_printer.rb#974
4385
+ sig { params(type: ::RBI::Type::SelfType).void }
4386
+ def visit_self_type(type); end
4387
+
4388
+ # source://rbi//lib/rbi/rbs_printer.rb#1034
4389
+ sig { params(type: ::RBI::Type::Shape).void }
4390
+ def visit_shape(type); end
4391
+
4392
+ # source://rbi//lib/rbi/rbs_printer.rb#933
4393
+ sig { params(type: ::RBI::Type::Simple).void }
4394
+ def visit_simple(type); end
4395
+
4396
+ # source://rbi//lib/rbi/rbs_printer.rb#1024
4397
+ sig { params(type: ::RBI::Type::Tuple).void }
4398
+ def visit_tuple(type); end
4399
+
4400
+ # source://rbi//lib/rbi/rbs_printer.rb#1076
4401
+ sig { params(type: ::RBI::Type::TypeParameter).void }
4402
+ def visit_type_parameter(type); end
4403
+
4404
+ # source://rbi//lib/rbi/rbs_printer.rb#969
4405
+ sig { params(type: ::RBI::Type::Untyped).void }
4406
+ def visit_untyped(type); end
4407
+
4408
+ # source://rbi//lib/rbi/rbs_printer.rb#959
4409
+ sig { params(type: ::RBI::Type::Void).void }
4410
+ def visit_void(type); end
4411
+
4412
+ private
4413
+
4414
+ # source://rbi//lib/rbi/rbs_printer.rb#1090
4415
+ sig { params(type_name: ::String).returns(::String) }
4416
+ def translate_t_type(type_name); end
4417
+ end
4418
+
4419
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#5
4420
+ class RBI::UnexpectedMultipleSigsError < ::RBI::Error
4421
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#10
4422
+ sig { params(node: ::RBI::Node).void }
4423
+ def initialize(node); end
4424
+
4425
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#7
4426
+ sig { returns(::RBI::Node) }
4427
+ def node; end
4428
+ end
4429
+
4430
+ # source://rbi//lib/rbi/parser.rb#18
4431
+ class RBI::UnexpectedParserError < ::RBI::Error
4432
+ # source://rbi//lib/rbi/parser.rb#23
4433
+ sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void }
4434
+ def initialize(parent_exception, last_location); end
4435
+
4436
+ # source://rbi//lib/rbi/parser.rb#20
4437
+ sig { returns(::RBI::Loc) }
4438
+ def last_location; end
4439
+
4440
+ # source://rbi//lib/rbi/parser.rb#30
4441
+ sig { params(io: T.any(::IO, ::StringIO)).void }
4442
+ def print_debug(io: T.unsafe(nil)); end
4443
+ end
4444
+
4445
+ # source://rbi//lib/rbi/version.rb#5
4446
+ RBI::VERSION = T.let(T.unsafe(nil), String)
4447
+
4448
+ # Visibility
4449
+ #
4450
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
4451
+ #
4452
+ # source://rbi//lib/rbi/model.rb#708
4453
+ class RBI::Visibility < ::RBI::NodeWithComments
4454
+ abstract!
4455
+
4456
+ # source://rbi//lib/rbi/model.rb#717
4457
+ sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
4458
+ def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
4459
+
4460
+ # source://rbi//lib/rbi/model.rb#723
4461
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
4462
+ def ==(other); end
4463
+
4464
+ # source://rbi//lib/rbi/model.rb#740
4465
+ sig { returns(T::Boolean) }
4466
+ def private?; end
4467
+
4468
+ # source://rbi//lib/rbi/model.rb#735
4469
+ sig { returns(T::Boolean) }
4470
+ def protected?; end
4471
+
4472
+ # source://rbi//lib/rbi/model.rb#730
4473
+ sig { returns(T::Boolean) }
4474
+ def public?; end
4475
+
4476
+ # source://rbi//lib/rbi/model.rb#714
4477
+ sig { returns(::Symbol) }
4478
+ def visibility; end
4479
+ end
4480
+
4481
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#49
4482
+ class RBI::VisibilityGroup < ::RBI::Tree
4483
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#54
4484
+ sig { params(visibility: ::RBI::Visibility).void }
4485
+ def initialize(visibility); end
4486
+
4487
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#51
4488
+ sig { returns(::RBI::Visibility) }
4489
+ def visibility; end
4490
+ end
4491
+
4492
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
4493
+ #
4494
+ # source://rbi//lib/rbi/visitor.rb#7
4495
+ class RBI::Visitor
4496
+ abstract!
4497
+
4498
+ # source://rbi//lib/rbi/visitor.rb#13
4499
+ sig { params(node: T.nilable(::RBI::Node)).void }
4500
+ def visit(node); end
4501
+
4502
+ # source://rbi//lib/rbi/visitor.rb#109
4503
+ sig { params(nodes: T::Array[::RBI::Node]).void }
4504
+ def visit_all(nodes); end
4505
+
4506
+ # source://rbi//lib/rbi/visitor.rb#114
4507
+ sig { params(file: ::RBI::File).void }
4508
+ def visit_file(file); end
4509
+
4510
+ private
4511
+
4512
+ # source://rbi//lib/rbi/visitor.rb#199
4513
+ sig { params(node: ::RBI::Arg).void }
4514
+ def visit_arg(node); end
4515
+
4516
+ # source://rbi//lib/rbi/visitor.rb#148
4517
+ sig { params(node: ::RBI::AttrAccessor).void }
4518
+ def visit_attr_accessor(node); end
4519
+
4520
+ # source://rbi//lib/rbi/visitor.rb#151
4521
+ sig { params(node: ::RBI::AttrReader).void }
4522
+ def visit_attr_reader(node); end
4523
+
4524
+ # source://rbi//lib/rbi/visitor.rb#154
4525
+ sig { params(node: ::RBI::AttrWriter).void }
4526
+ def visit_attr_writer(node); end
4527
+
4528
+ # source://rbi//lib/rbi/visitor.rb#127
4529
+ sig { params(node: ::RBI::BlankLine).void }
4530
+ def visit_blank_line(node); end
4531
+
4532
+ # source://rbi//lib/rbi/visitor.rb#178
4533
+ sig { params(node: ::RBI::BlockParam).void }
4534
+ def visit_block_param(node); end
4535
+
4536
+ # source://rbi//lib/rbi/visitor.rb#133
4537
+ sig { params(node: ::RBI::Class).void }
4538
+ def visit_class(node); end
4539
+
4540
+ # source://rbi//lib/rbi/visitor.rb#121
4541
+ sig { params(node: ::RBI::Comment).void }
4542
+ def visit_comment(node); end
4543
+
4544
+ # source://rbi//lib/rbi/visitor.rb#244
4545
+ sig { params(node: ::RBI::ConflictTree).void }
4546
+ def visit_conflict_tree(node); end
4547
+
4548
+ # source://rbi//lib/rbi/visitor.rb#145
4549
+ sig { params(node: ::RBI::Const).void }
4550
+ def visit_const(node); end
4551
+
4552
+ # source://rbi//lib/rbi/visitor.rb#184
4553
+ sig { params(node: ::RBI::Extend).void }
4554
+ def visit_extend(node); end
4555
+
4556
+ # source://rbi//lib/rbi/visitor.rb#238
4557
+ sig { params(node: ::RBI::Group).void }
4558
+ def visit_group(node); end
4559
+
4560
+ # source://rbi//lib/rbi/visitor.rb#226
4561
+ sig { params(node: ::RBI::Helper).void }
4562
+ def visit_helper(node); end
4563
+
4564
+ # source://rbi//lib/rbi/visitor.rb#181
4565
+ sig { params(node: ::RBI::Include).void }
4566
+ def visit_include(node); end
4567
+
4568
+ # source://rbi//lib/rbi/visitor.rb#202
4569
+ sig { params(node: ::RBI::KwArg).void }
4570
+ def visit_kw_arg(node); end
4571
+
4572
+ # source://rbi//lib/rbi/visitor.rb#172
4573
+ sig { params(node: ::RBI::KwOptParam).void }
4574
+ def visit_kw_opt_param(node); end
4575
+
4576
+ # source://rbi//lib/rbi/visitor.rb#169
4577
+ sig { params(node: ::RBI::KwParam).void }
4578
+ def visit_kw_param(node); end
4579
+
4580
+ # source://rbi//lib/rbi/visitor.rb#175
4581
+ sig { params(node: ::RBI::KwRestParam).void }
4582
+ def visit_kw_rest_param(node); end
4583
+
4584
+ # source://rbi//lib/rbi/visitor.rb#157
4585
+ sig { params(node: ::RBI::Method).void }
4586
+ def visit_method(node); end
4587
+
4588
+ # source://rbi//lib/rbi/visitor.rb#232
4589
+ sig { params(node: ::RBI::MixesInClassMethods).void }
4590
+ def visit_mixes_in_class_methods(node); end
4591
+
4592
+ # source://rbi//lib/rbi/visitor.rb#130
4593
+ sig { params(node: ::RBI::Module).void }
4594
+ def visit_module(node); end
4595
+
4596
+ # source://rbi//lib/rbi/visitor.rb#163
4597
+ sig { params(node: ::RBI::OptParam).void }
4598
+ def visit_opt_param(node); end
4599
+
4600
+ # source://rbi//lib/rbi/visitor.rb#193
4601
+ sig { params(node: ::RBI::Private).void }
4602
+ def visit_private(node); end
4603
+
4604
+ # source://rbi//lib/rbi/visitor.rb#190
4605
+ sig { params(node: ::RBI::Protected).void }
4606
+ def visit_protected(node); end
4607
+
4608
+ # source://rbi//lib/rbi/visitor.rb#187
4609
+ sig { params(node: ::RBI::Public).void }
4610
+ def visit_public(node); end
4611
+
4612
+ # source://rbi//lib/rbi/visitor.rb#124
4613
+ sig { params(node: ::RBI::RBSComment).void }
4614
+ def visit_rbs_comment(node); end
4615
+
4616
+ # source://rbi//lib/rbi/visitor.rb#160
4617
+ sig { params(node: ::RBI::ReqParam).void }
4618
+ def visit_req_param(node); end
4619
+
4620
+ # source://rbi//lib/rbi/visitor.rb#235
4621
+ sig { params(node: ::RBI::RequiresAncestor).void }
4622
+ def visit_requires_ancestor(node); end
4623
+
4624
+ # source://rbi//lib/rbi/visitor.rb#166
4625
+ sig { params(node: ::RBI::RestParam).void }
4626
+ def visit_rest_param(node); end
4627
+
4628
+ # source://rbi//lib/rbi/visitor.rb#247
4629
+ sig { params(node: ::RBI::ScopeConflict).void }
4630
+ def visit_scope_conflict(node); end
4631
+
4632
+ # source://rbi//lib/rbi/visitor.rb#196
4633
+ sig { params(node: ::RBI::Send).void }
4634
+ def visit_send(node); end
4635
+
4636
+ # source://rbi//lib/rbi/visitor.rb#205
4637
+ sig { params(node: ::RBI::Sig).void }
4638
+ def visit_sig(node); end
4639
+
4640
+ # source://rbi//lib/rbi/visitor.rb#208
4641
+ sig { params(node: ::RBI::SigParam).void }
4642
+ def visit_sig_param(node); end
4643
+
4644
+ # source://rbi//lib/rbi/visitor.rb#136
4645
+ sig { params(node: ::RBI::SingletonClass).void }
4646
+ def visit_singleton_class(node); end
4647
+
4648
+ # source://rbi//lib/rbi/visitor.rb#139
4649
+ sig { params(node: ::RBI::Struct).void }
4650
+ def visit_struct(node); end
4651
+
4652
+ # source://rbi//lib/rbi/visitor.rb#220
4653
+ sig { params(node: ::RBI::TEnum).void }
4654
+ def visit_tenum(node); end
4655
+
4656
+ # source://rbi//lib/rbi/visitor.rb#223
4657
+ sig { params(node: ::RBI::TEnumBlock).void }
4658
+ def visit_tenum_block(node); end
4659
+
4660
+ # source://rbi//lib/rbi/visitor.rb#142
4661
+ sig { params(node: ::RBI::Tree).void }
4662
+ def visit_tree(node); end
4663
+
4664
+ # source://rbi//lib/rbi/visitor.rb#211
4665
+ sig { params(node: ::RBI::TStruct).void }
4666
+ def visit_tstruct(node); end
4667
+
4668
+ # source://rbi//lib/rbi/visitor.rb#214
4669
+ sig { params(node: ::RBI::TStructConst).void }
4670
+ def visit_tstruct_const(node); end
4671
+
4672
+ # source://rbi//lib/rbi/visitor.rb#217
4673
+ sig { params(node: ::RBI::TStructProp).void }
4674
+ def visit_tstruct_prop(node); end
4675
+
4676
+ # source://rbi//lib/rbi/visitor.rb#229
4677
+ sig { params(node: ::RBI::TypeMember).void }
4678
+ def visit_type_member(node); end
4679
+
4680
+ # source://rbi//lib/rbi/visitor.rb#241
4681
+ sig { params(node: ::RBI::VisibilityGroup).void }
4682
+ def visit_visibility_group(node); end
4683
+ end
4684
+
4685
+ # source://rbi//lib/rbi/visitor.rb#5
4686
+ class RBI::VisitorError < ::RBI::Error; end