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