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