konstruo 1.0.0

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