privat_bank_business_api 0.2.1

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