vigiles 0.1.0.pre.beta2

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