mangrove 0.31.0 → 0.34.0

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