mangrove 0.1.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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +42 -0
  3. data/LICENSE +21 -0
  4. data/README.md +54 -0
  5. data/Rakefile +14 -0
  6. data/lib/mangrove/control_flow/control_signal.rb +16 -0
  7. data/lib/mangrove/control_flow/rewriter.rb +152 -0
  8. data/lib/mangrove/control_flow.rb +84 -0
  9. data/lib/mangrove/interfaces.rb +8 -0
  10. data/lib/mangrove/mangrove.rb +35 -0
  11. data/lib/mangrove/option/control_signal.rb +33 -0
  12. data/lib/mangrove/option.rb +134 -0
  13. data/lib/mangrove/result/control_signal.rb +33 -0
  14. data/lib/mangrove/result.rb +167 -0
  15. data/lib/mangrove/version.rb +6 -0
  16. data/lib/mangrove.rb +8 -0
  17. data/sig/mangrove.rbs +4 -0
  18. data/sorbet/config +4 -0
  19. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  20. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  21. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  22. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  23. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  24. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  25. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  26. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  27. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  28. data/sorbet/rbi/gems/ordinare@0.4.0.rbi +77 -0
  29. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  30. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  31. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  32. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  33. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  34. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  35. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  36. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  37. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  38. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  39. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  40. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  41. data/sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi +163 -0
  42. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  43. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  44. data/sorbet/rbi/gems/ruboclean@0.4.0.rbi +189 -0
  45. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +6985 -0
  46. data/sorbet/rbi/gems/rubocop@1.56.0.rbi +56491 -0
  47. data/sorbet/rbi/gems/ruby-lsp@0.8.0.rbi +11 -0
  48. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  49. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  50. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  51. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  52. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  53. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  54. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  55. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  56. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  57. data/sorbet/rbi/shims/gems/rspec-core.rbi +12 -0
  58. data/sorbet/rbi/shims/gems/rspec-expectations.rbi +8 -0
  59. data/sorbet/rbi/shims/mangrove/option.rbi +15 -0
  60. data/sorbet/rbi/shims/mangrove/result.rbi +15 -0
  61. data/sorbet/tapioca/config.yml +13 -0
  62. data/sorbet/tapioca/require.rb +4 -0
  63. metadata +161 -0
@@ -0,0 +1,2972 @@
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.10962/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(
1792
+ output: ::RBI::Tree,
1793
+ left_name: ::String,
1794
+ right_name: ::String,
1795
+ keep: ::RBI::Rewriters::Merge::Keep
1796
+ ).void
1797
+ end
1798
+ def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1799
+
1800
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#104
1801
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
1802
+ def conflicts; end
1803
+
1804
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#119
1805
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1806
+ def visit(node); end
1807
+
1808
+ private
1809
+
1810
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#168
1811
+ sig { returns(::RBI::Tree) }
1812
+ def current_scope; end
1813
+
1814
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#185
1815
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void }
1816
+ def make_conflict_scope(left, right); end
1817
+
1818
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#192
1819
+ sig { params(left: ::RBI::Node, right: ::RBI::Node).void }
1820
+ def make_conflict_tree(left, right); end
1821
+
1822
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#173
1823
+ sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) }
1824
+ def previous_definition(node); end
1825
+
1826
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#204
1827
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) }
1828
+ def replace_scope_header(left, right); end
1829
+ end
1830
+
1831
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#6
1832
+ class RBI::Rewriters::NestNonPublicMethods < ::RBI::Visitor
1833
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#10
1834
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1835
+ def visit(node); end
1836
+ end
1837
+
1838
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#6
1839
+ class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor
1840
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#10
1841
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1842
+ def visit(node); end
1843
+ end
1844
+
1845
+ # Remove all definitions existing in the index from the current tree
1846
+ #
1847
+ # Let's create an `Index` from two different `Tree`s:
1848
+ # ~~~rb
1849
+ # tree1 = Parse.parse_string(<<~RBI)
1850
+ # class Foo
1851
+ # def foo; end
1852
+ # end
1853
+ # RBI
1854
+ #
1855
+ # tree2 = Parse.parse_string(<<~RBI)
1856
+ # FOO = 10
1857
+ # RBI
1858
+ #
1859
+ # index = Index.index(tree1, tree2)
1860
+ # ~~~
1861
+ #
1862
+ # We can use `RemoveKnownDefinitions` to remove the definitions found in the `index` from the `Tree` to clean:
1863
+ # ~~~rb
1864
+ # tree_to_clean = Parser.parse_string(<<~RBI)
1865
+ # class Foo
1866
+ # def foo; end
1867
+ # def bar; end
1868
+ # end
1869
+ # FOO = 10
1870
+ # BAR = 42
1871
+ # RBI
1872
+ #
1873
+ # cleaned_tree, operations = RemoveKnownDefinitions.remove(tree_to_clean, index)
1874
+ #
1875
+ # assert_equal(<<~RBI, cleaned_tree)
1876
+ # class Foo
1877
+ # def bar; end
1878
+ # end
1879
+ # BAR = 42
1880
+ # RBI
1881
+ #
1882
+ # assert_equal(<<~OPERATIONS, operations.join("\n"))
1883
+ # Deleted ::Foo#foo at -:2:2-2-16 (duplicate from -:2:2-2:16)
1884
+ # Deleted ::FOO at -:5:0-5:8 (duplicate from -:1:0-1:8)
1885
+ # OPERATIONS
1886
+ # ~~~
1887
+ #
1888
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#48
1889
+ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
1890
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#55
1891
+ sig { params(index: ::RBI::Index).void }
1892
+ def initialize(index); end
1893
+
1894
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#52
1895
+ sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) }
1896
+ def operations; end
1897
+
1898
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#83
1899
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1900
+ def visit(node); end
1901
+
1902
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#78
1903
+ sig { params(nodes: T::Array[::RBI::Node]).void }
1904
+ def visit_all(nodes); end
1905
+
1906
+ private
1907
+
1908
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#111
1909
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) }
1910
+ def can_delete_node?(node, previous); end
1911
+
1912
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#129
1913
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).void }
1914
+ def delete_node(node, previous); end
1915
+
1916
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#102
1917
+ sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) }
1918
+ def previous_definition_for(node); end
1919
+
1920
+ class << self
1921
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#70
1922
+ sig do
1923
+ params(
1924
+ tree: ::RBI::Tree,
1925
+ index: ::RBI::Index
1926
+ ).returns([::RBI::Tree, T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]])
1927
+ end
1928
+ def remove(tree, index); end
1929
+ end
1930
+ end
1931
+
1932
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#134
1933
+ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
1934
+ const :deleted_node, ::RBI::Node
1935
+ const :duplicate_of, ::RBI::Node
1936
+
1937
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#141
1938
+ sig { returns(::String) }
1939
+ def to_s; end
1940
+
1941
+ class << self
1942
+ # source://sorbet-runtime/0.5.10962/lib/types/struct.rb#13
1943
+ def inherited(s); end
1944
+ end
1945
+ end
1946
+
1947
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#6
1948
+ class RBI::Rewriters::SortNodes < ::RBI::Visitor
1949
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#10
1950
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1951
+ def visit(node); end
1952
+
1953
+ private
1954
+
1955
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#73
1956
+ sig { params(kind: ::RBI::Group::Kind).returns(::Integer) }
1957
+ def group_rank(kind); end
1958
+
1959
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#94
1960
+ sig { params(node: ::RBI::Node).returns(T.nilable(::String)) }
1961
+ def node_name(node); end
1962
+
1963
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#45
1964
+ sig { params(node: ::RBI::Node).returns(::Integer) }
1965
+ def node_rank(node); end
1966
+
1967
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#106
1968
+ sig { params(node: ::RBI::Node).void }
1969
+ def sort_node_names!(node); end
1970
+ end
1971
+
1972
+ # Scopes
1973
+ #
1974
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1975
+ #
1976
+ # source://rbi//lib/rbi/model.rb#176
1977
+ class RBI::Scope < ::RBI::Tree
1978
+ include ::RBI::Indexable
1979
+
1980
+ abstract!
1981
+
1982
+ # source://rbi//lib/rbi/printer.rb#242
1983
+ sig { override.params(v: ::RBI::Printer).void }
1984
+ def accept_printer(v); end
1985
+
1986
+ # Duplicate `self` scope without its body
1987
+ #
1988
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#356
1989
+ sig { returns(T.self_type) }
1990
+ def dup_empty; end
1991
+
1992
+ # @abstract
1993
+ #
1994
+ # source://rbi//lib/rbi/model.rb#182
1995
+ sig { abstract.returns(::String) }
1996
+ def fully_qualified_name; end
1997
+
1998
+ # source://rbi//lib/rbi/index.rb#93
1999
+ sig { override.returns(T::Array[::String]) }
2000
+ def index_ids; end
2001
+
2002
+ # source://rbi//lib/rbi/printer.rb#256
2003
+ sig { params(v: ::RBI::Printer).void }
2004
+ def print_body(v); end
2005
+
2006
+ # @abstract
2007
+ #
2008
+ # source://rbi//lib/rbi/printer.rb#253
2009
+ sig { abstract.params(v: ::RBI::Printer).void }
2010
+ def print_header(v); end
2011
+
2012
+ # source://rbi//lib/rbi/model.rb#185
2013
+ sig { override.returns(::String) }
2014
+ def to_s; end
2015
+ end
2016
+
2017
+ # A conflict between two scope headers
2018
+ #
2019
+ # Is rendered as a merge conflict between `left` and` right` for scope definitions:
2020
+ # ~~~rb
2021
+ # <<<<<<< left
2022
+ # class Foo
2023
+ # =======
2024
+ # module Foo
2025
+ # >>>>>>> right
2026
+ # def m1; end
2027
+ # end
2028
+ # ~~~
2029
+ #
2030
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#628
2031
+ class RBI::ScopeConflict < ::RBI::Tree
2032
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#642
2033
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void }
2034
+ def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
2035
+
2036
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#651
2037
+ sig { override.params(v: ::RBI::Printer).void }
2038
+ def accept_printer(v); end
2039
+
2040
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#632
2041
+ sig { returns(::RBI::Scope) }
2042
+ def left; end
2043
+
2044
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#667
2045
+ sig { override.returns(T::Boolean) }
2046
+ def oneline?; end
2047
+
2048
+ # @return [Scope]
2049
+ #
2050
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#632
2051
+ def right; end
2052
+ end
2053
+
2054
+ # Sends
2055
+ #
2056
+ # source://rbi//lib/rbi/model.rb#927
2057
+ class RBI::Send < ::RBI::NodeWithComments
2058
+ include ::RBI::Indexable
2059
+
2060
+ # source://rbi//lib/rbi/model.rb#945
2061
+ sig do
2062
+ params(
2063
+ method: ::String,
2064
+ args: T::Array[::RBI::Arg],
2065
+ loc: T.nilable(::RBI::Loc),
2066
+ comments: T::Array[::RBI::Comment],
2067
+ block: T.nilable(T.proc.params(node: ::RBI::Send).void)
2068
+ ).void
2069
+ end
2070
+ def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2071
+
2072
+ # source://rbi//lib/rbi/model.rb#953
2073
+ sig { params(arg: ::RBI::Arg).void }
2074
+ def <<(arg); end
2075
+
2076
+ # source://rbi//lib/rbi/model.rb#958
2077
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2078
+ def ==(other); end
2079
+
2080
+ # source://rbi//lib/rbi/printer.rb#592
2081
+ sig { override.params(v: ::RBI::Printer).void }
2082
+ def accept_printer(v); end
2083
+
2084
+ # source://rbi//lib/rbi/model.rb#934
2085
+ sig { returns(T::Array[::RBI::Arg]) }
2086
+ def args; end
2087
+
2088
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#529
2089
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2090
+ def compatible_with?(other); end
2091
+
2092
+ # source://rbi//lib/rbi/index.rb#193
2093
+ sig { override.returns(T::Array[::String]) }
2094
+ def index_ids; end
2095
+
2096
+ # source://rbi//lib/rbi/model.rb#931
2097
+ sig { returns(::String) }
2098
+ def method; end
2099
+
2100
+ # source://rbi//lib/rbi/model.rb#963
2101
+ sig { returns(::String) }
2102
+ def to_s; end
2103
+ end
2104
+
2105
+ # Sorbet's sigs
2106
+ #
2107
+ # source://rbi//lib/rbi/model.rb#1027
2108
+ class RBI::Sig < ::RBI::Node
2109
+ # source://rbi//lib/rbi/model.rb#1059
2110
+ sig do
2111
+ params(
2112
+ params: T::Array[::RBI::SigParam],
2113
+ return_type: T.nilable(::String),
2114
+ is_abstract: T::Boolean,
2115
+ is_override: T::Boolean,
2116
+ is_overridable: T::Boolean,
2117
+ is_final: T::Boolean,
2118
+ type_params: T::Array[::String],
2119
+ checked: T.nilable(::Symbol),
2120
+ loc: T.nilable(::RBI::Loc),
2121
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
2122
+ ).void
2123
+ end
2124
+ 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
2125
+
2126
+ # source://rbi//lib/rbi/model.rb#1084
2127
+ sig { params(param: ::RBI::SigParam).void }
2128
+ def <<(param); end
2129
+
2130
+ # source://rbi//lib/rbi/model.rb#1089
2131
+ sig { params(other: ::Object).returns(T::Boolean) }
2132
+ def ==(other); end
2133
+
2134
+ # source://rbi//lib/rbi/printer.rb#633
2135
+ sig { override.params(v: ::RBI::Printer).void }
2136
+ def accept_printer(v); end
2137
+
2138
+ # source://rbi//lib/rbi/model.rb#1043
2139
+ sig { returns(T.nilable(::Symbol)) }
2140
+ def checked; end
2141
+
2142
+ # @return [Symbol, nil]
2143
+ #
2144
+ # source://rbi//lib/rbi/model.rb#1043
2145
+ def checked=(_arg0); end
2146
+
2147
+ # source://rbi//lib/rbi/printer.rb#656
2148
+ sig { returns(T::Boolean) }
2149
+ def inline_params?; end
2150
+
2151
+ # source://rbi//lib/rbi/model.rb#1037
2152
+ sig { returns(T::Boolean) }
2153
+ def is_abstract; end
2154
+
2155
+ # @return [Boolean]
2156
+ #
2157
+ # source://rbi//lib/rbi/model.rb#1037
2158
+ def is_abstract=(_arg0); end
2159
+
2160
+ # @return [Boolean]
2161
+ #
2162
+ # source://rbi//lib/rbi/model.rb#1037
2163
+ def is_final; end
2164
+
2165
+ # @return [Boolean]
2166
+ #
2167
+ # source://rbi//lib/rbi/model.rb#1037
2168
+ def is_final=(_arg0); end
2169
+
2170
+ # @return [Boolean]
2171
+ #
2172
+ # source://rbi//lib/rbi/model.rb#1037
2173
+ def is_overridable; end
2174
+
2175
+ # @return [Boolean]
2176
+ #
2177
+ # source://rbi//lib/rbi/model.rb#1037
2178
+ def is_overridable=(_arg0); end
2179
+
2180
+ # @return [Boolean]
2181
+ #
2182
+ # source://rbi//lib/rbi/model.rb#1037
2183
+ def is_override; end
2184
+
2185
+ # @return [Boolean]
2186
+ #
2187
+ # source://rbi//lib/rbi/model.rb#1037
2188
+ def is_override=(_arg0); end
2189
+
2190
+ # source://rbi//lib/rbi/printer.rb#651
2191
+ sig { override.returns(T::Boolean) }
2192
+ def oneline?; end
2193
+
2194
+ # source://rbi//lib/rbi/model.rb#1031
2195
+ sig { returns(T::Array[::RBI::SigParam]) }
2196
+ def params; end
2197
+
2198
+ # source://rbi//lib/rbi/model.rb#1034
2199
+ sig { returns(T.nilable(::String)) }
2200
+ def return_type; end
2201
+
2202
+ # @return [String, nil]
2203
+ #
2204
+ # source://rbi//lib/rbi/model.rb#1034
2205
+ def return_type=(_arg0); end
2206
+
2207
+ # source://rbi//lib/rbi/model.rb#1040
2208
+ sig { returns(T::Array[::String]) }
2209
+ def type_params; end
2210
+
2211
+ private
2212
+
2213
+ # source://rbi//lib/rbi/printer.rb#698
2214
+ sig { params(v: ::RBI::Printer).void }
2215
+ def print_as_block(v); end
2216
+
2217
+ # source://rbi//lib/rbi/printer.rb#674
2218
+ sig { params(v: ::RBI::Printer).void }
2219
+ def print_as_line(v); end
2220
+
2221
+ # source://rbi//lib/rbi/printer.rb#663
2222
+ sig { returns(T::Array[::String]) }
2223
+ def sig_modifiers; end
2224
+ end
2225
+
2226
+ # source://rbi//lib/rbi/parser.rb#668
2227
+ class RBI::SigBuilder < ::RBI::ASTVisitor
2228
+ # source://rbi//lib/rbi/parser.rb#675
2229
+ sig { void }
2230
+ def initialize; end
2231
+
2232
+ # source://rbi//lib/rbi/parser.rb#672
2233
+ sig { returns(::RBI::Sig) }
2234
+ def current; end
2235
+
2236
+ # source://rbi//lib/rbi/parser.rb#692
2237
+ sig { override.params(node: T.nilable(::AST::Node)).void }
2238
+ def visit(node); end
2239
+
2240
+ # source://rbi//lib/rbi/parser.rb#702
2241
+ sig { params(node: ::AST::Node).void }
2242
+ def visit_send(node); end
2243
+
2244
+ class << self
2245
+ # source://rbi//lib/rbi/parser.rb#684
2246
+ sig { params(node: ::AST::Node).returns(::RBI::Sig) }
2247
+ def build(node); end
2248
+ end
2249
+ end
2250
+
2251
+ # source://rbi//lib/rbi/model.rb#1098
2252
+ class RBI::SigParam < ::RBI::NodeWithComments
2253
+ # source://rbi//lib/rbi/model.rb#1113
2254
+ sig do
2255
+ params(
2256
+ name: ::String,
2257
+ type: ::String,
2258
+ loc: T.nilable(::RBI::Loc),
2259
+ comments: T::Array[::RBI::Comment],
2260
+ block: T.nilable(T.proc.params(node: ::RBI::SigParam).void)
2261
+ ).void
2262
+ end
2263
+ def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2264
+
2265
+ # source://rbi//lib/rbi/model.rb#1121
2266
+ sig { params(other: ::Object).returns(T::Boolean) }
2267
+ def ==(other); end
2268
+
2269
+ # source://rbi//lib/rbi/printer.rb#751
2270
+ sig { override.params(v: ::RBI::Printer).void }
2271
+ def accept_printer(v); end
2272
+
2273
+ # source://rbi//lib/rbi/printer.rb#764
2274
+ sig { returns(T::Array[::String]) }
2275
+ def comments_lines; end
2276
+
2277
+ # source://rbi//lib/rbi/model.rb#1102
2278
+ sig { returns(::String) }
2279
+ def name; end
2280
+
2281
+ # source://rbi//lib/rbi/printer.rb#756
2282
+ sig { params(v: ::RBI::Printer, last: T::Boolean).void }
2283
+ def print_comment_leading_space(v, last:); end
2284
+
2285
+ # @return [String]
2286
+ #
2287
+ # source://rbi//lib/rbi/model.rb#1102
2288
+ def type; end
2289
+ end
2290
+
2291
+ # source://rbi//lib/rbi/model.rb#251
2292
+ class RBI::SingletonClass < ::RBI::Scope
2293
+ # source://rbi//lib/rbi/model.rb#261
2294
+ sig do
2295
+ params(
2296
+ loc: T.nilable(::RBI::Loc),
2297
+ comments: T::Array[::RBI::Comment],
2298
+ block: T.nilable(T.proc.params(node: ::RBI::SingletonClass).void)
2299
+ ).void
2300
+ end
2301
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2302
+
2303
+ # source://rbi//lib/rbi/model.rb#267
2304
+ sig { override.returns(::String) }
2305
+ def fully_qualified_name; end
2306
+
2307
+ # source://rbi//lib/rbi/printer.rb#321
2308
+ sig { override.params(v: ::RBI::Printer).void }
2309
+ def print_header(v); end
2310
+ end
2311
+
2312
+ # source://rbi//lib/rbi/model.rb#272
2313
+ class RBI::Struct < ::RBI::Scope
2314
+ # source://rbi//lib/rbi/model.rb#294
2315
+ sig do
2316
+ params(
2317
+ name: ::String,
2318
+ members: T::Array[::Symbol],
2319
+ keyword_init: T::Boolean,
2320
+ loc: T.nilable(::RBI::Loc),
2321
+ comments: T::Array[::RBI::Comment],
2322
+ block: T.nilable(T.proc.params(struct: ::RBI::Struct).void)
2323
+ ).void
2324
+ end
2325
+ def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2326
+
2327
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#394
2328
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2329
+ def compatible_with?(other); end
2330
+
2331
+ # source://rbi//lib/rbi/model.rb#303
2332
+ sig { override.returns(::String) }
2333
+ def fully_qualified_name; end
2334
+
2335
+ # source://rbi//lib/rbi/model.rb#282
2336
+ sig { returns(T::Boolean) }
2337
+ def keyword_init; end
2338
+
2339
+ # @return [Boolean]
2340
+ #
2341
+ # source://rbi//lib/rbi/model.rb#282
2342
+ def keyword_init=(_arg0); end
2343
+
2344
+ # source://rbi//lib/rbi/model.rb#279
2345
+ sig { returns(T::Array[::Symbol]) }
2346
+ def members; end
2347
+
2348
+ # @return [Array<Symbol>]
2349
+ #
2350
+ # source://rbi//lib/rbi/model.rb#279
2351
+ def members=(_arg0); end
2352
+
2353
+ # source://rbi//lib/rbi/model.rb#276
2354
+ sig { returns(::String) }
2355
+ def name; end
2356
+
2357
+ # @return [String]
2358
+ #
2359
+ # source://rbi//lib/rbi/model.rb#276
2360
+ def name=(_arg0); end
2361
+
2362
+ # source://rbi//lib/rbi/printer.rb#300
2363
+ sig { override.params(v: ::RBI::Printer).void }
2364
+ def print_header(v); end
2365
+ end
2366
+
2367
+ # Sorbet's T::Enum
2368
+ #
2369
+ # source://rbi//lib/rbi/model.rb#1239
2370
+ class RBI::TEnum < ::RBI::Class
2371
+ # source://rbi//lib/rbi/model.rb#1250
2372
+ sig do
2373
+ params(
2374
+ name: ::String,
2375
+ loc: T.nilable(::RBI::Loc),
2376
+ comments: T::Array[::RBI::Comment],
2377
+ block: T.nilable(T.proc.params(klass: ::RBI::TEnum).void)
2378
+ ).void
2379
+ end
2380
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2381
+ end
2382
+
2383
+ # source://rbi//lib/rbi/model.rb#1256
2384
+ class RBI::TEnumBlock < ::RBI::NodeWithComments
2385
+ include ::RBI::Indexable
2386
+
2387
+ # source://rbi//lib/rbi/model.rb#1270
2388
+ sig do
2389
+ params(
2390
+ names: T::Array[::String],
2391
+ loc: T.nilable(::RBI::Loc),
2392
+ comments: T::Array[::RBI::Comment],
2393
+ block: T.nilable(T.proc.params(node: ::RBI::TEnumBlock).void)
2394
+ ).void
2395
+ end
2396
+ def initialize(names = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2397
+
2398
+ # source://rbi//lib/rbi/model.rb#1282
2399
+ sig { params(name: ::String).void }
2400
+ def <<(name); end
2401
+
2402
+ # source://rbi//lib/rbi/printer.rb#795
2403
+ sig { override.params(v: ::RBI::Printer).void }
2404
+ def accept_printer(v); end
2405
+
2406
+ # source://rbi//lib/rbi/model.rb#1277
2407
+ sig { returns(T::Boolean) }
2408
+ def empty?; end
2409
+
2410
+ # source://rbi//lib/rbi/index.rb#223
2411
+ sig { override.returns(T::Array[::String]) }
2412
+ def index_ids; end
2413
+
2414
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#556
2415
+ sig { override.params(other: ::RBI::Node).void }
2416
+ def merge_with(other); end
2417
+
2418
+ # source://rbi//lib/rbi/model.rb#1260
2419
+ sig { returns(T::Array[::String]) }
2420
+ def names; end
2421
+
2422
+ # source://rbi//lib/rbi/model.rb#1287
2423
+ sig { override.returns(::String) }
2424
+ def to_s; end
2425
+ end
2426
+
2427
+ # Sorbet's T::Struct
2428
+ #
2429
+ # source://rbi//lib/rbi/model.rb#1128
2430
+ class RBI::TStruct < ::RBI::Class
2431
+ # source://rbi//lib/rbi/model.rb#1139
2432
+ sig do
2433
+ params(
2434
+ name: ::String,
2435
+ loc: T.nilable(::RBI::Loc),
2436
+ comments: T::Array[::RBI::Comment],
2437
+ block: T.nilable(T.proc.params(klass: ::RBI::TStruct).void)
2438
+ ).void
2439
+ end
2440
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2441
+ end
2442
+
2443
+ # source://rbi//lib/rbi/model.rb#1177
2444
+ class RBI::TStructConst < ::RBI::TStructField
2445
+ include ::RBI::Indexable
2446
+
2447
+ # source://rbi//lib/rbi/model.rb#1190
2448
+ sig do
2449
+ params(
2450
+ name: ::String,
2451
+ type: ::String,
2452
+ default: T.nilable(::String),
2453
+ loc: T.nilable(::RBI::Loc),
2454
+ comments: T::Array[::RBI::Comment],
2455
+ block: T.nilable(T.proc.params(node: ::RBI::TStructConst).void)
2456
+ ).void
2457
+ end
2458
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2459
+
2460
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#547
2461
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2462
+ def compatible_with?(other); end
2463
+
2464
+ # source://rbi//lib/rbi/model.rb#1196
2465
+ sig { override.returns(T::Array[::String]) }
2466
+ def fully_qualified_names; end
2467
+
2468
+ # source://rbi//lib/rbi/index.rb#203
2469
+ sig { override.returns(T::Array[::String]) }
2470
+ def index_ids; end
2471
+
2472
+ # source://rbi//lib/rbi/model.rb#1202
2473
+ sig { override.returns(::String) }
2474
+ def to_s; end
2475
+ end
2476
+
2477
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2478
+ #
2479
+ # source://rbi//lib/rbi/model.rb#1145
2480
+ class RBI::TStructField < ::RBI::NodeWithComments
2481
+ abstract!
2482
+
2483
+ # source://rbi//lib/rbi/model.rb#1166
2484
+ sig do
2485
+ params(
2486
+ name: ::String,
2487
+ type: ::String,
2488
+ default: T.nilable(::String),
2489
+ loc: T.nilable(::RBI::Loc),
2490
+ comments: T::Array[::RBI::Comment]
2491
+ ).void
2492
+ end
2493
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2494
+
2495
+ # source://rbi//lib/rbi/printer.rb#773
2496
+ sig { override.params(v: ::RBI::Printer).void }
2497
+ def accept_printer(v); end
2498
+
2499
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#538
2500
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2501
+ def compatible_with?(other); end
2502
+
2503
+ # source://rbi//lib/rbi/model.rb#1155
2504
+ sig { returns(T.nilable(::String)) }
2505
+ def default; end
2506
+
2507
+ # @return [String, nil]
2508
+ #
2509
+ # source://rbi//lib/rbi/model.rb#1155
2510
+ def default=(_arg0); end
2511
+
2512
+ # @abstract
2513
+ #
2514
+ # source://rbi//lib/rbi/model.rb#1174
2515
+ sig { abstract.returns(T::Array[::String]) }
2516
+ def fully_qualified_names; end
2517
+
2518
+ # source://rbi//lib/rbi/model.rb#1152
2519
+ sig { returns(::String) }
2520
+ def name; end
2521
+
2522
+ # @return [String]
2523
+ #
2524
+ # source://rbi//lib/rbi/model.rb#1152
2525
+ def name=(_arg0); end
2526
+
2527
+ # @return [String]
2528
+ #
2529
+ # source://rbi//lib/rbi/model.rb#1152
2530
+ def type; end
2531
+
2532
+ # @return [String]
2533
+ #
2534
+ # source://rbi//lib/rbi/model.rb#1152
2535
+ def type=(_arg0); end
2536
+ end
2537
+
2538
+ # source://rbi//lib/rbi/model.rb#1207
2539
+ class RBI::TStructProp < ::RBI::TStructField
2540
+ include ::RBI::Indexable
2541
+
2542
+ # source://rbi//lib/rbi/model.rb#1220
2543
+ sig do
2544
+ params(
2545
+ name: ::String,
2546
+ type: ::String,
2547
+ default: T.nilable(::String),
2548
+ loc: T.nilable(::RBI::Loc),
2549
+ comments: T::Array[::RBI::Comment],
2550
+ block: T.nilable(T.proc.params(node: ::RBI::TStructProp).void)
2551
+ ).void
2552
+ end
2553
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2554
+
2555
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#570
2556
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2557
+ def compatible_with?(other); end
2558
+
2559
+ # source://rbi//lib/rbi/model.rb#1226
2560
+ sig { override.returns(T::Array[::String]) }
2561
+ def fully_qualified_names; end
2562
+
2563
+ # source://rbi//lib/rbi/index.rb#213
2564
+ sig { override.returns(T::Array[::String]) }
2565
+ def index_ids; end
2566
+
2567
+ # source://rbi//lib/rbi/model.rb#1232
2568
+ sig { override.returns(::String) }
2569
+ def to_s; end
2570
+ end
2571
+
2572
+ # source://rbi//lib/rbi/model.rb#106
2573
+ class RBI::Tree < ::RBI::NodeWithComments
2574
+ # source://rbi//lib/rbi/model.rb#119
2575
+ sig do
2576
+ params(
2577
+ loc: T.nilable(::RBI::Loc),
2578
+ comments: T::Array[::RBI::Comment],
2579
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
2580
+ ).void
2581
+ end
2582
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2583
+
2584
+ # source://rbi//lib/rbi/model.rb#126
2585
+ sig { params(node: ::RBI::Node).void }
2586
+ def <<(node); end
2587
+
2588
+ # source://rbi//lib/rbi/printer.rb#226
2589
+ sig { override.params(v: ::RBI::Printer).void }
2590
+ def accept_printer(v); end
2591
+
2592
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#66
2593
+ sig { params(with_todo_comment: T::Boolean).void }
2594
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
2595
+
2596
+ # source://rbi//lib/rbi/rewriters/annotate.rb#49
2597
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
2598
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
2599
+
2600
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#38
2601
+ sig do
2602
+ params(
2603
+ name: ::String,
2604
+ superclass_name: T.nilable(::String),
2605
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
2606
+ ).returns(::RBI::Scope)
2607
+ end
2608
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
2609
+
2610
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#45
2611
+ sig { params(name: ::String, value: ::String).void }
2612
+ def create_constant(name, value:); end
2613
+
2614
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#55
2615
+ sig { params(name: ::String).void }
2616
+ def create_extend(name); end
2617
+
2618
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#50
2619
+ sig { params(name: ::String).void }
2620
+ def create_include(name); end
2621
+
2622
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#89
2623
+ sig do
2624
+ params(
2625
+ name: ::String,
2626
+ parameters: T::Array[::RBI::TypedParam],
2627
+ return_type: ::String,
2628
+ class_method: T::Boolean,
2629
+ visibility: ::RBI::Visibility,
2630
+ comments: T::Array[::RBI::Comment]
2631
+ ).void
2632
+ end
2633
+ 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
2634
+
2635
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#60
2636
+ sig { params(name: ::String).void }
2637
+ def create_mixes_in_class_methods(name); end
2638
+
2639
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#25
2640
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
2641
+ def create_module(name, &block); end
2642
+
2643
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#9
2644
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
2645
+ def create_path(constant, &block); end
2646
+
2647
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#74
2648
+ sig do
2649
+ params(
2650
+ name: ::String,
2651
+ type: ::String,
2652
+ variance: ::Symbol,
2653
+ fixed: T.nilable(::String),
2654
+ upper: T.nilable(::String),
2655
+ lower: T.nilable(::String)
2656
+ ).void
2657
+ end
2658
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
2659
+
2660
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#41
2661
+ sig { params(annotation: ::String).void }
2662
+ def deannotate!(annotation); end
2663
+
2664
+ # source://rbi//lib/rbi/model.rb#132
2665
+ sig { returns(T::Boolean) }
2666
+ def empty?; end
2667
+
2668
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#38
2669
+ sig { void }
2670
+ def group_nodes!; end
2671
+
2672
+ # source://rbi//lib/rbi/index.rb#68
2673
+ sig { returns(::RBI::Index) }
2674
+ def index; end
2675
+
2676
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#324
2677
+ sig do
2678
+ params(
2679
+ other: ::RBI::Tree,
2680
+ left_name: ::String,
2681
+ right_name: ::String,
2682
+ keep: ::RBI::Rewriters::Merge::Keep
2683
+ ).returns(::RBI::MergeTree)
2684
+ end
2685
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2686
+
2687
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#46
2688
+ sig { void }
2689
+ def nest_non_public_methods!; end
2690
+
2691
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#36
2692
+ sig { void }
2693
+ def nest_singleton_methods!; end
2694
+
2695
+ # source://rbi//lib/rbi/model.rb#110
2696
+ sig { returns(T::Array[::RBI::Node]) }
2697
+ def nodes; end
2698
+
2699
+ # source://rbi//lib/rbi/printer.rb#233
2700
+ sig { override.returns(T::Boolean) }
2701
+ def oneline?; end
2702
+
2703
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#119
2704
+ sig { void }
2705
+ def sort_nodes!; end
2706
+
2707
+ private
2708
+
2709
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#116
2710
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
2711
+ def create_node(node); end
2712
+
2713
+ # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#111
2714
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
2715
+ def nodes_cache; end
2716
+ end
2717
+
2718
+ # source://rbi//lib/rbi/parser.rb#160
2719
+ class RBI::TreeBuilder < ::RBI::ASTVisitor
2720
+ # source://rbi//lib/rbi/parser.rb#176
2721
+ sig do
2722
+ params(
2723
+ file: ::String,
2724
+ comments: T::Array[::Parser::Source::Comment],
2725
+ nodes_comments_assoc: T::Hash[::Parser::Source::Map, T::Array[::Parser::Source::Comment]]
2726
+ ).void
2727
+ end
2728
+ def initialize(file:, comments: T.unsafe(nil), nodes_comments_assoc: T.unsafe(nil)); end
2729
+
2730
+ # source://rbi//lib/rbi/parser.rb#167
2731
+ sig { returns(T.nilable(::AST::Node)) }
2732
+ def last_node; end
2733
+
2734
+ # source://rbi//lib/rbi/parser.rb#191
2735
+ sig { void }
2736
+ def post_process; end
2737
+
2738
+ # source://rbi//lib/rbi/parser.rb#164
2739
+ sig { returns(::RBI::Tree) }
2740
+ def tree; end
2741
+
2742
+ # source://rbi//lib/rbi/parser.rb#197
2743
+ sig { override.params(node: T.nilable(::Object)).void }
2744
+ def visit(node); end
2745
+
2746
+ private
2747
+
2748
+ # source://rbi//lib/rbi/parser.rb#573
2749
+ sig { void }
2750
+ def assoc_dangling_comments; end
2751
+
2752
+ # source://rbi//lib/rbi/parser.rb#554
2753
+ sig { returns(::RBI::Tree) }
2754
+ def current_scope; end
2755
+
2756
+ # source://rbi//lib/rbi/parser.rb#559
2757
+ sig { returns(T::Array[::RBI::Sig]) }
2758
+ def current_sigs; end
2759
+
2760
+ # source://rbi//lib/rbi/parser.rb#566
2761
+ sig { returns(T::Array[::RBI::Comment]) }
2762
+ def current_sigs_comments; end
2763
+
2764
+ # source://rbi//lib/rbi/parser.rb#542
2765
+ sig { params(node: ::AST::Node).returns(T::Array[::RBI::Comment]) }
2766
+ def node_comments(node); end
2767
+
2768
+ # source://rbi//lib/rbi/parser.rb#537
2769
+ sig { params(node: ::AST::Node).returns(::RBI::Loc) }
2770
+ def node_loc(node); end
2771
+
2772
+ # source://rbi//lib/rbi/parser.rb#410
2773
+ sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
2774
+ def parse_block(node); end
2775
+
2776
+ # source://rbi//lib/rbi/parser.rb#254
2777
+ sig { params(node: ::AST::Node).returns(::RBI::Node) }
2778
+ def parse_const_assign(node); end
2779
+
2780
+ # source://rbi//lib/rbi/parser.rb#270
2781
+ sig { params(node: ::AST::Node).returns(::RBI::Method) }
2782
+ def parse_def(node); end
2783
+
2784
+ # source://rbi//lib/rbi/parser.rb#512
2785
+ sig { params(node: ::AST::Node).returns(::RBI::TEnumBlock) }
2786
+ def parse_enum(node); end
2787
+
2788
+ # source://rbi//lib/rbi/parser.rb#297
2789
+ sig { params(node: ::AST::Node).returns(::RBI::Param) }
2790
+ def parse_param(node); end
2791
+
2792
+ # source://rbi//lib/rbi/parser.rb#529
2793
+ sig { params(node: ::AST::Node).returns(::RBI::RequiresAncestor) }
2794
+ def parse_requires_ancestor(node); end
2795
+
2796
+ # source://rbi//lib/rbi/parser.rb#234
2797
+ sig { params(node: ::AST::Node).returns(::RBI::Scope) }
2798
+ def parse_scope(node); end
2799
+
2800
+ # source://rbi//lib/rbi/parser.rb#325
2801
+ sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
2802
+ def parse_send(node); end
2803
+
2804
+ # source://rbi//lib/rbi/parser.rb#393
2805
+ sig { params(node: ::AST::Node).returns(T::Array[::RBI::Arg]) }
2806
+ def parse_send_args(node); end
2807
+
2808
+ # source://rbi//lib/rbi/parser.rb#505
2809
+ sig { params(node: ::AST::Node).returns(::RBI::Sig) }
2810
+ def parse_sig(node); end
2811
+
2812
+ # source://rbi//lib/rbi/parser.rb#432
2813
+ sig { params(node: ::AST::Node).returns(::RBI::Struct) }
2814
+ def parse_struct(node); end
2815
+
2816
+ # source://rbi//lib/rbi/parser.rb#489
2817
+ sig { params(node: ::AST::Node).returns([::String, ::String, T.nilable(::String)]) }
2818
+ def parse_tstruct_prop(node); end
2819
+
2820
+ # source://rbi//lib/rbi/parser.rb#478
2821
+ sig { params(node: ::AST::Node).returns(::RBI::TypeMember) }
2822
+ def parse_type_variable(node); end
2823
+
2824
+ # source://rbi//lib/rbi/parser.rb#591
2825
+ sig { void }
2826
+ def separate_header_comments; end
2827
+
2828
+ # source://rbi//lib/rbi/parser.rb#613
2829
+ sig { void }
2830
+ def set_root_tree_loc; end
2831
+
2832
+ # source://rbi//lib/rbi/parser.rb#426
2833
+ sig { params(node: ::AST::Node).returns(T::Boolean) }
2834
+ def struct_definition?(node); end
2835
+
2836
+ # source://rbi//lib/rbi/parser.rb#471
2837
+ sig { params(node: ::AST::Node).returns(T::Boolean) }
2838
+ def type_variable_definition?(node); end
2839
+ end
2840
+
2841
+ # source://rbi//lib/rbi/model.rb#1320
2842
+ class RBI::TypeMember < ::RBI::NodeWithComments
2843
+ include ::RBI::Indexable
2844
+
2845
+ # source://rbi//lib/rbi/model.rb#1335
2846
+ sig do
2847
+ params(
2848
+ name: ::String,
2849
+ value: ::String,
2850
+ loc: T.nilable(::RBI::Loc),
2851
+ comments: T::Array[::RBI::Comment],
2852
+ block: T.nilable(T.proc.params(node: ::RBI::TypeMember).void)
2853
+ ).void
2854
+ end
2855
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2856
+
2857
+ # source://rbi//lib/rbi/printer.rb#812
2858
+ sig { override.params(v: ::RBI::Printer).void }
2859
+ def accept_printer(v); end
2860
+
2861
+ # source://rbi//lib/rbi/model.rb#1343
2862
+ sig { returns(::String) }
2863
+ def fully_qualified_name; end
2864
+
2865
+ # source://rbi//lib/rbi/index.rb#183
2866
+ sig { override.returns(T::Array[::String]) }
2867
+ def index_ids; end
2868
+
2869
+ # source://rbi//lib/rbi/model.rb#1324
2870
+ sig { returns(::String) }
2871
+ def name; end
2872
+
2873
+ # source://rbi//lib/rbi/model.rb#1350
2874
+ sig { override.returns(::String) }
2875
+ def to_s; end
2876
+
2877
+ # @return [String]
2878
+ #
2879
+ # source://rbi//lib/rbi/model.rb#1324
2880
+ def value; end
2881
+ end
2882
+
2883
+ # source://rbi//lib/rbi/parser.rb#20
2884
+ class RBI::UnexpectedParserError < ::StandardError
2885
+ # source://rbi//lib/rbi/parser.rb#27
2886
+ sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void }
2887
+ def initialize(parent_exception, last_location); end
2888
+
2889
+ # source://rbi//lib/rbi/parser.rb#24
2890
+ sig { returns(::RBI::Loc) }
2891
+ def last_location; end
2892
+
2893
+ # source://rbi//lib/rbi/parser.rb#34
2894
+ sig { params(io: T.any(::IO, ::StringIO)).void }
2895
+ def print_debug(io: T.unsafe(nil)); end
2896
+ end
2897
+
2898
+ # source://rbi//lib/rbi/version.rb#5
2899
+ RBI::VERSION = T.let(T.unsafe(nil), String)
2900
+
2901
+ # Visibility
2902
+ #
2903
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2904
+ #
2905
+ # source://rbi//lib/rbi/model.rb#841
2906
+ class RBI::Visibility < ::RBI::NodeWithComments
2907
+ abstract!
2908
+
2909
+ # source://rbi//lib/rbi/model.rb#851
2910
+ sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
2911
+ def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2912
+
2913
+ # source://rbi//lib/rbi/model.rb#857
2914
+ sig { params(other: ::RBI::Visibility).returns(T::Boolean) }
2915
+ def ==(other); end
2916
+
2917
+ # source://rbi//lib/rbi/printer.rb#579
2918
+ sig { override.params(v: ::RBI::Printer).void }
2919
+ def accept_printer(v); end
2920
+
2921
+ # source://rbi//lib/rbi/model.rb#872
2922
+ sig { returns(T::Boolean) }
2923
+ def private?; end
2924
+
2925
+ # source://rbi//lib/rbi/model.rb#867
2926
+ sig { returns(T::Boolean) }
2927
+ def protected?; end
2928
+
2929
+ # source://rbi//lib/rbi/model.rb#862
2930
+ sig { returns(T::Boolean) }
2931
+ def public?; end
2932
+
2933
+ # source://rbi//lib/rbi/model.rb#848
2934
+ sig { returns(::Symbol) }
2935
+ def visibility; end
2936
+ end
2937
+
2938
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#52
2939
+ class RBI::VisibilityGroup < ::RBI::Tree
2940
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#59
2941
+ sig { params(visibility: ::RBI::Visibility).void }
2942
+ def initialize(visibility); end
2943
+
2944
+ # source://rbi//lib/rbi/printer.rb#848
2945
+ sig { override.params(v: ::RBI::Printer).void }
2946
+ def accept_printer(v); end
2947
+
2948
+ # source://rbi//lib/rbi/printer.rb#861
2949
+ sig { override.returns(T::Boolean) }
2950
+ def oneline?; end
2951
+
2952
+ # source://rbi//lib/rbi/rewriters/nest_non_public_methods.rb#56
2953
+ sig { returns(::RBI::Visibility) }
2954
+ def visibility; end
2955
+ end
2956
+
2957
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2958
+ #
2959
+ # source://rbi//lib/rbi/visitor.rb#5
2960
+ class RBI::Visitor
2961
+ abstract!
2962
+
2963
+ # @abstract
2964
+ #
2965
+ # source://rbi//lib/rbi/visitor.rb#12
2966
+ sig { abstract.params(node: T.nilable(::RBI::Node)).void }
2967
+ def visit(node); end
2968
+
2969
+ # source://rbi//lib/rbi/visitor.rb#15
2970
+ sig { params(nodes: T::Array[::RBI::Node]).void }
2971
+ def visit_all(nodes); end
2972
+ end