ruby-lsp-rspec 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +39 -0
  4. data/CHANGELOG.md +5 -0
  5. data/CODE_OF_CONDUCT.md +84 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +45 -0
  8. data/Rakefile +12 -0
  9. data/lib/ruby-lsp-rspec.rb +11 -0
  10. data/lib/ruby_lsp/ruby_lsp_rspec/code_lens.rb +146 -0
  11. data/lib/ruby_lsp/ruby_lsp_rspec/extension.rb +38 -0
  12. data/lib/ruby_lsp_rspec/version.rb +8 -0
  13. data/misc/example.png +0 -0
  14. data/sorbet/config +4 -0
  15. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  16. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  17. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  18. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  19. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  20. data/sorbet/rbi/gems/io-console@0.6.0.rbi +8 -0
  21. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  22. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  23. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  24. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  25. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  26. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  27. data/sorbet/rbi/gems/psych@5.1.0.rbi +1760 -0
  28. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  29. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  30. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  31. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  32. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  33. data/sorbet/rbi/gems/reline@0.3.8.rbi +2260 -0
  34. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  35. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  36. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  37. data/sorbet/rbi/gems/rspec-mocks@3.12.5.rbi +5305 -0
  38. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +1611 -0
  39. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  40. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +6985 -0
  41. data/sorbet/rbi/gems/rubocop@1.56.2.rbi +56538 -0
  42. data/sorbet/rbi/gems/ruby-lsp@0.10.1.rbi +2903 -0
  43. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  44. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  45. data/sorbet/rbi/gems/stringio@3.0.8.rbi +8 -0
  46. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  47. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  48. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  49. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  50. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  51. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  52. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  53. data/sorbet/rbi/gems/yarp@0.11.0.rbi +15141 -0
  54. data/sorbet/rbi/shims/uri.rbi +14 -0
  55. data/sorbet/tapioca/config.yml +13 -0
  56. data/sorbet/tapioca/require.rb +8 -0
  57. metadata +115 -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.11010/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.11010/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