tsumanne 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +32 -0
  4. data/.ruby-version +1 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +31 -0
  7. data/Rakefile +45 -0
  8. data/lib/tsumanne/version.rb +7 -0
  9. data/lib/tsumanne.rb +128 -0
  10. data/sorbet/config +4 -0
  11. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  12. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  13. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  14. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  15. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  16. data/sorbet/rbi/gems/ffi-compiler@1.0.1.rbi +206 -0
  17. data/sorbet/rbi/gems/ffi@1.15.5.rbi +1994 -0
  18. data/sorbet/rbi/gems/http-parser@1.2.3.rbi +422 -0
  19. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  20. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  21. data/sorbet/rbi/gems/mhtml@0.1.6.rbi +353 -0
  22. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  23. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  24. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  25. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  26. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  27. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  28. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  29. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2967 -0
  30. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  31. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  32. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  33. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  34. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  35. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  36. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  37. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +7144 -0
  38. data/sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi +827 -0
  39. data/sorbet/rbi/gems/rubocop-factory_bot@2.23.1.rbi +812 -0
  40. data/sorbet/rbi/gems/rubocop-performance@1.19.0.rbi +3157 -0
  41. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +328 -0
  42. data/sorbet/rbi/gems/rubocop-rspec@2.23.2.rbi +7691 -0
  43. data/sorbet/rbi/gems/rubocop-sorbet@0.7.3.rbi +1226 -0
  44. data/sorbet/rbi/gems/rubocop@1.56.2.rbi +56541 -0
  45. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  46. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3199 -0
  47. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  48. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3329 -0
  49. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  50. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  51. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  52. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +425 -0
  53. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  54. data/sorbet/tapioca/config.yml +13 -0
  55. data/sorbet/tapioca/require.rb +4 -0
  56. metadata +254 -0
@@ -0,0 +1,2967 @@
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
+ # source://rbi//lib/rbi/loc.rb#4
8
+ module RBI; end
9
+
10
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
11
+ #
12
+ # source://rbi//lib/rbi/parser.rb#133
13
+ class RBI::ASTVisitor
14
+ abstract!
15
+
16
+ # @abstract
17
+ #
18
+ # source://rbi//lib/rbi/parser.rb#145
19
+ sig { abstract.params(node: T.nilable(::AST::Node)).void }
20
+ def visit(node); end
21
+
22
+ # source://rbi//lib/rbi/parser.rb#140
23
+ sig { params(nodes: T::Array[::AST::Node]).void }
24
+ def visit_all(nodes); end
25
+
26
+ private
27
+
28
+ # source://rbi//lib/rbi/parser.rb#155
29
+ sig { params(node: ::AST::Node).returns(::String) }
30
+ def parse_expr(node); end
31
+
32
+ # source://rbi//lib/rbi/parser.rb#150
33
+ sig { params(node: ::AST::Node).returns(::String) }
34
+ def parse_name(node); end
35
+ end
36
+
37
+ # source://rbi//lib/rbi/model.rb#968
38
+ class RBI::Arg < ::RBI::Node
39
+ # source://rbi//lib/rbi/model.rb#980
40
+ sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void }
41
+ def initialize(value, loc: T.unsafe(nil)); end
42
+
43
+ # source://rbi//lib/rbi/model.rb#986
44
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
45
+ def ==(other); end
46
+
47
+ # source://rbi//lib/rbi/printer.rb#613
48
+ sig { override.params(v: ::RBI::Printer).void }
49
+ def accept_printer(v); end
50
+
51
+ # source://rbi//lib/rbi/model.rb#991
52
+ sig { returns(::String) }
53
+ def to_s; end
54
+
55
+ # source://rbi//lib/rbi/model.rb#972
56
+ sig { returns(::String) }
57
+ def value; end
58
+ end
59
+
60
+ # Attributes
61
+ #
62
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
63
+ #
64
+ # source://rbi//lib/rbi/model.rb#349
65
+ class RBI::Attr < ::RBI::NodeWithComments
66
+ include ::RBI::Indexable
67
+
68
+ abstract!
69
+
70
+ # source://rbi//lib/rbi/model.rb#374
71
+ sig do
72
+ params(
73
+ name: ::Symbol,
74
+ names: T::Array[::Symbol],
75
+ visibility: ::RBI::Visibility,
76
+ sigs: T::Array[::RBI::Sig],
77
+ loc: T.nilable(::RBI::Loc),
78
+ comments: T::Array[::RBI::Comment]
79
+ ).void
80
+ end
81
+ def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
82
+
83
+ # source://rbi//lib/rbi/printer.rb#348
84
+ sig { override.params(v: ::RBI::Printer).void }
85
+ def accept_printer(v); end
86
+
87
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#412
88
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
89
+ def compatible_with?(other); end
90
+
91
+ # @abstract
92
+ #
93
+ # source://rbi//lib/rbi/model.rb#382
94
+ sig { abstract.returns(T::Array[::String]) }
95
+ def fully_qualified_names; end
96
+
97
+ # source://rbi//lib/rbi/index.rb#113
98
+ sig { override.returns(T::Array[::String]) }
99
+ def index_ids; end
100
+
101
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#420
102
+ sig { override.params(other: ::RBI::Node).void }
103
+ def merge_with(other); end
104
+
105
+ # source://rbi//lib/rbi/model.rb#356
106
+ sig { returns(T::Array[::Symbol]) }
107
+ def names; end
108
+
109
+ # @return [Array<Symbol>]
110
+ #
111
+ # source://rbi//lib/rbi/model.rb#356
112
+ def names=(_arg0); end
113
+
114
+ # source://rbi//lib/rbi/printer.rb#375
115
+ sig { override.returns(T::Boolean) }
116
+ def oneline?; end
117
+
118
+ # source://rbi//lib/rbi/model.rb#362
119
+ sig { returns(T::Array[::RBI::Sig]) }
120
+ def sigs; end
121
+
122
+ # source://rbi//lib/rbi/model.rb#359
123
+ sig { returns(::RBI::Visibility) }
124
+ def visibility; end
125
+
126
+ # @return [Visibility]
127
+ #
128
+ # source://rbi//lib/rbi/model.rb#359
129
+ def visibility=(_arg0); end
130
+ end
131
+
132
+ # source://rbi//lib/rbi/model.rb#385
133
+ class RBI::AttrAccessor < ::RBI::Attr
134
+ # source://rbi//lib/rbi/model.rb#399
135
+ sig do
136
+ params(
137
+ name: ::Symbol,
138
+ names: ::Symbol,
139
+ visibility: ::RBI::Visibility,
140
+ sigs: T::Array[::RBI::Sig],
141
+ loc: T.nilable(::RBI::Loc),
142
+ comments: T::Array[::RBI::Comment],
143
+ block: T.nilable(T.proc.params(node: ::RBI::AttrAccessor).void)
144
+ ).void
145
+ end
146
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
147
+
148
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#452
149
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
150
+ def compatible_with?(other); end
151
+
152
+ # source://rbi//lib/rbi/model.rb#405
153
+ sig { override.returns(T::Array[::String]) }
154
+ def fully_qualified_names; end
155
+
156
+ # source://rbi//lib/rbi/model.rb#411
157
+ sig { override.returns(::String) }
158
+ def to_s; end
159
+ end
160
+
161
+ # source://rbi//lib/rbi/model.rb#417
162
+ class RBI::AttrReader < ::RBI::Attr
163
+ # source://rbi//lib/rbi/model.rb#431
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#434
178
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
179
+ def compatible_with?(other); end
180
+
181
+ # source://rbi//lib/rbi/model.rb#437
182
+ sig { override.returns(T::Array[::String]) }
183
+ def fully_qualified_names; end
184
+
185
+ # source://rbi//lib/rbi/model.rb#443
186
+ sig { override.returns(::String) }
187
+ def to_s; end
188
+ end
189
+
190
+ # source://rbi//lib/rbi/model.rb#449
191
+ class RBI::AttrWriter < ::RBI::Attr
192
+ # source://rbi//lib/rbi/model.rb#463
193
+ sig do
194
+ params(
195
+ name: ::Symbol,
196
+ names: ::Symbol,
197
+ visibility: ::RBI::Visibility,
198
+ sigs: T::Array[::RBI::Sig],
199
+ loc: T.nilable(::RBI::Loc),
200
+ comments: T::Array[::RBI::Comment],
201
+ block: T.nilable(T.proc.params(node: ::RBI::AttrWriter).void)
202
+ ).void
203
+ end
204
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
205
+
206
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#443
207
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
208
+ def compatible_with?(other); end
209
+
210
+ # source://rbi//lib/rbi/model.rb#469
211
+ sig { override.returns(T::Array[::String]) }
212
+ def fully_qualified_names; end
213
+
214
+ # source://rbi//lib/rbi/model.rb#475
215
+ sig { override.returns(::String) }
216
+ def to_s; end
217
+ end
218
+
219
+ # An arbitrary blank line that can be added both in trees and comments
220
+ #
221
+ # source://rbi//lib/rbi/model.rb#74
222
+ class RBI::BlankLine < ::RBI::Comment
223
+ # source://rbi//lib/rbi/model.rb#78
224
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
225
+ def initialize(loc: T.unsafe(nil)); end
226
+
227
+ # source://rbi//lib/rbi/printer.rb#217
228
+ sig { override.params(v: ::RBI::Printer).void }
229
+ def accept_printer(v); end
230
+ end
231
+
232
+ # source://rbi//lib/rbi/model.rb#741
233
+ class RBI::BlockParam < ::RBI::Param
234
+ # source://rbi//lib/rbi/model.rb#752
235
+ sig do
236
+ params(
237
+ name: ::String,
238
+ loc: T.nilable(::RBI::Loc),
239
+ comments: T::Array[::RBI::Comment],
240
+ block: T.nilable(T.proc.params(node: ::RBI::BlockParam).void)
241
+ ).void
242
+ end
243
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
244
+
245
+ # source://rbi//lib/rbi/model.rb#763
246
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
247
+ def ==(other); end
248
+
249
+ # source://rbi//lib/rbi/printer.rb#543
250
+ sig { override.params(v: ::RBI::Printer).void }
251
+ def accept_printer(v); end
252
+
253
+ # source://rbi//lib/rbi/printer.rb#548
254
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
255
+ def print_comment_leading_space(v, last:); end
256
+
257
+ # source://rbi//lib/rbi/model.rb#758
258
+ sig { override.returns(::String) }
259
+ def to_s; end
260
+ end
261
+
262
+ # source://rbi//lib/rbi/model.rb#218
263
+ class RBI::Class < ::RBI::Scope
264
+ # source://rbi//lib/rbi/model.rb#236
265
+ sig do
266
+ params(
267
+ name: ::String,
268
+ superclass_name: T.nilable(::String),
269
+ loc: T.nilable(::RBI::Loc),
270
+ comments: T::Array[::RBI::Comment],
271
+ block: T.nilable(T.proc.params(node: ::RBI::Class).void)
272
+ ).void
273
+ end
274
+ def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
275
+
276
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#376
277
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
278
+ def compatible_with?(other); end
279
+
280
+ # source://rbi//lib/rbi/model.rb#244
281
+ sig { override.returns(::String) }
282
+ def fully_qualified_name; end
283
+
284
+ # source://rbi//lib/rbi/model.rb#222
285
+ sig { returns(::String) }
286
+ def name; end
287
+
288
+ # @return [String]
289
+ #
290
+ # source://rbi//lib/rbi/model.rb#222
291
+ def name=(_arg0); end
292
+
293
+ # source://rbi//lib/rbi/printer.rb#284
294
+ sig { override.params(v: ::RBI::Printer).void }
295
+ def print_header(v); end
296
+
297
+ # source://rbi//lib/rbi/model.rb#225
298
+ sig { returns(T.nilable(::String)) }
299
+ def superclass_name; end
300
+
301
+ # @return [String, nil]
302
+ #
303
+ # source://rbi//lib/rbi/model.rb#225
304
+ def superclass_name=(_arg0); end
305
+ end
306
+
307
+ # source://rbi//lib/rbi/model.rb#53
308
+ class RBI::Comment < ::RBI::Node
309
+ # source://rbi//lib/rbi/model.rb#60
310
+ sig { params(text: ::String, loc: T.nilable(::RBI::Loc)).void }
311
+ def initialize(text, loc: T.unsafe(nil)); end
312
+
313
+ # source://rbi//lib/rbi/model.rb#66
314
+ sig { params(other: ::Object).returns(T::Boolean) }
315
+ def ==(other); end
316
+
317
+ # source://rbi//lib/rbi/printer.rb#197
318
+ sig { override.params(v: ::RBI::Printer).void }
319
+ def accept_printer(v); end
320
+
321
+ # source://rbi//lib/rbi/model.rb#57
322
+ sig { returns(::String) }
323
+ def text; end
324
+
325
+ # @return [String]
326
+ #
327
+ # source://rbi//lib/rbi/model.rb#57
328
+ def text=(_arg0); end
329
+ end
330
+
331
+ # A tree showing incompatibles nodes
332
+ #
333
+ # Is rendered as a merge conflict between `left` and` right`:
334
+ # ~~~rb
335
+ # class Foo
336
+ # <<<<<<< left
337
+ # def m1; end
338
+ # def m2(a); end
339
+ # =======
340
+ # def m1(a); end
341
+ # def m2; end
342
+ # >>>>>>> right
343
+ # end
344
+ # ~~~
345
+ #
346
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#589
347
+ class RBI::ConflictTree < ::RBI::Tree
348
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#596
349
+ sig { params(left_name: ::String, right_name: ::String).void }
350
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
351
+
352
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#607
353
+ sig { override.params(v: ::RBI::Printer).void }
354
+ def accept_printer(v); end
355
+
356
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#593
357
+ sig { returns(::RBI::Tree) }
358
+ def left; end
359
+
360
+ # @return [Tree]
361
+ #
362
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#593
363
+ def right; end
364
+ end
365
+
366
+ # Consts
367
+ #
368
+ # source://rbi//lib/rbi/model.rb#312
369
+ class RBI::Const < ::RBI::NodeWithComments
370
+ include ::RBI::Indexable
371
+
372
+ # source://rbi//lib/rbi/model.rb#327
373
+ sig do
374
+ params(
375
+ name: ::String,
376
+ value: ::String,
377
+ loc: T.nilable(::RBI::Loc),
378
+ comments: T::Array[::RBI::Comment],
379
+ block: T.nilable(T.proc.params(node: ::RBI::Const).void)
380
+ ).void
381
+ end
382
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
383
+
384
+ # source://rbi//lib/rbi/printer.rb#335
385
+ sig { override.params(v: ::RBI::Printer).void }
386
+ def accept_printer(v); end
387
+
388
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#403
389
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
390
+ def compatible_with?(other); end
391
+
392
+ # source://rbi//lib/rbi/model.rb#335
393
+ sig { returns(::String) }
394
+ def fully_qualified_name; end
395
+
396
+ # source://rbi//lib/rbi/index.rb#103
397
+ sig { override.returns(T::Array[::String]) }
398
+ def index_ids; end
399
+
400
+ # source://rbi//lib/rbi/model.rb#316
401
+ sig { returns(::String) }
402
+ def name; end
403
+
404
+ # source://rbi//lib/rbi/model.rb#342
405
+ sig { override.returns(::String) }
406
+ def to_s; end
407
+
408
+ # @return [String]
409
+ #
410
+ # source://rbi//lib/rbi/model.rb#316
411
+ def value; end
412
+ end
413
+
414
+ # source://rbi//lib/rbi/parser.rb#627
415
+ class RBI::ConstBuilder < ::RBI::ASTVisitor
416
+ # source://rbi//lib/rbi/parser.rb#634
417
+ sig { void }
418
+ def initialize; end
419
+
420
+ # source://rbi//lib/rbi/parser.rb#631
421
+ sig { returns(T::Array[::String]) }
422
+ def names; end
423
+
424
+ # @return [Array<String>]
425
+ #
426
+ # source://rbi//lib/rbi/parser.rb#631
427
+ def names=(_arg0); end
428
+
429
+ # source://rbi//lib/rbi/parser.rb#653
430
+ sig { override.params(node: T.nilable(::AST::Node)).void }
431
+ def visit(node); end
432
+
433
+ class << self
434
+ # source://rbi//lib/rbi/parser.rb#643
435
+ sig { params(node: T.nilable(::AST::Node)).returns(T.nilable(::String)) }
436
+ def visit(node); end
437
+ end
438
+ end
439
+
440
+ # source://rbi//lib/rbi/model.rb#816
441
+ class RBI::Extend < ::RBI::Mixin
442
+ include ::RBI::Indexable
443
+
444
+ # source://rbi//lib/rbi/model.rb#828
445
+ sig do
446
+ params(
447
+ name: ::String,
448
+ names: ::String,
449
+ loc: T.nilable(::RBI::Loc),
450
+ comments: T::Array[::RBI::Comment],
451
+ block: T.nilable(T.proc.params(node: ::RBI::Extend).void)
452
+ ).void
453
+ end
454
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
455
+
456
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#502
457
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
458
+ def compatible_with?(other); end
459
+
460
+ # source://rbi//lib/rbi/index.rb#143
461
+ sig { override.returns(T::Array[::String]) }
462
+ def index_ids; end
463
+
464
+ # source://rbi//lib/rbi/model.rb#834
465
+ sig { override.returns(::String) }
466
+ def to_s; end
467
+ end
468
+
469
+ # source://rbi//lib/rbi/model.rb#137
470
+ class RBI::File
471
+ # source://rbi//lib/rbi/model.rb#156
472
+ sig do
473
+ params(
474
+ strictness: T.nilable(::String),
475
+ comments: T::Array[::RBI::Comment],
476
+ block: T.nilable(T.proc.params(file: ::RBI::File).void)
477
+ ).void
478
+ end
479
+ def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end
480
+
481
+ # source://rbi//lib/rbi/model.rb#164
482
+ sig { params(node: ::RBI::Node).void }
483
+ def <<(node); end
484
+
485
+ # source://rbi//lib/rbi/printer.rb#105
486
+ sig { params(v: ::RBI::Printer).void }
487
+ def accept_printer(v); end
488
+
489
+ # source://rbi//lib/rbi/model.rb#147
490
+ sig { returns(T::Array[::RBI::Comment]) }
491
+ def comments; end
492
+
493
+ # @return [Array<Comment>]
494
+ #
495
+ # source://rbi//lib/rbi/model.rb#147
496
+ def comments=(_arg0); end
497
+
498
+ # source://rbi//lib/rbi/model.rb#169
499
+ sig { returns(T::Boolean) }
500
+ def empty?; end
501
+
502
+ # source://rbi//lib/rbi/printer.rb#129
503
+ sig do
504
+ params(
505
+ out: T.any(::IO, ::StringIO),
506
+ indent: ::Integer,
507
+ print_locs: T::Boolean,
508
+ max_line_length: T.nilable(::Integer)
509
+ ).void
510
+ end
511
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
512
+
513
+ # source://rbi//lib/rbi/model.rb#141
514
+ sig { returns(::RBI::Tree) }
515
+ def root; end
516
+
517
+ # @return [Tree]
518
+ #
519
+ # source://rbi//lib/rbi/model.rb#141
520
+ def root=(_arg0); end
521
+
522
+ # source://rbi//lib/rbi/model.rb#144
523
+ sig { returns(T.nilable(::String)) }
524
+ def strictness; end
525
+
526
+ # @return [String, nil]
527
+ #
528
+ # source://rbi//lib/rbi/model.rb#144
529
+ def strictness=(_arg0); end
530
+
531
+ # source://rbi//lib/rbi/printer.rb#135
532
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
533
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
534
+ end
535
+
536
+ # source://rbi//lib/rbi/formatter.rb#5
537
+ class RBI::Formatter
538
+ # source://rbi//lib/rbi/formatter.rb#36
539
+ sig do
540
+ params(
541
+ add_sig_templates: T::Boolean,
542
+ group_nodes: T::Boolean,
543
+ max_line_length: T.nilable(::Integer),
544
+ nest_singleton_methods: T::Boolean,
545
+ nest_non_public_methods: T::Boolean,
546
+ sort_nodes: T::Boolean
547
+ ).void
548
+ end
549
+ 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_methods: T.unsafe(nil), sort_nodes: T.unsafe(nil)); end
550
+
551
+ # source://rbi//lib/rbi/formatter.rb#15
552
+ sig { params(add_sig_templates: T::Boolean).returns(T::Boolean) }
553
+ def add_sig_templates=(add_sig_templates); end
554
+
555
+ # source://rbi//lib/rbi/formatter.rb#59
556
+ sig { params(file: ::RBI::File).void }
557
+ def format_file(file); end
558
+
559
+ # source://rbi//lib/rbi/formatter.rb#64
560
+ sig { params(tree: ::RBI::Tree).void }
561
+ def format_tree(tree); end
562
+
563
+ # source://rbi//lib/rbi/formatter.rb#18
564
+ sig { params(group_nodes: T::Boolean).returns(T::Boolean) }
565
+ def group_nodes=(group_nodes); end
566
+
567
+ # source://rbi//lib/rbi/formatter.rb#24
568
+ sig { returns(T.nilable(::Integer)) }
569
+ def max_line_length; end
570
+
571
+ # @return [Integer, nil]
572
+ #
573
+ # source://rbi//lib/rbi/formatter.rb#24
574
+ def max_line_length=(_arg0); end
575
+
576
+ # source://rbi//lib/rbi/formatter.rb#21
577
+ sig { params(nest_non_public_methods: T::Boolean).returns(T::Boolean) }
578
+ def nest_non_public_methods=(nest_non_public_methods); end
579
+
580
+ # source://rbi//lib/rbi/formatter.rb#12
581
+ sig { params(nest_singleton_methods: T::Boolean).returns(T::Boolean) }
582
+ def nest_singleton_methods=(nest_singleton_methods); end
583
+
584
+ # source://rbi//lib/rbi/formatter.rb#53
585
+ sig { params(file: ::RBI::File).returns(::String) }
586
+ def print_file(file); end
587
+
588
+ # source://rbi//lib/rbi/formatter.rb#9
589
+ sig { params(sort_nodes: T::Boolean).returns(T::Boolean) }
590
+ def sort_nodes=(sort_nodes); end
591
+ end
592
+
593
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#88
594
+ class RBI::Group < ::RBI::Tree
595
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#95
596
+ sig { params(kind: ::RBI::Group::Kind).void }
597
+ def initialize(kind); end
598
+
599
+ # source://rbi//lib/rbi/printer.rb#838
600
+ sig { override.params(v: ::RBI::Printer).void }
601
+ def accept_printer(v); end
602
+
603
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#92
604
+ sig { returns(::RBI::Group::Kind) }
605
+ def kind; end
606
+ end
607
+
608
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#100
609
+ class RBI::Group::Kind < ::T::Enum
610
+ enums do
611
+ Mixins = new
612
+ RequiredAncestors = new
613
+ Helpers = new
614
+ TypeMembers = new
615
+ MixesInClassMethods = new
616
+ Sends = new
617
+ Attrs = new
618
+ TStructFields = new
619
+ TEnums = new
620
+ Inits = new
621
+ Methods = new
622
+ SingletonClasses = new
623
+ Consts = new
624
+ end
625
+ end
626
+
627
+ # Sorbet's misc.
628
+ #
629
+ # source://rbi//lib/rbi/model.rb#1294
630
+ class RBI::Helper < ::RBI::NodeWithComments
631
+ include ::RBI::Indexable
632
+
633
+ # source://rbi//lib/rbi/model.rb#1308
634
+ sig do
635
+ params(
636
+ name: ::String,
637
+ loc: T.nilable(::RBI::Loc),
638
+ comments: T::Array[::RBI::Comment],
639
+ block: T.nilable(T.proc.params(node: ::RBI::Helper).void)
640
+ ).void
641
+ end
642
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
643
+
644
+ # source://rbi//lib/rbi/printer.rb#825
645
+ sig { override.params(v: ::RBI::Printer).void }
646
+ def accept_printer(v); end
647
+
648
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#520
649
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
650
+ def compatible_with?(other); end
651
+
652
+ # source://rbi//lib/rbi/index.rb#173
653
+ sig { override.returns(T::Array[::String]) }
654
+ def index_ids; end
655
+
656
+ # source://rbi//lib/rbi/model.rb#1298
657
+ sig { returns(::String) }
658
+ def name; end
659
+
660
+ # source://rbi//lib/rbi/model.rb#1315
661
+ sig { override.returns(::String) }
662
+ def to_s; end
663
+ end
664
+
665
+ # source://rbi//lib/rbi/model.rb#793
666
+ class RBI::Include < ::RBI::Mixin
667
+ include ::RBI::Indexable
668
+
669
+ # source://rbi//lib/rbi/model.rb#805
670
+ sig do
671
+ params(
672
+ name: ::String,
673
+ names: ::String,
674
+ loc: T.nilable(::RBI::Loc),
675
+ comments: T::Array[::RBI::Comment],
676
+ block: T.nilable(T.proc.params(node: ::RBI::Include).void)
677
+ ).void
678
+ end
679
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
680
+
681
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#493
682
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
683
+ def compatible_with?(other); end
684
+
685
+ # source://rbi//lib/rbi/index.rb#133
686
+ sig { override.returns(T::Array[::String]) }
687
+ def index_ids; end
688
+
689
+ # source://rbi//lib/rbi/model.rb#811
690
+ sig { override.returns(::String) }
691
+ def to_s; end
692
+ end
693
+
694
+ # source://rbi//lib/rbi/index.rb#5
695
+ class RBI::Index < ::RBI::Visitor
696
+ # source://rbi//lib/rbi/index.rb#21
697
+ sig { void }
698
+ def initialize; end
699
+
700
+ # source://rbi//lib/rbi/index.rb#32
701
+ sig { params(id: ::String).returns(T::Array[::RBI::Node]) }
702
+ def [](id); end
703
+
704
+ # source://rbi//lib/rbi/index.rb#37
705
+ sig { params(nodes: ::RBI::Node).void }
706
+ def index(*nodes); end
707
+
708
+ # source://rbi//lib/rbi/index.rb#27
709
+ sig { returns(T::Array[::String]) }
710
+ def keys; end
711
+
712
+ # source://rbi//lib/rbi/index.rb#42
713
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
714
+ def visit(node); end
715
+
716
+ private
717
+
718
+ # source://rbi//lib/rbi/index.rb#59
719
+ sig { params(node: T.all(::RBI::Indexable, ::RBI::Node)).void }
720
+ def index_node(node); end
721
+
722
+ class << self
723
+ # source://rbi//lib/rbi/index.rb#13
724
+ sig { params(node: ::RBI::Node).returns(::RBI::Index) }
725
+ def index(*node); end
726
+ end
727
+ end
728
+
729
+ # A Node that can be refered to by a unique ID inside an index
730
+ #
731
+ # @abstract Subclasses must implement the `abstract` methods below.
732
+ #
733
+ # source://rbi//lib/rbi/index.rb#74
734
+ module RBI::Indexable
735
+ interface!
736
+
737
+ # Unique IDs that refer to this node.
738
+ #
739
+ # Some nodes can have multiple ids, for example an attribute accessor matches the ID of the
740
+ # getter and the setter.
741
+ #
742
+ # @abstract
743
+ #
744
+ # source://rbi//lib/rbi/index.rb#85
745
+ sig { abstract.returns(T::Array[::String]) }
746
+ def index_ids; end
747
+ end
748
+
749
+ # source://rbi//lib/rbi/model.rb#996
750
+ class RBI::KwArg < ::RBI::Arg
751
+ # source://rbi//lib/rbi/model.rb#1009
752
+ sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void }
753
+ def initialize(keyword, value, loc: T.unsafe(nil)); end
754
+
755
+ # source://rbi//lib/rbi/model.rb#1015
756
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
757
+ def ==(other); end
758
+
759
+ # source://rbi//lib/rbi/printer.rb#622
760
+ sig { override.params(v: ::RBI::Printer).void }
761
+ def accept_printer(v); end
762
+
763
+ # source://rbi//lib/rbi/model.rb#1000
764
+ sig { returns(::String) }
765
+ def keyword; end
766
+
767
+ # source://rbi//lib/rbi/model.rb#1020
768
+ sig { returns(::String) }
769
+ def to_s; end
770
+ end
771
+
772
+ # source://rbi//lib/rbi/model.rb#682
773
+ class RBI::KwOptParam < ::RBI::Param
774
+ # source://rbi//lib/rbi/model.rb#697
775
+ sig do
776
+ params(
777
+ name: ::String,
778
+ value: ::String,
779
+ loc: T.nilable(::RBI::Loc),
780
+ comments: T::Array[::RBI::Comment],
781
+ block: T.nilable(T.proc.params(node: ::RBI::KwOptParam).void)
782
+ ).void
783
+ end
784
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
785
+
786
+ # source://rbi//lib/rbi/model.rb#709
787
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
788
+ def ==(other); end
789
+
790
+ # source://rbi//lib/rbi/printer.rb#513
791
+ sig { override.params(v: ::RBI::Printer).void }
792
+ def accept_printer(v); end
793
+
794
+ # source://rbi//lib/rbi/printer.rb#518
795
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
796
+ def print_comment_leading_space(v, last:); end
797
+
798
+ # source://rbi//lib/rbi/model.rb#704
799
+ sig { override.returns(::String) }
800
+ def to_s; end
801
+
802
+ # source://rbi//lib/rbi/model.rb#686
803
+ sig { returns(::String) }
804
+ def value; end
805
+ end
806
+
807
+ # source://rbi//lib/rbi/model.rb#655
808
+ class RBI::KwParam < ::RBI::Param
809
+ # source://rbi//lib/rbi/model.rb#666
810
+ sig do
811
+ params(
812
+ name: ::String,
813
+ loc: T.nilable(::RBI::Loc),
814
+ comments: T::Array[::RBI::Comment],
815
+ block: T.nilable(T.proc.params(node: ::RBI::KwParam).void)
816
+ ).void
817
+ end
818
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
819
+
820
+ # source://rbi//lib/rbi/model.rb#677
821
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
822
+ def ==(other); end
823
+
824
+ # source://rbi//lib/rbi/printer.rb#498
825
+ sig { override.params(v: ::RBI::Printer).void }
826
+ def accept_printer(v); end
827
+
828
+ # source://rbi//lib/rbi/printer.rb#503
829
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
830
+ def print_comment_leading_space(v, last:); end
831
+
832
+ # source://rbi//lib/rbi/model.rb#672
833
+ sig { override.returns(::String) }
834
+ def to_s; end
835
+ end
836
+
837
+ # source://rbi//lib/rbi/model.rb#714
838
+ class RBI::KwRestParam < ::RBI::Param
839
+ # source://rbi//lib/rbi/model.rb#725
840
+ sig do
841
+ params(
842
+ name: ::String,
843
+ loc: T.nilable(::RBI::Loc),
844
+ comments: T::Array[::RBI::Comment],
845
+ block: T.nilable(T.proc.params(node: ::RBI::KwRestParam).void)
846
+ ).void
847
+ end
848
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
849
+
850
+ # source://rbi//lib/rbi/model.rb#736
851
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
852
+ def ==(other); end
853
+
854
+ # source://rbi//lib/rbi/printer.rb#528
855
+ sig { override.params(v: ::RBI::Printer).void }
856
+ def accept_printer(v); end
857
+
858
+ # source://rbi//lib/rbi/printer.rb#533
859
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
860
+ def print_comment_leading_space(v, last:); end
861
+
862
+ # source://rbi//lib/rbi/model.rb#731
863
+ sig { override.returns(::String) }
864
+ def to_s; end
865
+ end
866
+
867
+ # source://rbi//lib/rbi/loc.rb#5
868
+ class RBI::Loc
869
+ # source://rbi//lib/rbi/loc.rb#23
870
+ sig do
871
+ params(
872
+ file: T.nilable(::String),
873
+ begin_line: T.nilable(::Integer),
874
+ end_line: T.nilable(::Integer),
875
+ begin_column: T.nilable(::Integer),
876
+ end_column: T.nilable(::Integer)
877
+ ).void
878
+ end
879
+ 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
880
+
881
+ # @return [Integer, nil]
882
+ #
883
+ # source://rbi//lib/rbi/loc.rb#12
884
+ def begin_column; end
885
+
886
+ # source://rbi//lib/rbi/loc.rb#12
887
+ sig { returns(T.nilable(::Integer)) }
888
+ def begin_line; end
889
+
890
+ # @return [Integer, nil]
891
+ #
892
+ # source://rbi//lib/rbi/loc.rb#12
893
+ def end_column; end
894
+
895
+ # @return [Integer, nil]
896
+ #
897
+ # source://rbi//lib/rbi/loc.rb#12
898
+ def end_line; end
899
+
900
+ # source://rbi//lib/rbi/loc.rb#9
901
+ sig { returns(T.nilable(::String)) }
902
+ def file; end
903
+
904
+ # source://rbi//lib/rbi/loc.rb#37
905
+ sig { returns(T.nilable(::String)) }
906
+ def source; end
907
+
908
+ # source://rbi//lib/rbi/loc.rb#32
909
+ sig { returns(::String) }
910
+ def to_s; end
911
+
912
+ class << self
913
+ # source://rbi//lib/rbi/parser.rb#748
914
+ sig { params(file: ::String, ast_loc: T.any(::Parser::Source::Map, ::Parser::Source::Range)).returns(::RBI::Loc) }
915
+ def from_ast_loc(file, ast_loc); end
916
+ end
917
+ end
918
+
919
+ # A tree that _might_ contain conflicts
920
+ #
921
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#330
922
+ class RBI::MergeTree < ::RBI::Tree
923
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#344
924
+ sig do
925
+ params(
926
+ loc: T.nilable(::RBI::Loc),
927
+ comments: T::Array[::RBI::Comment],
928
+ conflicts: T::Array[::RBI::Rewriters::Merge::Conflict],
929
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
930
+ ).void
931
+ end
932
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end
933
+
934
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#334
935
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
936
+ def conflicts; end
937
+ end
938
+
939
+ # Methods and args
940
+ #
941
+ # source://rbi//lib/rbi/model.rb#483
942
+ class RBI::Method < ::RBI::NodeWithComments
943
+ include ::RBI::Indexable
944
+
945
+ # source://rbi//lib/rbi/model.rb#513
946
+ sig do
947
+ params(
948
+ name: ::String,
949
+ params: T::Array[::RBI::Param],
950
+ is_singleton: T::Boolean,
951
+ visibility: ::RBI::Visibility,
952
+ sigs: T::Array[::RBI::Sig],
953
+ loc: T.nilable(::RBI::Loc),
954
+ comments: T::Array[::RBI::Comment],
955
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
956
+ ).void
957
+ end
958
+ 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
959
+
960
+ # source://rbi//lib/rbi/model.rb#533
961
+ sig { params(param: ::RBI::Param).void }
962
+ def <<(param); end
963
+
964
+ # source://rbi//lib/rbi/printer.rb#384
965
+ sig { override.params(v: ::RBI::Printer).void }
966
+ def accept_printer(v); end
967
+
968
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#461
969
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
970
+ def compatible_with?(other); end
971
+
972
+ # source://rbi//lib/rbi/model.rb#538
973
+ sig { returns(::String) }
974
+ def fully_qualified_name; end
975
+
976
+ # source://rbi//lib/rbi/index.rb#123
977
+ sig { override.returns(T::Array[::String]) }
978
+ def index_ids; end
979
+
980
+ # source://rbi//lib/rbi/printer.rb#437
981
+ sig { returns(T::Boolean) }
982
+ def inline_params?; end
983
+
984
+ # source://rbi//lib/rbi/model.rb#493
985
+ sig { returns(T::Boolean) }
986
+ def is_singleton; end
987
+
988
+ # @return [Boolean]
989
+ #
990
+ # source://rbi//lib/rbi/model.rb#493
991
+ def is_singleton=(_arg0); end
992
+
993
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#470
994
+ sig { override.params(other: ::RBI::Node).void }
995
+ def merge_with(other); end
996
+
997
+ # source://rbi//lib/rbi/model.rb#487
998
+ sig { returns(::String) }
999
+ def name; end
1000
+
1001
+ # @return [String]
1002
+ #
1003
+ # source://rbi//lib/rbi/model.rb#487
1004
+ def name=(_arg0); end
1005
+
1006
+ # source://rbi//lib/rbi/printer.rb#432
1007
+ sig { override.returns(T::Boolean) }
1008
+ def oneline?; end
1009
+
1010
+ # source://rbi//lib/rbi/model.rb#490
1011
+ sig { returns(T::Array[::RBI::Param]) }
1012
+ def params; end
1013
+
1014
+ # source://rbi//lib/rbi/model.rb#499
1015
+ sig { returns(T::Array[::RBI::Sig]) }
1016
+ def sigs; end
1017
+
1018
+ # @return [Array<Sig>]
1019
+ #
1020
+ # source://rbi//lib/rbi/model.rb#499
1021
+ def sigs=(_arg0); end
1022
+
1023
+ # source://rbi//lib/rbi/model.rb#547
1024
+ sig { override.returns(::String) }
1025
+ def to_s; end
1026
+
1027
+ # source://rbi//lib/rbi/model.rb#496
1028
+ sig { returns(::RBI::Visibility) }
1029
+ def visibility; end
1030
+
1031
+ # @return [Visibility]
1032
+ #
1033
+ # source://rbi//lib/rbi/model.rb#496
1034
+ def visibility=(_arg0); end
1035
+ end
1036
+
1037
+ # source://rbi//lib/rbi/model.rb#1355
1038
+ class RBI::MixesInClassMethods < ::RBI::Mixin
1039
+ include ::RBI::Indexable
1040
+
1041
+ # source://rbi//lib/rbi/model.rb#1367
1042
+ sig do
1043
+ params(
1044
+ name: ::String,
1045
+ names: ::String,
1046
+ loc: T.nilable(::RBI::Loc),
1047
+ comments: T::Array[::RBI::Comment],
1048
+ block: T.nilable(T.proc.params(node: ::RBI::MixesInClassMethods).void)
1049
+ ).void
1050
+ end
1051
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1052
+
1053
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#511
1054
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1055
+ def compatible_with?(other); end
1056
+
1057
+ # source://rbi//lib/rbi/index.rb#153
1058
+ sig { override.returns(T::Array[::String]) }
1059
+ def index_ids; end
1060
+
1061
+ # source://rbi//lib/rbi/model.rb#1373
1062
+ sig { override.returns(::String) }
1063
+ def to_s; end
1064
+ end
1065
+
1066
+ # Mixins
1067
+ #
1068
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1069
+ #
1070
+ # source://rbi//lib/rbi/model.rb#770
1071
+ class RBI::Mixin < ::RBI::NodeWithComments
1072
+ abstract!
1073
+
1074
+ # source://rbi//lib/rbi/model.rb#787
1075
+ sig do
1076
+ params(
1077
+ name: ::String,
1078
+ names: T::Array[::String],
1079
+ loc: T.nilable(::RBI::Loc),
1080
+ comments: T::Array[::RBI::Comment]
1081
+ ).void
1082
+ end
1083
+ def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1084
+
1085
+ # source://rbi//lib/rbi/printer.rb#558
1086
+ sig { override.params(v: ::RBI::Printer).void }
1087
+ def accept_printer(v); end
1088
+
1089
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#484
1090
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1091
+ def compatible_with?(other); end
1092
+
1093
+ # source://rbi//lib/rbi/model.rb#777
1094
+ sig { returns(T::Array[::String]) }
1095
+ def names; end
1096
+
1097
+ # @return [Array<String>]
1098
+ #
1099
+ # source://rbi//lib/rbi/model.rb#777
1100
+ def names=(_arg0); end
1101
+ end
1102
+
1103
+ # source://rbi//lib/rbi/model.rb#190
1104
+ class RBI::Module < ::RBI::Scope
1105
+ # source://rbi//lib/rbi/model.rb#204
1106
+ sig do
1107
+ params(
1108
+ name: ::String,
1109
+ loc: T.nilable(::RBI::Loc),
1110
+ comments: T::Array[::RBI::Comment],
1111
+ block: T.nilable(T.proc.params(node: ::RBI::Module).void)
1112
+ ).void
1113
+ end
1114
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1115
+
1116
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#385
1117
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1118
+ def compatible_with?(other); end
1119
+
1120
+ # source://rbi//lib/rbi/model.rb#211
1121
+ sig { override.returns(::String) }
1122
+ def fully_qualified_name; end
1123
+
1124
+ # source://rbi//lib/rbi/model.rb#194
1125
+ sig { returns(::String) }
1126
+ def name; end
1127
+
1128
+ # @return [String]
1129
+ #
1130
+ # source://rbi//lib/rbi/model.rb#194
1131
+ def name=(_arg0); end
1132
+
1133
+ # source://rbi//lib/rbi/printer.rb#270
1134
+ sig { override.params(v: ::RBI::Printer).void }
1135
+ def print_header(v); end
1136
+ end
1137
+
1138
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1139
+ #
1140
+ # source://rbi//lib/rbi/model.rb#5
1141
+ class RBI::Node
1142
+ abstract!
1143
+
1144
+ # source://rbi//lib/rbi/model.rb#18
1145
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
1146
+ def initialize(loc: T.unsafe(nil)); end
1147
+
1148
+ # @abstract
1149
+ #
1150
+ # source://rbi//lib/rbi/printer.rb#146
1151
+ sig { abstract.params(v: ::RBI::Printer).void }
1152
+ def accept_printer(v); end
1153
+
1154
+ # Can `self` and `_other` be merged into a single definition?
1155
+ #
1156
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#287
1157
+ sig { params(_other: ::RBI::Node).returns(T::Boolean) }
1158
+ def compatible_with?(_other); end
1159
+
1160
+ # source://rbi//lib/rbi/model.rb#24
1161
+ sig { void }
1162
+ def detach; end
1163
+
1164
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#48
1165
+ sig { returns(::RBI::Group::Kind) }
1166
+ def group_kind; end
1167
+
1168
+ # source://rbi//lib/rbi/model.rb#15
1169
+ sig { returns(T.nilable(::RBI::Loc)) }
1170
+ def loc; end
1171
+
1172
+ # @return [Loc, nil]
1173
+ #
1174
+ # source://rbi//lib/rbi/model.rb#15
1175
+ def loc=(_arg0); end
1176
+
1177
+ # Merge `self` and `other` into a single definition
1178
+ #
1179
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#293
1180
+ sig { params(other: ::RBI::Node).void }
1181
+ def merge_with(other); end
1182
+
1183
+ # source://rbi//lib/rbi/printer.rb#179
1184
+ sig { returns(T::Boolean) }
1185
+ def oneline?; end
1186
+
1187
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#296
1188
+ sig { returns(T.nilable(::RBI::ConflictTree)) }
1189
+ def parent_conflict_tree; end
1190
+
1191
+ # source://rbi//lib/rbi/model.rb#46
1192
+ sig { returns(T.nilable(::RBI::Scope)) }
1193
+ def parent_scope; end
1194
+
1195
+ # source://rbi//lib/rbi/model.rb#12
1196
+ sig { returns(T.nilable(::RBI::Tree)) }
1197
+ def parent_tree; end
1198
+
1199
+ # @return [Tree, nil]
1200
+ #
1201
+ # source://rbi//lib/rbi/model.rb#12
1202
+ def parent_tree=(_arg0); end
1203
+
1204
+ # source://rbi//lib/rbi/printer.rb#156
1205
+ sig do
1206
+ params(
1207
+ out: T.any(::IO, ::StringIO),
1208
+ indent: ::Integer,
1209
+ print_locs: T::Boolean,
1210
+ max_line_length: T.nilable(::Integer)
1211
+ ).void
1212
+ end
1213
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1214
+
1215
+ # source://rbi//lib/rbi/printer.rb#169
1216
+ sig { params(v: ::RBI::Printer).void }
1217
+ def print_blank_line_before(v); end
1218
+
1219
+ # source://rbi//lib/rbi/model.rb#33
1220
+ sig { params(node: ::RBI::Node).void }
1221
+ def replace(node); end
1222
+
1223
+ # source://rbi//lib/rbi/printer.rb#162
1224
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
1225
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1226
+ end
1227
+
1228
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1229
+ #
1230
+ # source://rbi//lib/rbi/model.rb#83
1231
+ class RBI::NodeWithComments < ::RBI::Node
1232
+ abstract!
1233
+
1234
+ # source://rbi//lib/rbi/model.rb#93
1235
+ sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1236
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1237
+
1238
+ # source://rbi//lib/rbi/model.rb#99
1239
+ sig { returns(T::Array[::String]) }
1240
+ def annotations; end
1241
+
1242
+ # source://rbi//lib/rbi/model.rb#90
1243
+ sig { returns(T::Array[::RBI::Comment]) }
1244
+ def comments; end
1245
+
1246
+ # @return [Array<Comment>]
1247
+ #
1248
+ # source://rbi//lib/rbi/model.rb#90
1249
+ def comments=(_arg0); end
1250
+
1251
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#311
1252
+ sig { override.params(other: ::RBI::Node).void }
1253
+ def merge_with(other); end
1254
+
1255
+ # source://rbi//lib/rbi/printer.rb#188
1256
+ sig { override.returns(T::Boolean) }
1257
+ def oneline?; end
1258
+ end
1259
+
1260
+ # source://rbi//lib/rbi/model.rb#601
1261
+ class RBI::OptParam < ::RBI::Param
1262
+ # source://rbi//lib/rbi/model.rb#616
1263
+ sig do
1264
+ params(
1265
+ name: ::String,
1266
+ value: ::String,
1267
+ loc: T.nilable(::RBI::Loc),
1268
+ comments: T::Array[::RBI::Comment],
1269
+ block: T.nilable(T.proc.params(node: ::RBI::OptParam).void)
1270
+ ).void
1271
+ end
1272
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1273
+
1274
+ # source://rbi//lib/rbi/model.rb#623
1275
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1276
+ def ==(other); end
1277
+
1278
+ # source://rbi//lib/rbi/printer.rb#468
1279
+ sig { override.params(v: ::RBI::Printer).void }
1280
+ def accept_printer(v); end
1281
+
1282
+ # source://rbi//lib/rbi/printer.rb#473
1283
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
1284
+ def print_comment_leading_space(v, last:); end
1285
+
1286
+ # source://rbi//lib/rbi/model.rb#605
1287
+ sig { returns(::String) }
1288
+ def value; end
1289
+ end
1290
+
1291
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1292
+ #
1293
+ # source://rbi//lib/rbi/model.rb#552
1294
+ class RBI::Param < ::RBI::NodeWithComments
1295
+ abstract!
1296
+
1297
+ # source://rbi//lib/rbi/model.rb#568
1298
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1299
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1300
+
1301
+ # source://rbi//lib/rbi/printer.rb#446
1302
+ sig { override.params(v: ::RBI::Printer).void }
1303
+ def accept_printer(v); end
1304
+
1305
+ # source://rbi//lib/rbi/printer.rb#459
1306
+ sig { returns(T::Array[::String]) }
1307
+ def comments_lines; end
1308
+
1309
+ # source://rbi//lib/rbi/model.rb#559
1310
+ sig { returns(::String) }
1311
+ def name; end
1312
+
1313
+ # source://rbi//lib/rbi/printer.rb#451
1314
+ sig { params(v: ::RBI::Printer, last: T::Boolean).void }
1315
+ def print_comment_leading_space(v, last:); end
1316
+
1317
+ # source://rbi//lib/rbi/model.rb#574
1318
+ sig { override.returns(::String) }
1319
+ def to_s; end
1320
+ end
1321
+
1322
+ # source://rbi//lib/rbi/parser.rb#7
1323
+ class RBI::ParseError < ::StandardError
1324
+ # source://rbi//lib/rbi/parser.rb#14
1325
+ sig { params(message: ::String, location: ::RBI::Loc).void }
1326
+ def initialize(message, location); end
1327
+
1328
+ # source://rbi//lib/rbi/parser.rb#11
1329
+ sig { returns(::RBI::Loc) }
1330
+ def location; end
1331
+ end
1332
+
1333
+ # source://rbi//lib/rbi/parser.rb#53
1334
+ class RBI::Parser
1335
+ # source://rbi//lib/rbi/parser.rb#64
1336
+ sig { void }
1337
+ def initialize; end
1338
+
1339
+ # source://rbi//lib/rbi/parser.rb#101
1340
+ sig { params(path: ::String).returns(::RBI::Tree) }
1341
+ def parse_file(path); end
1342
+
1343
+ # source://rbi//lib/rbi/parser.rb#96
1344
+ sig { params(string: ::String).returns(::RBI::Tree) }
1345
+ def parse_string(string); end
1346
+
1347
+ private
1348
+
1349
+ # source://rbi//lib/rbi/parser.rb#108
1350
+ sig { params(content: ::String, file: ::String).returns(::RBI::Tree) }
1351
+ def parse(content, file:); end
1352
+
1353
+ class << self
1354
+ # source://rbi//lib/rbi/parser.rb#78
1355
+ sig { params(path: ::String).returns(::RBI::Tree) }
1356
+ def parse_file(path); end
1357
+
1358
+ # source://rbi//lib/rbi/parser.rb#83
1359
+ sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1360
+ def parse_files(paths); end
1361
+
1362
+ # source://rbi//lib/rbi/parser.rb#73
1363
+ sig { params(string: ::String).returns(::RBI::Tree) }
1364
+ def parse_string(string); end
1365
+
1366
+ # source://rbi//lib/rbi/parser.rb#89
1367
+ sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1368
+ def parse_strings(strings); end
1369
+ end
1370
+ end
1371
+
1372
+ # source://rbi//lib/rbi/printer.rb#5
1373
+ class RBI::Printer < ::RBI::Visitor
1374
+ # source://rbi//lib/rbi/printer.rb#28
1375
+ sig do
1376
+ params(
1377
+ out: T.any(::IO, ::StringIO),
1378
+ indent: ::Integer,
1379
+ print_locs: T::Boolean,
1380
+ max_line_length: T.nilable(::Integer)
1381
+ ).void
1382
+ end
1383
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1384
+
1385
+ # source://rbi//lib/rbi/printer.rb#15
1386
+ sig { returns(::Integer) }
1387
+ def current_indent; end
1388
+
1389
+ # source://rbi//lib/rbi/printer.rb#46
1390
+ sig { void }
1391
+ def dedent; end
1392
+
1393
+ # @return [Boolean]
1394
+ #
1395
+ # source://rbi//lib/rbi/printer.rb#9
1396
+ def in_visibility_group; end
1397
+
1398
+ # @return [Boolean]
1399
+ #
1400
+ # source://rbi//lib/rbi/printer.rb#9
1401
+ def in_visibility_group=(_arg0); end
1402
+
1403
+ # Printing
1404
+ #
1405
+ # source://rbi//lib/rbi/printer.rb#41
1406
+ sig { void }
1407
+ def indent; end
1408
+
1409
+ # source://rbi//lib/rbi/printer.rb#18
1410
+ sig { returns(T.nilable(::Integer)) }
1411
+ def max_line_length; end
1412
+
1413
+ # source://rbi//lib/rbi/printer.rb#12
1414
+ sig { returns(T.nilable(::RBI::Node)) }
1415
+ def previous_node; end
1416
+
1417
+ # Print a string without indentation nor `\n` at the end.
1418
+ #
1419
+ # source://rbi//lib/rbi/printer.rb#52
1420
+ sig { params(string: ::String).void }
1421
+ def print(string); end
1422
+
1423
+ # source://rbi//lib/rbi/printer.rb#9
1424
+ sig { returns(T::Boolean) }
1425
+ def print_locs; end
1426
+
1427
+ # @return [Boolean]
1428
+ #
1429
+ # source://rbi//lib/rbi/printer.rb#9
1430
+ def print_locs=(_arg0); end
1431
+
1432
+ # Print a string with indentation and `\n` at the end.
1433
+ #
1434
+ # source://rbi//lib/rbi/printer.rb#72
1435
+ sig { params(string: ::String).void }
1436
+ def printl(string); end
1437
+
1438
+ # Print a string without indentation but with a `\n` at the end.
1439
+ #
1440
+ # source://rbi//lib/rbi/printer.rb#58
1441
+ sig { params(string: T.nilable(::String)).void }
1442
+ def printn(string = T.unsafe(nil)); end
1443
+
1444
+ # Print a string with indentation but without a `\n` at the end.
1445
+ #
1446
+ # source://rbi//lib/rbi/printer.rb#65
1447
+ sig { params(string: T.nilable(::String)).void }
1448
+ def printt(string = T.unsafe(nil)); end
1449
+
1450
+ # source://rbi//lib/rbi/printer.rb#83
1451
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1452
+ def visit(node); end
1453
+
1454
+ # source://rbi//lib/rbi/printer.rb#90
1455
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1456
+ def visit_all(nodes); end
1457
+
1458
+ # source://rbi//lib/rbi/printer.rb#78
1459
+ sig { params(file: ::RBI::File).void }
1460
+ def visit_file(file); end
1461
+ end
1462
+
1463
+ # source://rbi//lib/rbi/model.rb#909
1464
+ class RBI::Private < ::RBI::Visibility
1465
+ # source://rbi//lib/rbi/model.rb#919
1466
+ sig do
1467
+ params(
1468
+ loc: T.nilable(::RBI::Loc),
1469
+ comments: T::Array[::RBI::Comment],
1470
+ block: T.nilable(T.proc.params(node: ::RBI::Private).void)
1471
+ ).void
1472
+ end
1473
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1474
+ end
1475
+
1476
+ # source://rbi//lib/rbi/model.rb#893
1477
+ class RBI::Protected < ::RBI::Visibility
1478
+ # source://rbi//lib/rbi/model.rb#903
1479
+ sig do
1480
+ params(
1481
+ loc: T.nilable(::RBI::Loc),
1482
+ comments: T::Array[::RBI::Comment],
1483
+ block: T.nilable(T.proc.params(node: ::RBI::Protected).void)
1484
+ ).void
1485
+ end
1486
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1487
+ end
1488
+
1489
+ # source://rbi//lib/rbi/model.rb#877
1490
+ class RBI::Public < ::RBI::Visibility
1491
+ # source://rbi//lib/rbi/model.rb#887
1492
+ sig do
1493
+ params(
1494
+ loc: T.nilable(::RBI::Loc),
1495
+ comments: T::Array[::RBI::Comment],
1496
+ block: T.nilable(T.proc.params(node: ::RBI::Public).void)
1497
+ ).void
1498
+ end
1499
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1500
+ end
1501
+
1502
+ # source://rbi//lib/rbi/model.rb#579
1503
+ class RBI::ReqParam < ::RBI::Param
1504
+ # source://rbi//lib/rbi/model.rb#590
1505
+ sig do
1506
+ params(
1507
+ name: ::String,
1508
+ loc: T.nilable(::RBI::Loc),
1509
+ comments: T::Array[::RBI::Comment],
1510
+ block: T.nilable(T.proc.params(node: ::RBI::ReqParam).void)
1511
+ ).void
1512
+ end
1513
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1514
+
1515
+ # source://rbi//lib/rbi/model.rb#596
1516
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1517
+ def ==(other); end
1518
+ end
1519
+
1520
+ # source://rbi//lib/rbi/model.rb#1378
1521
+ class RBI::RequiresAncestor < ::RBI::NodeWithComments
1522
+ include ::RBI::Indexable
1523
+
1524
+ # source://rbi//lib/rbi/model.rb#1391
1525
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1526
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1527
+
1528
+ # source://rbi//lib/rbi/printer.rb#870
1529
+ sig { override.params(v: ::RBI::Printer).void }
1530
+ def accept_printer(v); end
1531
+
1532
+ # source://rbi//lib/rbi/index.rb#163
1533
+ sig { override.returns(T::Array[::String]) }
1534
+ def index_ids; end
1535
+
1536
+ # source://rbi//lib/rbi/model.rb#1382
1537
+ sig { returns(::String) }
1538
+ def name; end
1539
+
1540
+ # source://rbi//lib/rbi/model.rb#1397
1541
+ sig { override.returns(::String) }
1542
+ def to_s; end
1543
+ end
1544
+
1545
+ # source://rbi//lib/rbi/model.rb#628
1546
+ class RBI::RestParam < ::RBI::Param
1547
+ # source://rbi//lib/rbi/model.rb#639
1548
+ sig do
1549
+ params(
1550
+ name: ::String,
1551
+ loc: T.nilable(::RBI::Loc),
1552
+ comments: T::Array[::RBI::Comment],
1553
+ block: T.nilable(T.proc.params(node: ::RBI::RestParam).void)
1554
+ ).void
1555
+ end
1556
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1557
+
1558
+ # source://rbi//lib/rbi/model.rb#650
1559
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1560
+ def ==(other); end
1561
+
1562
+ # source://rbi//lib/rbi/printer.rb#483
1563
+ sig { override.params(v: ::RBI::Printer).void }
1564
+ def accept_printer(v); end
1565
+
1566
+ # source://rbi//lib/rbi/printer.rb#488
1567
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
1568
+ def print_comment_leading_space(v, last:); end
1569
+
1570
+ # source://rbi//lib/rbi/model.rb#645
1571
+ sig { override.returns(::String) }
1572
+ def to_s; end
1573
+ end
1574
+
1575
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#5
1576
+ module RBI::Rewriters; end
1577
+
1578
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#6
1579
+ class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor
1580
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#10
1581
+ sig { params(with_todo_comment: T::Boolean).void }
1582
+ def initialize(with_todo_comment: T.unsafe(nil)); end
1583
+
1584
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#16
1585
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1586
+ def visit(node); end
1587
+
1588
+ private
1589
+
1590
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#30
1591
+ sig { params(attr: ::RBI::Attr).void }
1592
+ def add_attr_sig(attr); end
1593
+
1594
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#45
1595
+ sig { params(method: ::RBI::Method).void }
1596
+ def add_method_sig(method); end
1597
+
1598
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#56
1599
+ sig { params(node: ::RBI::NodeWithComments).void }
1600
+ def add_todo_comment(node); end
1601
+ end
1602
+
1603
+ # source://rbi//lib/rbi/rewriters/annotate.rb#6
1604
+ class RBI::Rewriters::Annotate < ::RBI::Visitor
1605
+ # source://rbi//lib/rbi/rewriters/annotate.rb#10
1606
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
1607
+ def initialize(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
1608
+
1609
+ # source://rbi//lib/rbi/rewriters/annotate.rb#18
1610
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1611
+ def visit(node); end
1612
+
1613
+ private
1614
+
1615
+ # source://rbi//lib/rbi/rewriters/annotate.rb#31
1616
+ sig { params(node: ::RBI::NodeWithComments).void }
1617
+ def annotate_node(node); end
1618
+
1619
+ # source://rbi//lib/rbi/rewriters/annotate.rb#38
1620
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
1621
+ def root?(node); end
1622
+ end
1623
+
1624
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#6
1625
+ class RBI::Rewriters::Deannotate < ::RBI::Visitor
1626
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#10
1627
+ sig { params(annotation: ::String).void }
1628
+ def initialize(annotation); end
1629
+
1630
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#16
1631
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1632
+ def visit(node); end
1633
+
1634
+ private
1635
+
1636
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#27
1637
+ sig { params(node: ::RBI::NodeWithComments).void }
1638
+ def deannotate_node(node); end
1639
+ end
1640
+
1641
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#6
1642
+ class RBI::Rewriters::GroupNodes < ::RBI::Visitor
1643
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#10
1644
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1645
+ def visit(node); end
1646
+ end
1647
+
1648
+ # Merge two RBI trees together
1649
+ #
1650
+ # Be this `Tree`:
1651
+ # ~~~rb
1652
+ # class Foo
1653
+ # attr_accessor :a
1654
+ # def m; end
1655
+ # C = 10
1656
+ # end
1657
+ # ~~~
1658
+ #
1659
+ # Merged with this one:
1660
+ # ~~~rb
1661
+ # class Foo
1662
+ # attr_reader :a
1663
+ # def m(x); end
1664
+ # C = 10
1665
+ # end
1666
+ # ~~~
1667
+ #
1668
+ # Compatible definitions are merged together while incompatible definitions are moved into a `ConflictTree`:
1669
+ # ~~~rb
1670
+ # class Foo
1671
+ # <<<<<<< left
1672
+ # attr_accessor :a
1673
+ # def m; end
1674
+ # =======
1675
+ # attr_reader :a
1676
+ # def m(x); end
1677
+ # >>>>>>> right
1678
+ # C = 10
1679
+ # end
1680
+ # ~~~
1681
+ #
1682
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#39
1683
+ class RBI::Rewriters::Merge
1684
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#70
1685
+ sig { params(left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void }
1686
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1687
+
1688
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#79
1689
+ sig { params(tree: ::RBI::Tree).void }
1690
+ def merge(tree); end
1691
+
1692
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#67
1693
+ sig { returns(::RBI::MergeTree) }
1694
+ def tree; end
1695
+
1696
+ class << self
1697
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#54
1698
+ sig do
1699
+ params(
1700
+ left: ::RBI::Tree,
1701
+ right: ::RBI::Tree,
1702
+ left_name: ::String,
1703
+ right_name: ::String,
1704
+ keep: ::RBI::Rewriters::Merge::Keep
1705
+ ).returns(::RBI::MergeTree)
1706
+ end
1707
+ def merge_trees(left, right, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1708
+ end
1709
+ end
1710
+
1711
+ # Used for logging / error displaying purpose
1712
+ #
1713
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#86
1714
+ class RBI::Rewriters::Merge::Conflict < ::T::Struct
1715
+ const :left, ::RBI::Node
1716
+ const :right, ::RBI::Node
1717
+ const :left_name, ::String
1718
+ const :right_name, ::String
1719
+
1720
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#95
1721
+ sig { returns(::String) }
1722
+ def to_s; end
1723
+
1724
+ class << self
1725
+ # source://sorbet-runtime/0.5.10990/lib/types/struct.rb#13
1726
+ def inherited(s); end
1727
+ end
1728
+ end
1729
+
1730
+ # Merge adjacent conflict trees
1731
+ #
1732
+ # Transform this:
1733
+ # ~~~rb
1734
+ # class Foo
1735
+ # <<<<<<< left
1736
+ # def m1; end
1737
+ # =======
1738
+ # def m1(a); end
1739
+ # >>>>>>> right
1740
+ # <<<<<<< left
1741
+ # def m2(a); end
1742
+ # =======
1743
+ # def m2; end
1744
+ # >>>>>>> right
1745
+ # end
1746
+ # ~~~
1747
+ #
1748
+ # Into this:
1749
+ # ~~~rb
1750
+ # class Foo
1751
+ # <<<<<<< left
1752
+ # def m1; end
1753
+ # def m2(a); end
1754
+ # =======
1755
+ # def m1(a); end
1756
+ # def m2; end
1757
+ # >>>>>>> right
1758
+ # end
1759
+ # ~~~
1760
+ #
1761
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#245
1762
+ class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
1763
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#247
1764
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1765
+ def visit(node); end
1766
+
1767
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#252
1768
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1769
+ def visit_all(nodes); end
1770
+
1771
+ private
1772
+
1773
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#273
1774
+ sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void }
1775
+ def merge_conflict_trees(left, right); end
1776
+ end
1777
+
1778
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#42
1779
+ class RBI::Rewriters::Merge::Keep < ::T::Enum
1780
+ enums do
1781
+ NONE = new
1782
+ LEFT = new
1783
+ RIGHT = new
1784
+ end
1785
+ end
1786
+
1787
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#100
1788
+ class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
1789
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#107
1790
+ sig do
1791
+ params(output: ::RBI::Tree, left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void
1792
+ end
1793
+ def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1794
+
1795
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#104
1796
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
1797
+ def conflicts; end
1798
+
1799
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#119
1800
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1801
+ def visit(node); end
1802
+
1803
+ private
1804
+
1805
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#168
1806
+ sig { returns(::RBI::Tree) }
1807
+ def current_scope; end
1808
+
1809
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#185
1810
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void }
1811
+ def make_conflict_scope(left, right); end
1812
+
1813
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#192
1814
+ sig { params(left: ::RBI::Node, right: ::RBI::Node).void }
1815
+ def make_conflict_tree(left, right); end
1816
+
1817
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#173
1818
+ sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) }
1819
+ def previous_definition(node); end
1820
+
1821
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#204
1822
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) }
1823
+ def replace_scope_header(left, right); end
1824
+ end
1825
+
1826
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#6
1827
+ class RBI::Rewriters::NestNonPublicMethods < ::RBI::Visitor
1828
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#10
1829
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1830
+ def visit(node); end
1831
+ end
1832
+
1833
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#6
1834
+ class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor
1835
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#10
1836
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1837
+ def visit(node); end
1838
+ end
1839
+
1840
+ # Remove all definitions existing in the index from the current tree
1841
+ #
1842
+ # Let's create an `Index` from two different `Tree`s:
1843
+ # ~~~rb
1844
+ # tree1 = Parse.parse_string(<<~RBI)
1845
+ # class Foo
1846
+ # def foo; end
1847
+ # end
1848
+ # RBI
1849
+ #
1850
+ # tree2 = Parse.parse_string(<<~RBI)
1851
+ # FOO = 10
1852
+ # RBI
1853
+ #
1854
+ # index = Index.index(tree1, tree2)
1855
+ # ~~~
1856
+ #
1857
+ # We can use `RemoveKnownDefinitions` to remove the definitions found in the `index` from the `Tree` to clean:
1858
+ # ~~~rb
1859
+ # tree_to_clean = Parser.parse_string(<<~RBI)
1860
+ # class Foo
1861
+ # def foo; end
1862
+ # def bar; end
1863
+ # end
1864
+ # FOO = 10
1865
+ # BAR = 42
1866
+ # RBI
1867
+ #
1868
+ # cleaned_tree, operations = RemoveKnownDefinitions.remove(tree_to_clean, index)
1869
+ #
1870
+ # assert_equal(<<~RBI, cleaned_tree)
1871
+ # class Foo
1872
+ # def bar; end
1873
+ # end
1874
+ # BAR = 42
1875
+ # RBI
1876
+ #
1877
+ # assert_equal(<<~OPERATIONS, operations.join("\n"))
1878
+ # Deleted ::Foo#foo at -:2:2-2-16 (duplicate from -:2:2-2:16)
1879
+ # Deleted ::FOO at -:5:0-5:8 (duplicate from -:1:0-1:8)
1880
+ # OPERATIONS
1881
+ # ~~~
1882
+ #
1883
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#48
1884
+ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
1885
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#55
1886
+ sig { params(index: ::RBI::Index).void }
1887
+ def initialize(index); end
1888
+
1889
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#52
1890
+ sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) }
1891
+ def operations; end
1892
+
1893
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#83
1894
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1895
+ def visit(node); end
1896
+
1897
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#78
1898
+ sig { params(nodes: T::Array[::RBI::Node]).void }
1899
+ def visit_all(nodes); end
1900
+
1901
+ private
1902
+
1903
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#111
1904
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) }
1905
+ def can_delete_node?(node, previous); end
1906
+
1907
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#129
1908
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).void }
1909
+ def delete_node(node, previous); end
1910
+
1911
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#102
1912
+ sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) }
1913
+ def previous_definition_for(node); end
1914
+
1915
+ class << self
1916
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#70
1917
+ sig do
1918
+ params(
1919
+ tree: ::RBI::Tree,
1920
+ index: ::RBI::Index
1921
+ ).returns([::RBI::Tree, T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]])
1922
+ end
1923
+ def remove(tree, index); end
1924
+ end
1925
+ end
1926
+
1927
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#134
1928
+ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
1929
+ const :deleted_node, ::RBI::Node
1930
+ const :duplicate_of, ::RBI::Node
1931
+
1932
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#141
1933
+ sig { returns(::String) }
1934
+ def to_s; end
1935
+
1936
+ class << self
1937
+ # source://sorbet-runtime/0.5.10990/lib/types/struct.rb#13
1938
+ def inherited(s); end
1939
+ end
1940
+ end
1941
+
1942
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#6
1943
+ class RBI::Rewriters::SortNodes < ::RBI::Visitor
1944
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#10
1945
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1946
+ def visit(node); end
1947
+
1948
+ private
1949
+
1950
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#73
1951
+ sig { params(kind: ::RBI::Group::Kind).returns(::Integer) }
1952
+ def group_rank(kind); end
1953
+
1954
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#94
1955
+ sig { params(node: ::RBI::Node).returns(T.nilable(::String)) }
1956
+ def node_name(node); end
1957
+
1958
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#45
1959
+ sig { params(node: ::RBI::Node).returns(::Integer) }
1960
+ def node_rank(node); end
1961
+
1962
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#106
1963
+ sig { params(node: ::RBI::Node).void }
1964
+ def sort_node_names!(node); end
1965
+ end
1966
+
1967
+ # Scopes
1968
+ #
1969
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1970
+ #
1971
+ # source://rbi//lib/rbi/model.rb#176
1972
+ class RBI::Scope < ::RBI::Tree
1973
+ include ::RBI::Indexable
1974
+
1975
+ abstract!
1976
+
1977
+ # source://rbi//lib/rbi/printer.rb#242
1978
+ sig { override.params(v: ::RBI::Printer).void }
1979
+ def accept_printer(v); end
1980
+
1981
+ # Duplicate `self` scope without its body
1982
+ #
1983
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#356
1984
+ sig { returns(T.self_type) }
1985
+ def dup_empty; end
1986
+
1987
+ # @abstract
1988
+ #
1989
+ # source://rbi//lib/rbi/model.rb#182
1990
+ sig { abstract.returns(::String) }
1991
+ def fully_qualified_name; end
1992
+
1993
+ # source://rbi//lib/rbi/index.rb#93
1994
+ sig { override.returns(T::Array[::String]) }
1995
+ def index_ids; end
1996
+
1997
+ # source://rbi//lib/rbi/printer.rb#256
1998
+ sig { params(v: ::RBI::Printer).void }
1999
+ def print_body(v); end
2000
+
2001
+ # @abstract
2002
+ #
2003
+ # source://rbi//lib/rbi/printer.rb#253
2004
+ sig { abstract.params(v: ::RBI::Printer).void }
2005
+ def print_header(v); end
2006
+
2007
+ # source://rbi//lib/rbi/model.rb#185
2008
+ sig { override.returns(::String) }
2009
+ def to_s; end
2010
+ end
2011
+
2012
+ # A conflict between two scope headers
2013
+ #
2014
+ # Is rendered as a merge conflict between `left` and` right` for scope definitions:
2015
+ # ~~~rb
2016
+ # <<<<<<< left
2017
+ # class Foo
2018
+ # =======
2019
+ # module Foo
2020
+ # >>>>>>> right
2021
+ # def m1; end
2022
+ # end
2023
+ # ~~~
2024
+ #
2025
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#628
2026
+ class RBI::ScopeConflict < ::RBI::Tree
2027
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#642
2028
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void }
2029
+ def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
2030
+
2031
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#651
2032
+ sig { override.params(v: ::RBI::Printer).void }
2033
+ def accept_printer(v); end
2034
+
2035
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#632
2036
+ sig { returns(::RBI::Scope) }
2037
+ def left; end
2038
+
2039
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#667
2040
+ sig { override.returns(T::Boolean) }
2041
+ def oneline?; end
2042
+
2043
+ # @return [Scope]
2044
+ #
2045
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#632
2046
+ def right; end
2047
+ end
2048
+
2049
+ # Sends
2050
+ #
2051
+ # source://rbi//lib/rbi/model.rb#927
2052
+ class RBI::Send < ::RBI::NodeWithComments
2053
+ include ::RBI::Indexable
2054
+
2055
+ # source://rbi//lib/rbi/model.rb#945
2056
+ sig do
2057
+ params(
2058
+ method: ::String,
2059
+ args: T::Array[::RBI::Arg],
2060
+ loc: T.nilable(::RBI::Loc),
2061
+ comments: T::Array[::RBI::Comment],
2062
+ block: T.nilable(T.proc.params(node: ::RBI::Send).void)
2063
+ ).void
2064
+ end
2065
+ def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2066
+
2067
+ # source://rbi//lib/rbi/model.rb#953
2068
+ sig { params(arg: ::RBI::Arg).void }
2069
+ def <<(arg); end
2070
+
2071
+ # source://rbi//lib/rbi/model.rb#958
2072
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2073
+ def ==(other); end
2074
+
2075
+ # source://rbi//lib/rbi/printer.rb#592
2076
+ sig { override.params(v: ::RBI::Printer).void }
2077
+ def accept_printer(v); end
2078
+
2079
+ # source://rbi//lib/rbi/model.rb#934
2080
+ sig { returns(T::Array[::RBI::Arg]) }
2081
+ def args; end
2082
+
2083
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#529
2084
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2085
+ def compatible_with?(other); end
2086
+
2087
+ # source://rbi//lib/rbi/index.rb#193
2088
+ sig { override.returns(T::Array[::String]) }
2089
+ def index_ids; end
2090
+
2091
+ # source://rbi//lib/rbi/model.rb#931
2092
+ sig { returns(::String) }
2093
+ def method; end
2094
+
2095
+ # source://rbi//lib/rbi/model.rb#963
2096
+ sig { returns(::String) }
2097
+ def to_s; end
2098
+ end
2099
+
2100
+ # Sorbet's sigs
2101
+ #
2102
+ # source://rbi//lib/rbi/model.rb#1027
2103
+ class RBI::Sig < ::RBI::Node
2104
+ # source://rbi//lib/rbi/model.rb#1059
2105
+ sig do
2106
+ params(
2107
+ params: T::Array[::RBI::SigParam],
2108
+ return_type: T.nilable(::String),
2109
+ is_abstract: T::Boolean,
2110
+ is_override: T::Boolean,
2111
+ is_overridable: T::Boolean,
2112
+ is_final: T::Boolean,
2113
+ type_params: T::Array[::String],
2114
+ checked: T.nilable(::Symbol),
2115
+ loc: T.nilable(::RBI::Loc),
2116
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
2117
+ ).void
2118
+ end
2119
+ 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), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), &block); end
2120
+
2121
+ # source://rbi//lib/rbi/model.rb#1084
2122
+ sig { params(param: ::RBI::SigParam).void }
2123
+ def <<(param); end
2124
+
2125
+ # source://rbi//lib/rbi/model.rb#1089
2126
+ sig { params(other: ::Object).returns(T::Boolean) }
2127
+ def ==(other); end
2128
+
2129
+ # source://rbi//lib/rbi/printer.rb#633
2130
+ sig { override.params(v: ::RBI::Printer).void }
2131
+ def accept_printer(v); end
2132
+
2133
+ # source://rbi//lib/rbi/model.rb#1043
2134
+ sig { returns(T.nilable(::Symbol)) }
2135
+ def checked; end
2136
+
2137
+ # @return [Symbol, nil]
2138
+ #
2139
+ # source://rbi//lib/rbi/model.rb#1043
2140
+ def checked=(_arg0); end
2141
+
2142
+ # source://rbi//lib/rbi/printer.rb#656
2143
+ sig { returns(T::Boolean) }
2144
+ def inline_params?; end
2145
+
2146
+ # source://rbi//lib/rbi/model.rb#1037
2147
+ sig { returns(T::Boolean) }
2148
+ def is_abstract; end
2149
+
2150
+ # @return [Boolean]
2151
+ #
2152
+ # source://rbi//lib/rbi/model.rb#1037
2153
+ def is_abstract=(_arg0); end
2154
+
2155
+ # @return [Boolean]
2156
+ #
2157
+ # source://rbi//lib/rbi/model.rb#1037
2158
+ def is_final; end
2159
+
2160
+ # @return [Boolean]
2161
+ #
2162
+ # source://rbi//lib/rbi/model.rb#1037
2163
+ def is_final=(_arg0); end
2164
+
2165
+ # @return [Boolean]
2166
+ #
2167
+ # source://rbi//lib/rbi/model.rb#1037
2168
+ def is_overridable; end
2169
+
2170
+ # @return [Boolean]
2171
+ #
2172
+ # source://rbi//lib/rbi/model.rb#1037
2173
+ def is_overridable=(_arg0); end
2174
+
2175
+ # @return [Boolean]
2176
+ #
2177
+ # source://rbi//lib/rbi/model.rb#1037
2178
+ def is_override; end
2179
+
2180
+ # @return [Boolean]
2181
+ #
2182
+ # source://rbi//lib/rbi/model.rb#1037
2183
+ def is_override=(_arg0); end
2184
+
2185
+ # source://rbi//lib/rbi/printer.rb#651
2186
+ sig { override.returns(T::Boolean) }
2187
+ def oneline?; end
2188
+
2189
+ # source://rbi//lib/rbi/model.rb#1031
2190
+ sig { returns(T::Array[::RBI::SigParam]) }
2191
+ def params; end
2192
+
2193
+ # source://rbi//lib/rbi/model.rb#1034
2194
+ sig { returns(T.nilable(::String)) }
2195
+ def return_type; end
2196
+
2197
+ # @return [String, nil]
2198
+ #
2199
+ # source://rbi//lib/rbi/model.rb#1034
2200
+ def return_type=(_arg0); end
2201
+
2202
+ # source://rbi//lib/rbi/model.rb#1040
2203
+ sig { returns(T::Array[::String]) }
2204
+ def type_params; end
2205
+
2206
+ private
2207
+
2208
+ # source://rbi//lib/rbi/printer.rb#698
2209
+ sig { params(v: ::RBI::Printer).void }
2210
+ def print_as_block(v); end
2211
+
2212
+ # source://rbi//lib/rbi/printer.rb#674
2213
+ sig { params(v: ::RBI::Printer).void }
2214
+ def print_as_line(v); end
2215
+
2216
+ # source://rbi//lib/rbi/printer.rb#663
2217
+ sig { returns(T::Array[::String]) }
2218
+ def sig_modifiers; end
2219
+ end
2220
+
2221
+ # source://rbi//lib/rbi/parser.rb#668
2222
+ class RBI::SigBuilder < ::RBI::ASTVisitor
2223
+ # source://rbi//lib/rbi/parser.rb#675
2224
+ sig { void }
2225
+ def initialize; end
2226
+
2227
+ # source://rbi//lib/rbi/parser.rb#672
2228
+ sig { returns(::RBI::Sig) }
2229
+ def current; end
2230
+
2231
+ # source://rbi//lib/rbi/parser.rb#692
2232
+ sig { override.params(node: T.nilable(::AST::Node)).void }
2233
+ def visit(node); end
2234
+
2235
+ # source://rbi//lib/rbi/parser.rb#702
2236
+ sig { params(node: ::AST::Node).void }
2237
+ def visit_send(node); end
2238
+
2239
+ class << self
2240
+ # source://rbi//lib/rbi/parser.rb#684
2241
+ sig { params(node: ::AST::Node).returns(::RBI::Sig) }
2242
+ def build(node); end
2243
+ end
2244
+ end
2245
+
2246
+ # source://rbi//lib/rbi/model.rb#1098
2247
+ class RBI::SigParam < ::RBI::NodeWithComments
2248
+ # source://rbi//lib/rbi/model.rb#1113
2249
+ sig do
2250
+ params(
2251
+ name: ::String,
2252
+ type: ::String,
2253
+ loc: T.nilable(::RBI::Loc),
2254
+ comments: T::Array[::RBI::Comment],
2255
+ block: T.nilable(T.proc.params(node: ::RBI::SigParam).void)
2256
+ ).void
2257
+ end
2258
+ def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2259
+
2260
+ # source://rbi//lib/rbi/model.rb#1121
2261
+ sig { params(other: ::Object).returns(T::Boolean) }
2262
+ def ==(other); end
2263
+
2264
+ # source://rbi//lib/rbi/printer.rb#751
2265
+ sig { override.params(v: ::RBI::Printer).void }
2266
+ def accept_printer(v); end
2267
+
2268
+ # source://rbi//lib/rbi/printer.rb#764
2269
+ sig { returns(T::Array[::String]) }
2270
+ def comments_lines; end
2271
+
2272
+ # source://rbi//lib/rbi/model.rb#1102
2273
+ sig { returns(::String) }
2274
+ def name; end
2275
+
2276
+ # source://rbi//lib/rbi/printer.rb#756
2277
+ sig { params(v: ::RBI::Printer, last: T::Boolean).void }
2278
+ def print_comment_leading_space(v, last:); end
2279
+
2280
+ # @return [String]
2281
+ #
2282
+ # source://rbi//lib/rbi/model.rb#1102
2283
+ def type; end
2284
+ end
2285
+
2286
+ # source://rbi//lib/rbi/model.rb#251
2287
+ class RBI::SingletonClass < ::RBI::Scope
2288
+ # source://rbi//lib/rbi/model.rb#261
2289
+ sig do
2290
+ params(
2291
+ loc: T.nilable(::RBI::Loc),
2292
+ comments: T::Array[::RBI::Comment],
2293
+ block: T.nilable(T.proc.params(node: ::RBI::SingletonClass).void)
2294
+ ).void
2295
+ end
2296
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2297
+
2298
+ # source://rbi//lib/rbi/model.rb#267
2299
+ sig { override.returns(::String) }
2300
+ def fully_qualified_name; end
2301
+
2302
+ # source://rbi//lib/rbi/printer.rb#321
2303
+ sig { override.params(v: ::RBI::Printer).void }
2304
+ def print_header(v); end
2305
+ end
2306
+
2307
+ # source://rbi//lib/rbi/model.rb#272
2308
+ class RBI::Struct < ::RBI::Scope
2309
+ # source://rbi//lib/rbi/model.rb#294
2310
+ sig do
2311
+ params(
2312
+ name: ::String,
2313
+ members: T::Array[::Symbol],
2314
+ keyword_init: T::Boolean,
2315
+ loc: T.nilable(::RBI::Loc),
2316
+ comments: T::Array[::RBI::Comment],
2317
+ block: T.nilable(T.proc.params(struct: ::RBI::Struct).void)
2318
+ ).void
2319
+ end
2320
+ def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2321
+
2322
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#394
2323
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2324
+ def compatible_with?(other); end
2325
+
2326
+ # source://rbi//lib/rbi/model.rb#303
2327
+ sig { override.returns(::String) }
2328
+ def fully_qualified_name; end
2329
+
2330
+ # source://rbi//lib/rbi/model.rb#282
2331
+ sig { returns(T::Boolean) }
2332
+ def keyword_init; end
2333
+
2334
+ # @return [Boolean]
2335
+ #
2336
+ # source://rbi//lib/rbi/model.rb#282
2337
+ def keyword_init=(_arg0); end
2338
+
2339
+ # source://rbi//lib/rbi/model.rb#279
2340
+ sig { returns(T::Array[::Symbol]) }
2341
+ def members; end
2342
+
2343
+ # @return [Array<Symbol>]
2344
+ #
2345
+ # source://rbi//lib/rbi/model.rb#279
2346
+ def members=(_arg0); end
2347
+
2348
+ # source://rbi//lib/rbi/model.rb#276
2349
+ sig { returns(::String) }
2350
+ def name; end
2351
+
2352
+ # @return [String]
2353
+ #
2354
+ # source://rbi//lib/rbi/model.rb#276
2355
+ def name=(_arg0); end
2356
+
2357
+ # source://rbi//lib/rbi/printer.rb#300
2358
+ sig { override.params(v: ::RBI::Printer).void }
2359
+ def print_header(v); end
2360
+ end
2361
+
2362
+ # Sorbet's T::Enum
2363
+ #
2364
+ # source://rbi//lib/rbi/model.rb#1239
2365
+ class RBI::TEnum < ::RBI::Class
2366
+ # source://rbi//lib/rbi/model.rb#1250
2367
+ sig do
2368
+ params(
2369
+ name: ::String,
2370
+ loc: T.nilable(::RBI::Loc),
2371
+ comments: T::Array[::RBI::Comment],
2372
+ block: T.nilable(T.proc.params(klass: ::RBI::TEnum).void)
2373
+ ).void
2374
+ end
2375
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2376
+ end
2377
+
2378
+ # source://rbi//lib/rbi/model.rb#1256
2379
+ class RBI::TEnumBlock < ::RBI::NodeWithComments
2380
+ include ::RBI::Indexable
2381
+
2382
+ # source://rbi//lib/rbi/model.rb#1270
2383
+ sig do
2384
+ params(
2385
+ names: T::Array[::String],
2386
+ loc: T.nilable(::RBI::Loc),
2387
+ comments: T::Array[::RBI::Comment],
2388
+ block: T.nilable(T.proc.params(node: ::RBI::TEnumBlock).void)
2389
+ ).void
2390
+ end
2391
+ def initialize(names = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2392
+
2393
+ # source://rbi//lib/rbi/model.rb#1282
2394
+ sig { params(name: ::String).void }
2395
+ def <<(name); end
2396
+
2397
+ # source://rbi//lib/rbi/printer.rb#795
2398
+ sig { override.params(v: ::RBI::Printer).void }
2399
+ def accept_printer(v); end
2400
+
2401
+ # source://rbi//lib/rbi/model.rb#1277
2402
+ sig { returns(T::Boolean) }
2403
+ def empty?; end
2404
+
2405
+ # source://rbi//lib/rbi/index.rb#223
2406
+ sig { override.returns(T::Array[::String]) }
2407
+ def index_ids; end
2408
+
2409
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#556
2410
+ sig { override.params(other: ::RBI::Node).void }
2411
+ def merge_with(other); end
2412
+
2413
+ # source://rbi//lib/rbi/model.rb#1260
2414
+ sig { returns(T::Array[::String]) }
2415
+ def names; end
2416
+
2417
+ # source://rbi//lib/rbi/model.rb#1287
2418
+ sig { override.returns(::String) }
2419
+ def to_s; end
2420
+ end
2421
+
2422
+ # Sorbet's T::Struct
2423
+ #
2424
+ # source://rbi//lib/rbi/model.rb#1128
2425
+ class RBI::TStruct < ::RBI::Class
2426
+ # source://rbi//lib/rbi/model.rb#1139
2427
+ sig do
2428
+ params(
2429
+ name: ::String,
2430
+ loc: T.nilable(::RBI::Loc),
2431
+ comments: T::Array[::RBI::Comment],
2432
+ block: T.nilable(T.proc.params(klass: ::RBI::TStruct).void)
2433
+ ).void
2434
+ end
2435
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2436
+ end
2437
+
2438
+ # source://rbi//lib/rbi/model.rb#1177
2439
+ class RBI::TStructConst < ::RBI::TStructField
2440
+ include ::RBI::Indexable
2441
+
2442
+ # source://rbi//lib/rbi/model.rb#1190
2443
+ sig do
2444
+ params(
2445
+ name: ::String,
2446
+ type: ::String,
2447
+ default: T.nilable(::String),
2448
+ loc: T.nilable(::RBI::Loc),
2449
+ comments: T::Array[::RBI::Comment],
2450
+ block: T.nilable(T.proc.params(node: ::RBI::TStructConst).void)
2451
+ ).void
2452
+ end
2453
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2454
+
2455
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#547
2456
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2457
+ def compatible_with?(other); end
2458
+
2459
+ # source://rbi//lib/rbi/model.rb#1196
2460
+ sig { override.returns(T::Array[::String]) }
2461
+ def fully_qualified_names; end
2462
+
2463
+ # source://rbi//lib/rbi/index.rb#203
2464
+ sig { override.returns(T::Array[::String]) }
2465
+ def index_ids; end
2466
+
2467
+ # source://rbi//lib/rbi/model.rb#1202
2468
+ sig { override.returns(::String) }
2469
+ def to_s; end
2470
+ end
2471
+
2472
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2473
+ #
2474
+ # source://rbi//lib/rbi/model.rb#1145
2475
+ class RBI::TStructField < ::RBI::NodeWithComments
2476
+ abstract!
2477
+
2478
+ # source://rbi//lib/rbi/model.rb#1166
2479
+ sig do
2480
+ params(
2481
+ name: ::String,
2482
+ type: ::String,
2483
+ default: T.nilable(::String),
2484
+ loc: T.nilable(::RBI::Loc),
2485
+ comments: T::Array[::RBI::Comment]
2486
+ ).void
2487
+ end
2488
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2489
+
2490
+ # source://rbi//lib/rbi/printer.rb#773
2491
+ sig { override.params(v: ::RBI::Printer).void }
2492
+ def accept_printer(v); end
2493
+
2494
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#538
2495
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2496
+ def compatible_with?(other); end
2497
+
2498
+ # source://rbi//lib/rbi/model.rb#1155
2499
+ sig { returns(T.nilable(::String)) }
2500
+ def default; end
2501
+
2502
+ # @return [String, nil]
2503
+ #
2504
+ # source://rbi//lib/rbi/model.rb#1155
2505
+ def default=(_arg0); end
2506
+
2507
+ # @abstract
2508
+ #
2509
+ # source://rbi//lib/rbi/model.rb#1174
2510
+ sig { abstract.returns(T::Array[::String]) }
2511
+ def fully_qualified_names; end
2512
+
2513
+ # source://rbi//lib/rbi/model.rb#1152
2514
+ sig { returns(::String) }
2515
+ def name; end
2516
+
2517
+ # @return [String]
2518
+ #
2519
+ # source://rbi//lib/rbi/model.rb#1152
2520
+ def name=(_arg0); end
2521
+
2522
+ # @return [String]
2523
+ #
2524
+ # source://rbi//lib/rbi/model.rb#1152
2525
+ def type; end
2526
+
2527
+ # @return [String]
2528
+ #
2529
+ # source://rbi//lib/rbi/model.rb#1152
2530
+ def type=(_arg0); end
2531
+ end
2532
+
2533
+ # source://rbi//lib/rbi/model.rb#1207
2534
+ class RBI::TStructProp < ::RBI::TStructField
2535
+ include ::RBI::Indexable
2536
+
2537
+ # source://rbi//lib/rbi/model.rb#1220
2538
+ sig do
2539
+ params(
2540
+ name: ::String,
2541
+ type: ::String,
2542
+ default: T.nilable(::String),
2543
+ loc: T.nilable(::RBI::Loc),
2544
+ comments: T::Array[::RBI::Comment],
2545
+ block: T.nilable(T.proc.params(node: ::RBI::TStructProp).void)
2546
+ ).void
2547
+ end
2548
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2549
+
2550
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#570
2551
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2552
+ def compatible_with?(other); end
2553
+
2554
+ # source://rbi//lib/rbi/model.rb#1226
2555
+ sig { override.returns(T::Array[::String]) }
2556
+ def fully_qualified_names; end
2557
+
2558
+ # source://rbi//lib/rbi/index.rb#213
2559
+ sig { override.returns(T::Array[::String]) }
2560
+ def index_ids; end
2561
+
2562
+ # source://rbi//lib/rbi/model.rb#1232
2563
+ sig { override.returns(::String) }
2564
+ def to_s; end
2565
+ end
2566
+
2567
+ # source://rbi//lib/rbi/model.rb#106
2568
+ class RBI::Tree < ::RBI::NodeWithComments
2569
+ # source://rbi//lib/rbi/model.rb#119
2570
+ sig do
2571
+ params(
2572
+ loc: T.nilable(::RBI::Loc),
2573
+ comments: T::Array[::RBI::Comment],
2574
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
2575
+ ).void
2576
+ end
2577
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2578
+
2579
+ # source://rbi//lib/rbi/model.rb#126
2580
+ sig { params(node: ::RBI::Node).void }
2581
+ def <<(node); end
2582
+
2583
+ # source://rbi//lib/rbi/printer.rb#226
2584
+ sig { override.params(v: ::RBI::Printer).void }
2585
+ def accept_printer(v); end
2586
+
2587
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#66
2588
+ sig { params(with_todo_comment: T::Boolean).void }
2589
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
2590
+
2591
+ # source://rbi//lib/rbi/rewriters/annotate.rb#49
2592
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
2593
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
2594
+
2595
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#38
2596
+ sig do
2597
+ params(
2598
+ name: ::String,
2599
+ superclass_name: T.nilable(::String),
2600
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
2601
+ ).returns(::RBI::Scope)
2602
+ end
2603
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
2604
+
2605
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#45
2606
+ sig { params(name: ::String, value: ::String).void }
2607
+ def create_constant(name, value:); end
2608
+
2609
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#55
2610
+ sig { params(name: ::String).void }
2611
+ def create_extend(name); end
2612
+
2613
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#50
2614
+ sig { params(name: ::String).void }
2615
+ def create_include(name); end
2616
+
2617
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#89
2618
+ sig do
2619
+ params(
2620
+ name: ::String,
2621
+ parameters: T::Array[::RBI::TypedParam],
2622
+ return_type: ::String,
2623
+ class_method: T::Boolean,
2624
+ visibility: ::RBI::Visibility,
2625
+ comments: T::Array[::RBI::Comment]
2626
+ ).void
2627
+ end
2628
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
2629
+
2630
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#60
2631
+ sig { params(name: ::String).void }
2632
+ def create_mixes_in_class_methods(name); end
2633
+
2634
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#25
2635
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
2636
+ def create_module(name, &block); end
2637
+
2638
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#9
2639
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
2640
+ def create_path(constant, &block); end
2641
+
2642
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#74
2643
+ sig do
2644
+ params(
2645
+ name: ::String,
2646
+ type: ::String,
2647
+ variance: ::Symbol,
2648
+ fixed: T.nilable(::String),
2649
+ upper: T.nilable(::String),
2650
+ lower: T.nilable(::String)
2651
+ ).void
2652
+ end
2653
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
2654
+
2655
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#41
2656
+ sig { params(annotation: ::String).void }
2657
+ def deannotate!(annotation); end
2658
+
2659
+ # source://rbi//lib/rbi/model.rb#132
2660
+ sig { returns(T::Boolean) }
2661
+ def empty?; end
2662
+
2663
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#38
2664
+ sig { void }
2665
+ def group_nodes!; end
2666
+
2667
+ # source://rbi//lib/rbi/index.rb#68
2668
+ sig { returns(::RBI::Index) }
2669
+ def index; end
2670
+
2671
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#324
2672
+ sig do
2673
+ params(
2674
+ other: ::RBI::Tree,
2675
+ left_name: ::String,
2676
+ right_name: ::String,
2677
+ keep: ::RBI::Rewriters::Merge::Keep
2678
+ ).returns(::RBI::MergeTree)
2679
+ end
2680
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2681
+
2682
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#46
2683
+ sig { void }
2684
+ def nest_non_public_methods!; end
2685
+
2686
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#36
2687
+ sig { void }
2688
+ def nest_singleton_methods!; end
2689
+
2690
+ # source://rbi//lib/rbi/model.rb#110
2691
+ sig { returns(T::Array[::RBI::Node]) }
2692
+ def nodes; end
2693
+
2694
+ # source://rbi//lib/rbi/printer.rb#233
2695
+ sig { override.returns(T::Boolean) }
2696
+ def oneline?; end
2697
+
2698
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#119
2699
+ sig { void }
2700
+ def sort_nodes!; end
2701
+
2702
+ private
2703
+
2704
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#116
2705
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
2706
+ def create_node(node); end
2707
+
2708
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#111
2709
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
2710
+ def nodes_cache; end
2711
+ end
2712
+
2713
+ # source://rbi//lib/rbi/parser.rb#160
2714
+ class RBI::TreeBuilder < ::RBI::ASTVisitor
2715
+ # source://rbi//lib/rbi/parser.rb#176
2716
+ sig do
2717
+ params(
2718
+ file: ::String,
2719
+ comments: T::Array[::Parser::Source::Comment],
2720
+ nodes_comments_assoc: T::Hash[::Parser::Source::Map, T::Array[::Parser::Source::Comment]]
2721
+ ).void
2722
+ end
2723
+ def initialize(file:, comments: T.unsafe(nil), nodes_comments_assoc: T.unsafe(nil)); end
2724
+
2725
+ # source://rbi//lib/rbi/parser.rb#167
2726
+ sig { returns(T.nilable(::AST::Node)) }
2727
+ def last_node; end
2728
+
2729
+ # source://rbi//lib/rbi/parser.rb#191
2730
+ sig { void }
2731
+ def post_process; end
2732
+
2733
+ # source://rbi//lib/rbi/parser.rb#164
2734
+ sig { returns(::RBI::Tree) }
2735
+ def tree; end
2736
+
2737
+ # source://rbi//lib/rbi/parser.rb#197
2738
+ sig { override.params(node: T.nilable(::Object)).void }
2739
+ def visit(node); end
2740
+
2741
+ private
2742
+
2743
+ # source://rbi//lib/rbi/parser.rb#573
2744
+ sig { void }
2745
+ def assoc_dangling_comments; end
2746
+
2747
+ # source://rbi//lib/rbi/parser.rb#554
2748
+ sig { returns(::RBI::Tree) }
2749
+ def current_scope; end
2750
+
2751
+ # source://rbi//lib/rbi/parser.rb#559
2752
+ sig { returns(T::Array[::RBI::Sig]) }
2753
+ def current_sigs; end
2754
+
2755
+ # source://rbi//lib/rbi/parser.rb#566
2756
+ sig { returns(T::Array[::RBI::Comment]) }
2757
+ def current_sigs_comments; end
2758
+
2759
+ # source://rbi//lib/rbi/parser.rb#542
2760
+ sig { params(node: ::AST::Node).returns(T::Array[::RBI::Comment]) }
2761
+ def node_comments(node); end
2762
+
2763
+ # source://rbi//lib/rbi/parser.rb#537
2764
+ sig { params(node: ::AST::Node).returns(::RBI::Loc) }
2765
+ def node_loc(node); end
2766
+
2767
+ # source://rbi//lib/rbi/parser.rb#410
2768
+ sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
2769
+ def parse_block(node); end
2770
+
2771
+ # source://rbi//lib/rbi/parser.rb#254
2772
+ sig { params(node: ::AST::Node).returns(::RBI::Node) }
2773
+ def parse_const_assign(node); end
2774
+
2775
+ # source://rbi//lib/rbi/parser.rb#270
2776
+ sig { params(node: ::AST::Node).returns(::RBI::Method) }
2777
+ def parse_def(node); end
2778
+
2779
+ # source://rbi//lib/rbi/parser.rb#512
2780
+ sig { params(node: ::AST::Node).returns(::RBI::TEnumBlock) }
2781
+ def parse_enum(node); end
2782
+
2783
+ # source://rbi//lib/rbi/parser.rb#297
2784
+ sig { params(node: ::AST::Node).returns(::RBI::Param) }
2785
+ def parse_param(node); end
2786
+
2787
+ # source://rbi//lib/rbi/parser.rb#529
2788
+ sig { params(node: ::AST::Node).returns(::RBI::RequiresAncestor) }
2789
+ def parse_requires_ancestor(node); end
2790
+
2791
+ # source://rbi//lib/rbi/parser.rb#234
2792
+ sig { params(node: ::AST::Node).returns(::RBI::Scope) }
2793
+ def parse_scope(node); end
2794
+
2795
+ # source://rbi//lib/rbi/parser.rb#325
2796
+ sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
2797
+ def parse_send(node); end
2798
+
2799
+ # source://rbi//lib/rbi/parser.rb#393
2800
+ sig { params(node: ::AST::Node).returns(T::Array[::RBI::Arg]) }
2801
+ def parse_send_args(node); end
2802
+
2803
+ # source://rbi//lib/rbi/parser.rb#505
2804
+ sig { params(node: ::AST::Node).returns(::RBI::Sig) }
2805
+ def parse_sig(node); end
2806
+
2807
+ # source://rbi//lib/rbi/parser.rb#432
2808
+ sig { params(node: ::AST::Node).returns(::RBI::Struct) }
2809
+ def parse_struct(node); end
2810
+
2811
+ # source://rbi//lib/rbi/parser.rb#489
2812
+ sig { params(node: ::AST::Node).returns([::String, ::String, T.nilable(::String)]) }
2813
+ def parse_tstruct_prop(node); end
2814
+
2815
+ # source://rbi//lib/rbi/parser.rb#478
2816
+ sig { params(node: ::AST::Node).returns(::RBI::TypeMember) }
2817
+ def parse_type_variable(node); end
2818
+
2819
+ # source://rbi//lib/rbi/parser.rb#591
2820
+ sig { void }
2821
+ def separate_header_comments; end
2822
+
2823
+ # source://rbi//lib/rbi/parser.rb#613
2824
+ sig { void }
2825
+ def set_root_tree_loc; end
2826
+
2827
+ # source://rbi//lib/rbi/parser.rb#426
2828
+ sig { params(node: ::AST::Node).returns(T::Boolean) }
2829
+ def struct_definition?(node); end
2830
+
2831
+ # source://rbi//lib/rbi/parser.rb#471
2832
+ sig { params(node: ::AST::Node).returns(T::Boolean) }
2833
+ def type_variable_definition?(node); end
2834
+ end
2835
+
2836
+ # source://rbi//lib/rbi/model.rb#1320
2837
+ class RBI::TypeMember < ::RBI::NodeWithComments
2838
+ include ::RBI::Indexable
2839
+
2840
+ # source://rbi//lib/rbi/model.rb#1335
2841
+ sig do
2842
+ params(
2843
+ name: ::String,
2844
+ value: ::String,
2845
+ loc: T.nilable(::RBI::Loc),
2846
+ comments: T::Array[::RBI::Comment],
2847
+ block: T.nilable(T.proc.params(node: ::RBI::TypeMember).void)
2848
+ ).void
2849
+ end
2850
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2851
+
2852
+ # source://rbi//lib/rbi/printer.rb#812
2853
+ sig { override.params(v: ::RBI::Printer).void }
2854
+ def accept_printer(v); end
2855
+
2856
+ # source://rbi//lib/rbi/model.rb#1343
2857
+ sig { returns(::String) }
2858
+ def fully_qualified_name; end
2859
+
2860
+ # source://rbi//lib/rbi/index.rb#183
2861
+ sig { override.returns(T::Array[::String]) }
2862
+ def index_ids; end
2863
+
2864
+ # source://rbi//lib/rbi/model.rb#1324
2865
+ sig { returns(::String) }
2866
+ def name; end
2867
+
2868
+ # source://rbi//lib/rbi/model.rb#1350
2869
+ sig { override.returns(::String) }
2870
+ def to_s; end
2871
+
2872
+ # @return [String]
2873
+ #
2874
+ # source://rbi//lib/rbi/model.rb#1324
2875
+ def value; end
2876
+ end
2877
+
2878
+ # source://rbi//lib/rbi/parser.rb#20
2879
+ class RBI::UnexpectedParserError < ::StandardError
2880
+ # source://rbi//lib/rbi/parser.rb#27
2881
+ sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void }
2882
+ def initialize(parent_exception, last_location); end
2883
+
2884
+ # source://rbi//lib/rbi/parser.rb#24
2885
+ sig { returns(::RBI::Loc) }
2886
+ def last_location; end
2887
+
2888
+ # source://rbi//lib/rbi/parser.rb#34
2889
+ sig { params(io: T.any(::IO, ::StringIO)).void }
2890
+ def print_debug(io: T.unsafe(nil)); end
2891
+ end
2892
+
2893
+ # source://rbi//lib/rbi/version.rb#5
2894
+ RBI::VERSION = T.let(T.unsafe(nil), String)
2895
+
2896
+ # Visibility
2897
+ #
2898
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2899
+ #
2900
+ # source://rbi//lib/rbi/model.rb#841
2901
+ class RBI::Visibility < ::RBI::NodeWithComments
2902
+ abstract!
2903
+
2904
+ # source://rbi//lib/rbi/model.rb#851
2905
+ sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
2906
+ def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2907
+
2908
+ # source://rbi//lib/rbi/model.rb#857
2909
+ sig { params(other: ::RBI::Visibility).returns(T::Boolean) }
2910
+ def ==(other); end
2911
+
2912
+ # source://rbi//lib/rbi/printer.rb#579
2913
+ sig { override.params(v: ::RBI::Printer).void }
2914
+ def accept_printer(v); end
2915
+
2916
+ # source://rbi//lib/rbi/model.rb#872
2917
+ sig { returns(T::Boolean) }
2918
+ def private?; end
2919
+
2920
+ # source://rbi//lib/rbi/model.rb#867
2921
+ sig { returns(T::Boolean) }
2922
+ def protected?; end
2923
+
2924
+ # source://rbi//lib/rbi/model.rb#862
2925
+ sig { returns(T::Boolean) }
2926
+ def public?; end
2927
+
2928
+ # source://rbi//lib/rbi/model.rb#848
2929
+ sig { returns(::Symbol) }
2930
+ def visibility; end
2931
+ end
2932
+
2933
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#52
2934
+ class RBI::VisibilityGroup < ::RBI::Tree
2935
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#59
2936
+ sig { params(visibility: ::RBI::Visibility).void }
2937
+ def initialize(visibility); end
2938
+
2939
+ # source://rbi//lib/rbi/printer.rb#848
2940
+ sig { override.params(v: ::RBI::Printer).void }
2941
+ def accept_printer(v); end
2942
+
2943
+ # source://rbi//lib/rbi/printer.rb#861
2944
+ sig { override.returns(T::Boolean) }
2945
+ def oneline?; end
2946
+
2947
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#56
2948
+ sig { returns(::RBI::Visibility) }
2949
+ def visibility; end
2950
+ end
2951
+
2952
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2953
+ #
2954
+ # source://rbi//lib/rbi/visitor.rb#5
2955
+ class RBI::Visitor
2956
+ abstract!
2957
+
2958
+ # @abstract
2959
+ #
2960
+ # source://rbi//lib/rbi/visitor.rb#12
2961
+ sig { abstract.params(node: T.nilable(::RBI::Node)).void }
2962
+ def visit(node); end
2963
+
2964
+ # source://rbi//lib/rbi/visitor.rb#15
2965
+ sig { params(nodes: T::Array[::RBI::Node]).void }
2966
+ def visit_all(nodes); end
2967
+ end