prism 0.30.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -1
  3. data/README.md +3 -1
  4. data/config.yml +185 -126
  5. data/docs/serialization.md +3 -0
  6. data/ext/prism/api_node.c +2843 -2085
  7. data/ext/prism/extconf.rb +1 -1
  8. data/ext/prism/extension.c +35 -25
  9. data/ext/prism/extension.h +2 -2
  10. data/include/prism/ast.h +1048 -69
  11. data/include/prism/defines.h +9 -0
  12. data/include/prism/diagnostic.h +11 -3
  13. data/include/prism/options.h +55 -1
  14. data/include/prism/parser.h +27 -3
  15. data/include/prism/regexp.h +2 -1
  16. data/include/prism/util/pm_integer.h +6 -6
  17. data/include/prism/util/pm_newline_list.h +11 -0
  18. data/include/prism/util/pm_string.h +1 -0
  19. data/include/prism/version.h +3 -3
  20. data/lib/prism/desugar_compiler.rb +111 -74
  21. data/lib/prism/dispatcher.rb +2 -1
  22. data/lib/prism/dot_visitor.rb +21 -31
  23. data/lib/prism/dsl.rb +656 -471
  24. data/lib/prism/ffi.rb +3 -0
  25. data/lib/prism/inspect_visitor.rb +285 -57
  26. data/lib/prism/mutation_compiler.rb +5 -5
  27. data/lib/prism/node.rb +2282 -4754
  28. data/lib/prism/node_ext.rb +72 -11
  29. data/lib/prism/parse_result/errors.rb +65 -0
  30. data/lib/prism/parse_result/newlines.rb +28 -28
  31. data/lib/prism/parse_result.rb +25 -2
  32. data/lib/prism/reflection.rb +7 -7
  33. data/lib/prism/serialize.rb +468 -610
  34. data/lib/prism/translation/parser/compiler.rb +18 -18
  35. data/lib/prism/translation/parser/lexer.rb +1 -1
  36. data/lib/prism/translation/parser.rb +3 -3
  37. data/lib/prism/translation/ripper.rb +14 -14
  38. data/lib/prism/translation/ruby_parser.rb +43 -7
  39. data/prism.gemspec +3 -1
  40. data/rbi/prism/dsl.rbi +521 -0
  41. data/rbi/prism/node.rbi +1456 -5616
  42. data/rbi/prism.rbi +16 -16
  43. data/sig/prism/dsl.rbs +189 -305
  44. data/sig/prism/node.rbs +702 -603
  45. data/sig/prism/parse_result.rbs +2 -0
  46. data/src/diagnostic.c +22 -6
  47. data/src/node.c +277 -284
  48. data/src/options.c +18 -0
  49. data/src/prettyprint.c +99 -108
  50. data/src/prism.c +1282 -760
  51. data/src/regexp.c +72 -4
  52. data/src/serialize.c +165 -50
  53. data/src/token_type.c +2 -2
  54. data/src/util/pm_integer.c +14 -14
  55. data/src/util/pm_newline_list.c +29 -0
  56. data/src/util/pm_string.c +9 -5
  57. metadata +4 -2
data/sig/prism/node.rbs CHANGED
@@ -11,8 +11,13 @@ module Prism
11
11
  class Node
12
12
  extend _NodeSingleton
13
13
 
14
- attr_reader location: Location
15
14
  attr_reader source: Source
15
+ attr_reader node_id: Integer
16
+ attr_reader location: Location
17
+ attr_reader flags: Integer
18
+
19
+ def newline?: () -> bool
20
+ def static_literal?: () -> bool
16
21
 
17
22
  def start_offset: () -> Integer
18
23
  def end_offset: () -> Integer
@@ -23,6 +28,7 @@ module Prism
23
28
  def pretty_print: (untyped q) -> untyped
24
29
  def to_dot: () -> String
25
30
  def tunnel: (Integer line, Integer column) -> Array[Prism::node]
31
+ def breadth_first_search: () { (Prism::node) -> bool } -> Prism::node?
26
32
  def deprecated: (*String) -> void
27
33
  def newline!: (Array[untyped]) -> void
28
34
  end
@@ -51,13 +57,13 @@ module Prism
51
57
  class AliasGlobalVariableNode < Node
52
58
  include _Node
53
59
 
54
- attr_reader new_name: Prism::node
55
- attr_reader old_name: Prism::node
60
+ attr_reader new_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode
61
+ attr_reader old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode
56
62
  attr_reader keyword_loc: Location
57
63
 
58
- def initialize: (Source source, Prism::node new_name, Prism::node old_name, Location keyword_loc, Location location) -> void
59
- def copy: (?new_name: Prism::node, ?old_name: Prism::node, ?keyword_loc: Location, ?location: Location) -> AliasGlobalVariableNode
60
- def deconstruct_keys: (Array[Symbol] keys) -> { new_name: Prism::node, old_name: Prism::node, keyword_loc: Location, location: Location }
64
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode new_name, GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode old_name, Location keyword_loc) -> void
65
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode, ?old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode, ?keyword_loc: Location) -> AliasGlobalVariableNode
66
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, new_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode, old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode, keyword_loc: Location }
61
67
  def keyword: () -> String
62
68
  def type: () -> :alias_global_variable_node
63
69
  | ...
@@ -71,13 +77,13 @@ module Prism
71
77
  class AliasMethodNode < Node
72
78
  include _Node
73
79
 
74
- attr_reader new_name: Prism::node
75
- attr_reader old_name: Prism::node
80
+ attr_reader new_name: SymbolNode | InterpolatedSymbolNode
81
+ attr_reader old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode
76
82
  attr_reader keyword_loc: Location
77
83
 
78
- def initialize: (Source source, Prism::node new_name, Prism::node old_name, Location keyword_loc, Location location) -> void
79
- def copy: (?new_name: Prism::node, ?old_name: Prism::node, ?keyword_loc: Location, ?location: Location) -> AliasMethodNode
80
- def deconstruct_keys: (Array[Symbol] keys) -> { new_name: Prism::node, old_name: Prism::node, keyword_loc: Location, location: Location }
84
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, SymbolNode | InterpolatedSymbolNode new_name, SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode old_name, Location keyword_loc) -> void
85
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: SymbolNode | InterpolatedSymbolNode, ?old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, ?keyword_loc: Location) -> AliasMethodNode
86
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, new_name: SymbolNode | InterpolatedSymbolNode, old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, keyword_loc: Location }
81
87
  def keyword: () -> String
82
88
  def type: () -> :alias_method_node
83
89
  | ...
@@ -95,9 +101,9 @@ module Prism
95
101
  attr_reader right: Prism::node
96
102
  attr_reader operator_loc: Location
97
103
 
98
- def initialize: (Source source, Prism::node left, Prism::node right, Location operator_loc, Location location) -> void
99
- def copy: (?left: Prism::node, ?right: Prism::node, ?operator_loc: Location, ?location: Location) -> AlternationPatternNode
100
- def deconstruct_keys: (Array[Symbol] keys) -> { left: Prism::node, right: Prism::node, operator_loc: Location, location: Location }
104
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
105
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AlternationPatternNode
106
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
101
107
  def operator: () -> String
102
108
  def type: () -> :alternation_pattern_node
103
109
  | ...
@@ -115,9 +121,9 @@ module Prism
115
121
  attr_reader right: Prism::node
116
122
  attr_reader operator_loc: Location
117
123
 
118
- def initialize: (Source source, Prism::node left, Prism::node right, Location operator_loc, Location location) -> void
119
- def copy: (?left: Prism::node, ?right: Prism::node, ?operator_loc: Location, ?location: Location) -> AndNode
120
- def deconstruct_keys: (Array[Symbol] keys) -> { left: Prism::node, right: Prism::node, operator_loc: Location, location: Location }
124
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
125
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AndNode
126
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
121
127
  def operator: () -> String
122
128
  def type: () -> :and_node
123
129
  | ...
@@ -131,14 +137,17 @@ module Prism
131
137
  class ArgumentsNode < Node
132
138
  include _Node
133
139
 
134
- attr_reader flags: Integer
135
- attr_reader arguments: Array[Prism::node]
136
-
137
- def initialize: (Source source, Integer flags, Array[Prism::node] arguments, Location location) -> void
138
- def copy: (?flags: Integer, ?arguments: Array[Prism::node], ?location: Location) -> ArgumentsNode
139
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, arguments: Array[Prism::node], location: Location }
140
140
  def contains_keywords?: () -> bool
141
+
141
142
  def contains_keyword_splat?: () -> bool
143
+
144
+ def contains_splat?: () -> bool
145
+
146
+ attr_reader arguments: Array[Prism::node]
147
+
148
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] arguments) -> void
149
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: Array[Prism::node]) -> ArgumentsNode
150
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: Array[Prism::node] }
142
151
  def type: () -> :arguments_node
143
152
  | ...
144
153
  def self.type: () -> :arguments_node
@@ -151,15 +160,15 @@ module Prism
151
160
  class ArrayNode < Node
152
161
  include _Node
153
162
 
154
- attr_reader flags: Integer
163
+ def contains_splat?: () -> bool
164
+
155
165
  attr_reader elements: Array[Prism::node]
156
166
  attr_reader opening_loc: Location?
157
167
  attr_reader closing_loc: Location?
158
168
 
159
- def initialize: (Source source, Integer flags, Array[Prism::node] elements, Location? opening_loc, Location? closing_loc, Location location) -> void
160
- def copy: (?flags: Integer, ?elements: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?, ?location: Location) -> ArrayNode
161
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, elements: Array[Prism::node], opening_loc: Location?, closing_loc: Location?, location: Location }
162
- def contains_splat?: () -> bool
169
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] elements, Location? opening_loc, Location? closing_loc) -> void
170
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayNode
171
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[Prism::node], opening_loc: Location?, closing_loc: Location? }
163
172
  def opening: () -> String?
164
173
  def closing: () -> String?
165
174
  def type: () -> :array_node
@@ -193,9 +202,9 @@ module Prism
193
202
  attr_reader opening_loc: Location?
194
203
  attr_reader closing_loc: Location?
195
204
 
196
- def initialize: (Source source, Prism::node? constant, Array[Prism::node] requireds, Prism::node? rest, Array[Prism::node] posts, Location? opening_loc, Location? closing_loc, Location location) -> void
197
- def copy: (?constant: Prism::node?, ?requireds: Array[Prism::node], ?rest: Prism::node?, ?posts: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?, ?location: Location) -> ArrayPatternNode
198
- def deconstruct_keys: (Array[Symbol] keys) -> { constant: Prism::node?, requireds: Array[Prism::node], rest: Prism::node?, posts: Array[Prism::node], opening_loc: Location?, closing_loc: Location?, location: Location }
205
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? constant, Array[Prism::node] requireds, Prism::node? rest, Array[Prism::node] posts, Location? opening_loc, Location? closing_loc) -> void
206
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?requireds: Array[Prism::node], ?rest: Prism::node?, ?posts: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayPatternNode
207
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: Prism::node?, requireds: Array[Prism::node], rest: Prism::node?, posts: Array[Prism::node], opening_loc: Location?, closing_loc: Location? }
199
208
  def opening: () -> String?
200
209
  def closing: () -> String?
201
210
  def type: () -> :array_pattern_node
@@ -214,9 +223,9 @@ module Prism
214
223
  attr_reader value: Prism::node
215
224
  attr_reader operator_loc: Location?
216
225
 
217
- def initialize: (Source source, Prism::node key, Prism::node value, Location? operator_loc, Location location) -> void
218
- def copy: (?key: Prism::node, ?value: Prism::node, ?operator_loc: Location?, ?location: Location) -> AssocNode
219
- def deconstruct_keys: (Array[Symbol] keys) -> { key: Prism::node, value: Prism::node, operator_loc: Location?, location: Location }
226
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node key, Prism::node value, Location? operator_loc) -> void
227
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?key: Prism::node, ?value: Prism::node, ?operator_loc: Location?) -> AssocNode
228
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, key: Prism::node, value: Prism::node, operator_loc: Location? }
220
229
  def operator: () -> String?
221
230
  def type: () -> :assoc_node
222
231
  | ...
@@ -233,9 +242,9 @@ module Prism
233
242
  attr_reader value: Prism::node?
234
243
  attr_reader operator_loc: Location
235
244
 
236
- def initialize: (Source source, Prism::node? value, Location operator_loc, Location location) -> void
237
- def copy: (?value: Prism::node?, ?operator_loc: Location, ?location: Location) -> AssocSplatNode
238
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Prism::node?, operator_loc: Location, location: Location }
245
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? value, Location operator_loc) -> void
246
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node?, ?operator_loc: Location) -> AssocSplatNode
247
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node?, operator_loc: Location }
239
248
  def operator: () -> String
240
249
  def type: () -> :assoc_splat_node
241
250
  | ...
@@ -251,9 +260,9 @@ module Prism
251
260
 
252
261
  attr_reader name: Symbol
253
262
 
254
- def initialize: (Source source, Symbol name, Location location) -> void
255
- def copy: (?name: Symbol, ?location: Location) -> BackReferenceReadNode
256
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
263
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
264
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BackReferenceReadNode
265
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
257
266
  def type: () -> :back_reference_read_node
258
267
  | ...
259
268
  def self.type: () -> :back_reference_read_node
@@ -275,9 +284,9 @@ module Prism
275
284
  attr_reader ensure_clause: EnsureNode?
276
285
  attr_reader end_keyword_loc: Location?
277
286
 
278
- def initialize: (Source source, Location? begin_keyword_loc, StatementsNode? statements, RescueNode? rescue_clause, ElseNode? else_clause, EnsureNode? ensure_clause, Location? end_keyword_loc, Location location) -> void
279
- def copy: (?begin_keyword_loc: Location?, ?statements: StatementsNode?, ?rescue_clause: RescueNode?, ?else_clause: ElseNode?, ?ensure_clause: EnsureNode?, ?end_keyword_loc: Location?, ?location: Location) -> BeginNode
280
- def deconstruct_keys: (Array[Symbol] keys) -> { begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location }
287
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? begin_keyword_loc, StatementsNode? statements, RescueNode? rescue_clause, ElseNode? else_clause, EnsureNode? ensure_clause, Location? end_keyword_loc) -> void
288
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?begin_keyword_loc: Location?, ?statements: StatementsNode?, ?rescue_clause: RescueNode?, ?else_clause: ElseNode?, ?ensure_clause: EnsureNode?, ?end_keyword_loc: Location?) -> BeginNode
289
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location? }
281
290
  def begin_keyword: () -> String?
282
291
  def end_keyword: () -> String?
283
292
  def type: () -> :begin_node
@@ -285,7 +294,7 @@ module Prism
285
294
  def self.type: () -> :begin_node
286
295
  end
287
296
 
288
- # Represents block method arguments.
297
+ # Represents a block argument using `&`.
289
298
  #
290
299
  # bar(&args)
291
300
  # ^^^^^^^^^^
@@ -295,9 +304,9 @@ module Prism
295
304
  attr_reader expression: Prism::node?
296
305
  attr_reader operator_loc: Location
297
306
 
298
- def initialize: (Source source, Prism::node? expression, Location operator_loc, Location location) -> void
299
- def copy: (?expression: Prism::node?, ?operator_loc: Location, ?location: Location) -> BlockArgumentNode
300
- def deconstruct_keys: (Array[Symbol] keys) -> { expression: Prism::node?, operator_loc: Location, location: Location }
307
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? expression, Location operator_loc) -> void
308
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node?, ?operator_loc: Location) -> BlockArgumentNode
309
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node?, operator_loc: Location }
301
310
  def operator: () -> String
302
311
  def type: () -> :block_argument_node
303
312
  | ...
@@ -311,13 +320,13 @@ module Prism
311
320
  class BlockLocalVariableNode < Node
312
321
  include _Node
313
322
 
314
- attr_reader flags: Integer
323
+ def repeated_parameter?: () -> bool
324
+
315
325
  attr_reader name: Symbol
316
326
 
317
- def initialize: (Source source, Integer flags, Symbol name, Location location) -> void
318
- def copy: (?flags: Integer, ?name: Symbol, ?location: Location) -> BlockLocalVariableNode
319
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, location: Location }
320
- def repeated_parameter?: () -> bool
327
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
328
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BlockLocalVariableNode
329
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
321
330
  def type: () -> :block_local_variable_node
322
331
  | ...
323
332
  def self.type: () -> :block_local_variable_node
@@ -331,14 +340,14 @@ module Prism
331
340
  include _Node
332
341
 
333
342
  attr_reader locals: Array[Symbol]
334
- attr_reader parameters: Prism::node?
335
- attr_reader body: Prism::node?
343
+ attr_reader parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil
344
+ attr_reader body: StatementsNode | BeginNode | nil
336
345
  attr_reader opening_loc: Location
337
346
  attr_reader closing_loc: Location
338
347
 
339
- def initialize: (Source source, Array[Symbol] locals, Prism::node? parameters, Prism::node? body, Location opening_loc, Location closing_loc, Location location) -> void
340
- def copy: (?locals: Array[Symbol], ?parameters: Prism::node?, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location, ?location: Location) -> BlockNode
341
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], parameters: Prism::node?, body: Prism::node?, opening_loc: Location, closing_loc: Location, location: Location }
348
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, BlockParametersNode | NumberedParametersNode | ItParametersNode | nil parameters, StatementsNode | BeginNode | nil body, Location opening_loc, Location closing_loc) -> void
349
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, ?body: StatementsNode | BeginNode | nil, ?opening_loc: Location, ?closing_loc: Location) -> BlockNode
350
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, body: StatementsNode | BeginNode | nil, opening_loc: Location, closing_loc: Location }
342
351
  def opening: () -> String
343
352
  def closing: () -> String
344
353
  def type: () -> :block_node
@@ -346,7 +355,7 @@ module Prism
346
355
  def self.type: () -> :block_node
347
356
  end
348
357
 
349
- # Represents a block parameter to a method, block, or lambda definition.
358
+ # Represents a block parameter of a method, block, or lambda definition.
350
359
  #
351
360
  # def a(&b)
352
361
  # ^^
@@ -354,15 +363,15 @@ module Prism
354
363
  class BlockParameterNode < Node
355
364
  include _Node
356
365
 
357
- attr_reader flags: Integer
366
+ def repeated_parameter?: () -> bool
367
+
358
368
  attr_reader name: Symbol?
359
369
  attr_reader name_loc: Location?
360
370
  attr_reader operator_loc: Location
361
371
 
362
- def initialize: (Source source, Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
363
- def copy: (?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location, ?location: Location) -> BlockParameterNode
364
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
365
- def repeated_parameter?: () -> bool
372
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
373
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> BlockParameterNode
374
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
366
375
  def operator: () -> String
367
376
  def type: () -> :block_parameter_node
368
377
  | ...
@@ -385,9 +394,9 @@ module Prism
385
394
  attr_reader opening_loc: Location?
386
395
  attr_reader closing_loc: Location?
387
396
 
388
- def initialize: (Source source, ParametersNode? parameters, Array[BlockLocalVariableNode] locals, Location? opening_loc, Location? closing_loc, Location location) -> void
389
- def copy: (?parameters: ParametersNode?, ?locals: Array[BlockLocalVariableNode], ?opening_loc: Location?, ?closing_loc: Location?, ?location: Location) -> BlockParametersNode
390
- def deconstruct_keys: (Array[Symbol] keys) -> { parameters: ParametersNode?, locals: Array[BlockLocalVariableNode], opening_loc: Location?, closing_loc: Location?, location: Location }
397
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ParametersNode? parameters, Array[BlockLocalVariableNode] locals, Location? opening_loc, Location? closing_loc) -> void
398
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parameters: ParametersNode?, ?locals: Array[BlockLocalVariableNode], ?opening_loc: Location?, ?closing_loc: Location?) -> BlockParametersNode
399
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parameters: ParametersNode?, locals: Array[BlockLocalVariableNode], opening_loc: Location?, closing_loc: Location? }
391
400
  def opening: () -> String?
392
401
  def closing: () -> String?
393
402
  def type: () -> :block_parameters_node
@@ -405,9 +414,9 @@ module Prism
405
414
  attr_reader arguments: ArgumentsNode?
406
415
  attr_reader keyword_loc: Location
407
416
 
408
- def initialize: (Source source, ArgumentsNode? arguments, Location keyword_loc, Location location) -> void
409
- def copy: (?arguments: ArgumentsNode?, ?keyword_loc: Location, ?location: Location) -> BreakNode
410
- def deconstruct_keys: (Array[Symbol] keys) -> { arguments: ArgumentsNode?, keyword_loc: Location, location: Location }
417
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
418
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> BreakNode
419
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
411
420
  def keyword: () -> String
412
421
  def type: () -> :break_node
413
422
  | ...
@@ -421,7 +430,14 @@ module Prism
421
430
  class CallAndWriteNode < Node
422
431
  include _Node
423
432
 
424
- attr_reader flags: Integer
433
+ def safe_navigation?: () -> bool
434
+
435
+ def variable_call?: () -> bool
436
+
437
+ def attribute_write?: () -> bool
438
+
439
+ def ignore_visibility?: () -> bool
440
+
425
441
  attr_reader receiver: Prism::node?
426
442
  attr_reader call_operator_loc: Location?
427
443
  attr_reader message_loc: Location?
@@ -430,13 +446,9 @@ module Prism
430
446
  attr_reader operator_loc: Location
431
447
  attr_reader value: Prism::node
432
448
 
433
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Prism::node value, Location location) -> void
434
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> CallAndWriteNode
435
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Prism::node, location: Location }
436
- def safe_navigation?: () -> bool
437
- def variable_call?: () -> bool
438
- def attribute_write?: () -> bool
439
- def ignore_visibility?: () -> bool
449
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Prism::node value) -> void
450
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node) -> CallAndWriteNode
451
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Prism::node }
440
452
  def call_operator: () -> String?
441
453
  def message: () -> String?
442
454
  def operator: () -> String
@@ -467,7 +479,14 @@ module Prism
467
479
  class CallNode < Node
468
480
  include _Node
469
481
 
470
- attr_reader flags: Integer
482
+ def safe_navigation?: () -> bool
483
+
484
+ def variable_call?: () -> bool
485
+
486
+ def attribute_write?: () -> bool
487
+
488
+ def ignore_visibility?: () -> bool
489
+
471
490
  attr_reader receiver: Prism::node?
472
491
  attr_reader call_operator_loc: Location?
473
492
  attr_reader name: Symbol
@@ -477,13 +496,9 @@ module Prism
477
496
  attr_reader closing_loc: Location?
478
497
  attr_reader block: Prism::node?
479
498
 
480
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Symbol name, Location? message_loc, Location? opening_loc, ArgumentsNode? arguments, Location? closing_loc, Prism::node? block, Location location) -> void
481
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?name: Symbol, ?message_loc: Location?, ?opening_loc: Location?, ?arguments: ArgumentsNode?, ?closing_loc: Location?, ?block: Prism::node?, ?location: Location) -> CallNode
482
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Prism::node?, location: Location }
483
- def safe_navigation?: () -> bool
484
- def variable_call?: () -> bool
485
- def attribute_write?: () -> bool
486
- def ignore_visibility?: () -> bool
499
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Symbol name, Location? message_loc, Location? opening_loc, ArgumentsNode? arguments, Location? closing_loc, Prism::node? block) -> void
500
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?name: Symbol, ?message_loc: Location?, ?opening_loc: Location?, ?arguments: ArgumentsNode?, ?closing_loc: Location?, ?block: Prism::node?) -> CallNode
501
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Prism::node? }
487
502
  def call_operator: () -> String?
488
503
  def message: () -> String?
489
504
  def opening: () -> String?
@@ -500,7 +515,14 @@ module Prism
500
515
  class CallOperatorWriteNode < Node
501
516
  include _Node
502
517
 
503
- attr_reader flags: Integer
518
+ def safe_navigation?: () -> bool
519
+
520
+ def variable_call?: () -> bool
521
+
522
+ def attribute_write?: () -> bool
523
+
524
+ def ignore_visibility?: () -> bool
525
+
504
526
  attr_reader receiver: Prism::node?
505
527
  attr_reader call_operator_loc: Location?
506
528
  attr_reader message_loc: Location?
@@ -510,13 +532,9 @@ module Prism
510
532
  attr_reader binary_operator_loc: Location
511
533
  attr_reader value: Prism::node
512
534
 
513
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Symbol binary_operator, Location binary_operator_loc, Prism::node value, Location location) -> void
514
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node, ?location: Location) -> CallOperatorWriteNode
515
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node, location: Location }
516
- def safe_navigation?: () -> bool
517
- def variable_call?: () -> bool
518
- def attribute_write?: () -> bool
519
- def ignore_visibility?: () -> bool
535
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Symbol binary_operator, Location binary_operator_loc, Prism::node value) -> void
536
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node) -> CallOperatorWriteNode
537
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node }
520
538
  def call_operator: () -> String?
521
539
  def message: () -> String?
522
540
  def type: () -> :call_operator_write_node
@@ -531,7 +549,14 @@ module Prism
531
549
  class CallOrWriteNode < Node
532
550
  include _Node
533
551
 
534
- attr_reader flags: Integer
552
+ def safe_navigation?: () -> bool
553
+
554
+ def variable_call?: () -> bool
555
+
556
+ def attribute_write?: () -> bool
557
+
558
+ def ignore_visibility?: () -> bool
559
+
535
560
  attr_reader receiver: Prism::node?
536
561
  attr_reader call_operator_loc: Location?
537
562
  attr_reader message_loc: Location?
@@ -540,13 +565,9 @@ module Prism
540
565
  attr_reader operator_loc: Location
541
566
  attr_reader value: Prism::node
542
567
 
543
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Prism::node value, Location location) -> void
544
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> CallOrWriteNode
545
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Prism::node, location: Location }
546
- def safe_navigation?: () -> bool
547
- def variable_call?: () -> bool
548
- def attribute_write?: () -> bool
549
- def ignore_visibility?: () -> bool
568
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Prism::node value) -> void
569
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node) -> CallOrWriteNode
570
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Prism::node }
550
571
  def call_operator: () -> String?
551
572
  def message: () -> String?
552
573
  def operator: () -> String
@@ -570,19 +591,22 @@ module Prism
570
591
  class CallTargetNode < Node
571
592
  include _Node
572
593
 
573
- attr_reader flags: Integer
594
+ def safe_navigation?: () -> bool
595
+
596
+ def variable_call?: () -> bool
597
+
598
+ def attribute_write?: () -> bool
599
+
600
+ def ignore_visibility?: () -> bool
601
+
574
602
  attr_reader receiver: Prism::node
575
603
  attr_reader call_operator_loc: Location
576
604
  attr_reader name: Symbol
577
605
  attr_reader message_loc: Location
578
606
 
579
- def initialize: (Source source, Integer flags, Prism::node receiver, Location call_operator_loc, Symbol name, Location message_loc, Location location) -> void
580
- def copy: (?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location, ?location: Location) -> CallTargetNode
581
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node, call_operator_loc: Location, name: Symbol, message_loc: Location, location: Location }
582
- def safe_navigation?: () -> bool
583
- def variable_call?: () -> bool
584
- def attribute_write?: () -> bool
585
- def ignore_visibility?: () -> bool
607
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node receiver, Location call_operator_loc, Symbol name, Location message_loc) -> void
608
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location) -> CallTargetNode
609
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node, call_operator_loc: Location, name: Symbol, message_loc: Location }
586
610
  def call_operator: () -> String
587
611
  def message: () -> String
588
612
  def type: () -> :call_target_node
@@ -601,9 +625,9 @@ module Prism
601
625
  attr_reader target: Prism::node
602
626
  attr_reader operator_loc: Location
603
627
 
604
- def initialize: (Source source, Prism::node value, Prism::node target, Location operator_loc, Location location) -> void
605
- def copy: (?value: Prism::node, ?target: Prism::node, ?operator_loc: Location, ?location: Location) -> CapturePatternNode
606
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Prism::node, target: Prism::node, operator_loc: Location, location: Location }
628
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node target, Location operator_loc) -> void
629
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: Prism::node, ?operator_loc: Location) -> CapturePatternNode
630
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, target: Prism::node, operator_loc: Location }
607
631
  def operator: () -> String
608
632
  def type: () -> :capture_pattern_node
609
633
  | ...
@@ -621,13 +645,13 @@ module Prism
621
645
 
622
646
  attr_reader predicate: Prism::node?
623
647
  attr_reader conditions: Array[Prism::node]
624
- attr_reader consequent: ElseNode?
648
+ attr_reader else_clause: ElseNode?
625
649
  attr_reader case_keyword_loc: Location
626
650
  attr_reader end_keyword_loc: Location
627
651
 
628
- def initialize: (Source source, Prism::node? predicate, Array[Prism::node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, Location location) -> void
629
- def copy: (?predicate: Prism::node?, ?conditions: Array[Prism::node], ?consequent: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location, ?location: Location) -> CaseMatchNode
630
- def deconstruct_keys: (Array[Symbol] keys) -> { predicate: Prism::node?, conditions: Array[Prism::node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location }
652
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? predicate, Array[Prism::node] conditions, ElseNode? else_clause, Location case_keyword_loc, Location end_keyword_loc) -> void
653
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[Prism::node], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseMatchNode
654
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[Prism::node], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location }
631
655
  def case_keyword: () -> String
632
656
  def end_keyword: () -> String
633
657
  def type: () -> :case_match_node
@@ -646,13 +670,13 @@ module Prism
646
670
 
647
671
  attr_reader predicate: Prism::node?
648
672
  attr_reader conditions: Array[Prism::node]
649
- attr_reader consequent: ElseNode?
673
+ attr_reader else_clause: ElseNode?
650
674
  attr_reader case_keyword_loc: Location
651
675
  attr_reader end_keyword_loc: Location
652
676
 
653
- def initialize: (Source source, Prism::node? predicate, Array[Prism::node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, Location location) -> void
654
- def copy: (?predicate: Prism::node?, ?conditions: Array[Prism::node], ?consequent: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location, ?location: Location) -> CaseNode
655
- def deconstruct_keys: (Array[Symbol] keys) -> { predicate: Prism::node?, conditions: Array[Prism::node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location }
677
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? predicate, Array[Prism::node] conditions, ElseNode? else_clause, Location case_keyword_loc, Location end_keyword_loc) -> void
678
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[Prism::node], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseNode
679
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[Prism::node], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location }
656
680
  def case_keyword: () -> String
657
681
  def end_keyword: () -> String
658
682
  def type: () -> :case_node
@@ -676,9 +700,9 @@ module Prism
676
700
  attr_reader end_keyword_loc: Location
677
701
  attr_reader name: Symbol
678
702
 
679
- def initialize: (Source source, Array[Symbol] locals, Location class_keyword_loc, Prism::node constant_path, Location? inheritance_operator_loc, Prism::node? superclass, Prism::node? body, Location end_keyword_loc, Symbol name, Location location) -> void
680
- def copy: (?locals: Array[Symbol], ?class_keyword_loc: Location, ?constant_path: Prism::node, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol, ?location: Location) -> ClassNode
681
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], class_keyword_loc: Location, constant_path: Prism::node, inheritance_operator_loc: Location?, superclass: Prism::node?, body: Prism::node?, end_keyword_loc: Location, name: Symbol, location: Location }
703
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location class_keyword_loc, Prism::node constant_path, Location? inheritance_operator_loc, Prism::node? superclass, Prism::node? body, Location end_keyword_loc, Symbol name) -> void
704
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?constant_path: Prism::node, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol) -> ClassNode
705
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], class_keyword_loc: Location, constant_path: Prism::node, inheritance_operator_loc: Location?, superclass: Prism::node?, body: Prism::node?, end_keyword_loc: Location, name: Symbol }
682
706
  def class_keyword: () -> String
683
707
  def inheritance_operator: () -> String?
684
708
  def end_keyword: () -> String
@@ -699,9 +723,9 @@ module Prism
699
723
  attr_reader operator_loc: Location
700
724
  attr_reader value: Prism::node
701
725
 
702
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
703
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ClassVariableAndWriteNode
704
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
726
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
727
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableAndWriteNode
728
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
705
729
  def operator: () -> String
706
730
  def type: () -> :class_variable_and_write_node
707
731
  | ...
@@ -721,9 +745,9 @@ module Prism
721
745
  attr_reader value: Prism::node
722
746
  attr_reader binary_operator: Symbol
723
747
 
724
- def initialize: (Source source, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
725
- def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> ClassVariableOperatorWriteNode
726
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
748
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator) -> void
749
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ClassVariableOperatorWriteNode
750
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol }
727
751
  def type: () -> :class_variable_operator_write_node
728
752
  | ...
729
753
  def self.type: () -> :class_variable_operator_write_node
@@ -741,9 +765,9 @@ module Prism
741
765
  attr_reader operator_loc: Location
742
766
  attr_reader value: Prism::node
743
767
 
744
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
745
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ClassVariableOrWriteNode
746
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
768
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
769
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableOrWriteNode
770
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
747
771
  def operator: () -> String
748
772
  def type: () -> :class_variable_or_write_node
749
773
  | ...
@@ -759,9 +783,9 @@ module Prism
759
783
 
760
784
  attr_reader name: Symbol
761
785
 
762
- def initialize: (Source source, Symbol name, Location location) -> void
763
- def copy: (?name: Symbol, ?location: Location) -> ClassVariableReadNode
764
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
786
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
787
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode
788
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
765
789
  def type: () -> :class_variable_read_node
766
790
  | ...
767
791
  def self.type: () -> :class_variable_read_node
@@ -776,9 +800,9 @@ module Prism
776
800
 
777
801
  attr_reader name: Symbol
778
802
 
779
- def initialize: (Source source, Symbol name, Location location) -> void
780
- def copy: (?name: Symbol, ?location: Location) -> ClassVariableTargetNode
781
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
803
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
804
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode
805
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
782
806
  def type: () -> :class_variable_target_node
783
807
  | ...
784
808
  def self.type: () -> :class_variable_target_node
@@ -796,9 +820,9 @@ module Prism
796
820
  attr_reader value: Prism::node
797
821
  attr_reader operator_loc: Location
798
822
 
799
- def initialize: (Source source, Symbol name, Location name_loc, Prism::node value, Location operator_loc, Location location) -> void
800
- def copy: (?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location, ?location: Location) -> ClassVariableWriteNode
801
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location, location: Location }
823
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
824
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ClassVariableWriteNode
825
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
802
826
  def operator: () -> String
803
827
  def type: () -> :class_variable_write_node
804
828
  | ...
@@ -817,9 +841,9 @@ module Prism
817
841
  attr_reader operator_loc: Location
818
842
  attr_reader value: Prism::node
819
843
 
820
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
821
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ConstantAndWriteNode
822
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
844
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
845
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantAndWriteNode
846
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
823
847
  def operator: () -> String
824
848
  def type: () -> :constant_and_write_node
825
849
  | ...
@@ -839,9 +863,9 @@ module Prism
839
863
  attr_reader value: Prism::node
840
864
  attr_reader binary_operator: Symbol
841
865
 
842
- def initialize: (Source source, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
843
- def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> ConstantOperatorWriteNode
844
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
866
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator) -> void
867
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantOperatorWriteNode
868
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol }
845
869
  def type: () -> :constant_operator_write_node
846
870
  | ...
847
871
  def self.type: () -> :constant_operator_write_node
@@ -859,9 +883,9 @@ module Prism
859
883
  attr_reader operator_loc: Location
860
884
  attr_reader value: Prism::node
861
885
 
862
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
863
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ConstantOrWriteNode
864
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
886
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
887
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantOrWriteNode
888
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
865
889
  def operator: () -> String
866
890
  def type: () -> :constant_or_write_node
867
891
  | ...
@@ -879,9 +903,9 @@ module Prism
879
903
  attr_reader operator_loc: Location
880
904
  attr_reader value: Prism::node
881
905
 
882
- def initialize: (Source source, ConstantPathNode target, Location operator_loc, Prism::node value, Location location) -> void
883
- def copy: (?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ConstantPathAndWriteNode
884
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Prism::node, location: Location }
906
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
907
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathAndWriteNode
908
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
885
909
  def operator: () -> String
886
910
  def type: () -> :constant_path_and_write_node
887
911
  | ...
@@ -900,9 +924,9 @@ module Prism
900
924
  attr_reader delimiter_loc: Location
901
925
  attr_reader name_loc: Location
902
926
 
903
- def initialize: (Source source, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc, Location location) -> void
904
- def copy: (?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location, ?location: Location) -> ConstantPathNode
905
- def deconstruct_keys: (Array[Symbol] keys) -> { parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location, location: Location }
927
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
928
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathNode
929
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
906
930
  def delimiter: () -> String
907
931
  def type: () -> :constant_path_node
908
932
  | ...
@@ -921,9 +945,9 @@ module Prism
921
945
  attr_reader value: Prism::node
922
946
  attr_reader binary_operator: Symbol
923
947
 
924
- def initialize: (Source source, ConstantPathNode target, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
925
- def copy: (?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> ConstantPathOperatorWriteNode
926
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
948
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location binary_operator_loc, Prism::node value, Symbol binary_operator) -> void
949
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantPathOperatorWriteNode
950
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol }
927
951
  def type: () -> :constant_path_operator_write_node
928
952
  | ...
929
953
  def self.type: () -> :constant_path_operator_write_node
@@ -940,9 +964,9 @@ module Prism
940
964
  attr_reader operator_loc: Location
941
965
  attr_reader value: Prism::node
942
966
 
943
- def initialize: (Source source, ConstantPathNode target, Location operator_loc, Prism::node value, Location location) -> void
944
- def copy: (?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ConstantPathOrWriteNode
945
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Prism::node, location: Location }
967
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
968
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathOrWriteNode
969
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
946
970
  def operator: () -> String
947
971
  def type: () -> :constant_path_or_write_node
948
972
  | ...
@@ -961,9 +985,9 @@ module Prism
961
985
  attr_reader delimiter_loc: Location
962
986
  attr_reader name_loc: Location
963
987
 
964
- def initialize: (Source source, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc, Location location) -> void
965
- def copy: (?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location, ?location: Location) -> ConstantPathTargetNode
966
- def deconstruct_keys: (Array[Symbol] keys) -> { parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location, location: Location }
988
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
989
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathTargetNode
990
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
967
991
  def delimiter: () -> String
968
992
  def type: () -> :constant_path_target_node
969
993
  | ...
@@ -987,9 +1011,9 @@ module Prism
987
1011
  attr_reader operator_loc: Location
988
1012
  attr_reader value: Prism::node
989
1013
 
990
- def initialize: (Source source, ConstantPathNode target, Location operator_loc, Prism::node value, Location location) -> void
991
- def copy: (?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> ConstantPathWriteNode
992
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Prism::node, location: Location }
1014
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
1015
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathWriteNode
1016
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
993
1017
  def operator: () -> String
994
1018
  def type: () -> :constant_path_write_node
995
1019
  | ...
@@ -1005,9 +1029,9 @@ module Prism
1005
1029
 
1006
1030
  attr_reader name: Symbol
1007
1031
 
1008
- def initialize: (Source source, Symbol name, Location location) -> void
1009
- def copy: (?name: Symbol, ?location: Location) -> ConstantReadNode
1010
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1032
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1033
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode
1034
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
1011
1035
  def type: () -> :constant_read_node
1012
1036
  | ...
1013
1037
  def self.type: () -> :constant_read_node
@@ -1022,9 +1046,9 @@ module Prism
1022
1046
 
1023
1047
  attr_reader name: Symbol
1024
1048
 
1025
- def initialize: (Source source, Symbol name, Location location) -> void
1026
- def copy: (?name: Symbol, ?location: Location) -> ConstantTargetNode
1027
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1049
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1050
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode
1051
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
1028
1052
  def type: () -> :constant_target_node
1029
1053
  | ...
1030
1054
  def self.type: () -> :constant_target_node
@@ -1042,9 +1066,9 @@ module Prism
1042
1066
  attr_reader value: Prism::node
1043
1067
  attr_reader operator_loc: Location
1044
1068
 
1045
- def initialize: (Source source, Symbol name, Location name_loc, Prism::node value, Location operator_loc, Location location) -> void
1046
- def copy: (?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location, ?location: Location) -> ConstantWriteNode
1047
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location, location: Location }
1069
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1070
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ConstantWriteNode
1071
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
1048
1072
  def operator: () -> String
1049
1073
  def type: () -> :constant_write_node
1050
1074
  | ...
@@ -1072,9 +1096,9 @@ module Prism
1072
1096
  attr_reader equal_loc: Location?
1073
1097
  attr_reader end_keyword_loc: Location?
1074
1098
 
1075
- def initialize: (Source source, Symbol name, Location name_loc, Prism::node? receiver, ParametersNode? parameters, Prism::node? body, Array[Symbol] locals, Location def_keyword_loc, Location? operator_loc, Location? lparen_loc, Location? rparen_loc, Location? equal_loc, Location? end_keyword_loc, Location location) -> void
1076
- def copy: (?name: Symbol, ?name_loc: Location, ?receiver: Prism::node?, ?parameters: ParametersNode?, ?body: Prism::node?, ?locals: Array[Symbol], ?def_keyword_loc: Location, ?operator_loc: Location?, ?lparen_loc: Location?, ?rparen_loc: Location?, ?equal_loc: Location?, ?end_keyword_loc: Location?, ?location: Location) -> DefNode
1077
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, receiver: Prism::node?, parameters: ParametersNode?, body: Prism::node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location }
1099
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node? receiver, ParametersNode? parameters, Prism::node? body, Array[Symbol] locals, Location def_keyword_loc, Location? operator_loc, Location? lparen_loc, Location? rparen_loc, Location? equal_loc, Location? end_keyword_loc) -> void
1100
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?receiver: Prism::node?, ?parameters: ParametersNode?, ?body: Prism::node?, ?locals: Array[Symbol], ?def_keyword_loc: Location, ?operator_loc: Location?, ?lparen_loc: Location?, ?rparen_loc: Location?, ?equal_loc: Location?, ?end_keyword_loc: Location?) -> DefNode
1101
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, receiver: Prism::node?, parameters: ParametersNode?, body: Prism::node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location? }
1078
1102
  def def_keyword: () -> String
1079
1103
  def operator: () -> String?
1080
1104
  def lparen: () -> String?
@@ -1098,9 +1122,9 @@ module Prism
1098
1122
  attr_reader rparen_loc: Location?
1099
1123
  attr_reader keyword_loc: Location
1100
1124
 
1101
- def initialize: (Source source, Location? lparen_loc, Prism::node value, Location? rparen_loc, Location keyword_loc, Location location) -> void
1102
- def copy: (?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location, ?location: Location) -> DefinedNode
1103
- def deconstruct_keys: (Array[Symbol] keys) -> { lparen_loc: Location?, value: Prism::node, rparen_loc: Location?, keyword_loc: Location, location: Location }
1125
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? lparen_loc, Prism::node value, Location? rparen_loc, Location keyword_loc) -> void
1126
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location) -> DefinedNode
1127
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lparen_loc: Location?, value: Prism::node, rparen_loc: Location?, keyword_loc: Location }
1104
1128
  def lparen: () -> String?
1105
1129
  def rparen: () -> String?
1106
1130
  def keyword: () -> String
@@ -1120,9 +1144,9 @@ module Prism
1120
1144
  attr_reader statements: StatementsNode?
1121
1145
  attr_reader end_keyword_loc: Location?
1122
1146
 
1123
- def initialize: (Source source, Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc, Location location) -> void
1124
- def copy: (?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?, ?location: Location) -> ElseNode
1125
- def deconstruct_keys: (Array[Symbol] keys) -> { else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location }
1147
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc) -> void
1148
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?) -> ElseNode
1149
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location? }
1126
1150
  def else_keyword: () -> String
1127
1151
  def end_keyword: () -> String?
1128
1152
  def type: () -> :else_node
@@ -1141,9 +1165,9 @@ module Prism
1141
1165
  attr_reader statements: StatementsNode?
1142
1166
  attr_reader closing_loc: Location
1143
1167
 
1144
- def initialize: (Source source, Location opening_loc, StatementsNode? statements, Location closing_loc, Location location) -> void
1145
- def copy: (?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location, ?location: Location) -> EmbeddedStatementsNode
1146
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location }
1168
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, StatementsNode? statements, Location closing_loc) -> void
1169
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location) -> EmbeddedStatementsNode
1170
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, statements: StatementsNode?, closing_loc: Location }
1147
1171
  def opening: () -> String
1148
1172
  def closing: () -> String
1149
1173
  def type: () -> :embedded_statements_node
@@ -1161,9 +1185,9 @@ module Prism
1161
1185
  attr_reader operator_loc: Location
1162
1186
  attr_reader variable: Prism::node
1163
1187
 
1164
- def initialize: (Source source, Location operator_loc, Prism::node variable, Location location) -> void
1165
- def copy: (?operator_loc: Location, ?variable: Prism::node, ?location: Location) -> EmbeddedVariableNode
1166
- def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, variable: Prism::node, location: Location }
1188
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Prism::node variable) -> void
1189
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: Prism::node) -> EmbeddedVariableNode
1190
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, variable: Prism::node }
1167
1191
  def operator: () -> String
1168
1192
  def type: () -> :embedded_variable_node
1169
1193
  | ...
@@ -1185,9 +1209,9 @@ module Prism
1185
1209
  attr_reader statements: StatementsNode?
1186
1210
  attr_reader end_keyword_loc: Location
1187
1211
 
1188
- def initialize: (Source source, Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc, Location location) -> void
1189
- def copy: (?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location, ?location: Location) -> EnsureNode
1190
- def deconstruct_keys: (Array[Symbol] keys) -> { ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location }
1212
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc) -> void
1213
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location) -> EnsureNode
1214
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location }
1191
1215
  def ensure_keyword: () -> String
1192
1216
  def end_keyword: () -> String
1193
1217
  def type: () -> :ensure_node
@@ -1203,9 +1227,9 @@ module Prism
1203
1227
  include _Node
1204
1228
 
1205
1229
 
1206
- def initialize: (Source source, Location location) -> void
1207
- def copy: (?location: Location) -> FalseNode
1208
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1230
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1231
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode
1232
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
1209
1233
  def type: () -> :false_node
1210
1234
  | ...
1211
1235
  def self.type: () -> :false_node
@@ -1231,9 +1255,9 @@ module Prism
1231
1255
  attr_reader opening_loc: Location?
1232
1256
  attr_reader closing_loc: Location?
1233
1257
 
1234
- def initialize: (Source source, Prism::node? constant, Prism::node left, Array[Prism::node] requireds, Prism::node right, Location? opening_loc, Location? closing_loc, Location location) -> void
1235
- def copy: (?constant: Prism::node?, ?left: Prism::node, ?requireds: Array[Prism::node], ?right: Prism::node, ?opening_loc: Location?, ?closing_loc: Location?, ?location: Location) -> FindPatternNode
1236
- def deconstruct_keys: (Array[Symbol] keys) -> { constant: Prism::node?, left: Prism::node, requireds: Array[Prism::node], right: Prism::node, opening_loc: Location?, closing_loc: Location?, location: Location }
1258
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? constant, Prism::node left, Array[Prism::node] requireds, Prism::node right, Location? opening_loc, Location? closing_loc) -> void
1259
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?left: Prism::node, ?requireds: Array[Prism::node], ?right: Prism::node, ?opening_loc: Location?, ?closing_loc: Location?) -> FindPatternNode
1260
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: Prism::node?, left: Prism::node, requireds: Array[Prism::node], right: Prism::node, opening_loc: Location?, closing_loc: Location? }
1237
1261
  def opening: () -> String?
1238
1262
  def closing: () -> String?
1239
1263
  def type: () -> :find_pattern_node
@@ -1248,15 +1272,15 @@ module Prism
1248
1272
  class FlipFlopNode < Node
1249
1273
  include _Node
1250
1274
 
1251
- attr_reader flags: Integer
1275
+ def exclude_end?: () -> bool
1276
+
1252
1277
  attr_reader left: Prism::node?
1253
1278
  attr_reader right: Prism::node?
1254
1279
  attr_reader operator_loc: Location
1255
1280
 
1256
- def initialize: (Source source, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc, Location location) -> void
1257
- def copy: (?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location, ?location: Location) -> FlipFlopNode
1258
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, left: Prism::node?, right: Prism::node?, operator_loc: Location, location: Location }
1259
- def exclude_end?: () -> bool
1281
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
1282
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> FlipFlopNode
1283
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
1260
1284
  def operator: () -> String
1261
1285
  def type: () -> :flip_flop_node
1262
1286
  | ...
@@ -1272,9 +1296,9 @@ module Prism
1272
1296
 
1273
1297
  attr_reader value: Float
1274
1298
 
1275
- def initialize: (Source source, Float value, Location location) -> void
1276
- def copy: (?value: Float, ?location: Location) -> FloatNode
1277
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Float, location: Location }
1299
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Float value) -> void
1300
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode
1301
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Float }
1278
1302
  def type: () -> :float_node
1279
1303
  | ...
1280
1304
  def self.type: () -> :float_node
@@ -1295,9 +1319,9 @@ module Prism
1295
1319
  attr_reader do_keyword_loc: Location?
1296
1320
  attr_reader end_keyword_loc: Location
1297
1321
 
1298
- def initialize: (Source source, Prism::node index, Prism::node collection, StatementsNode? statements, Location for_keyword_loc, Location in_keyword_loc, Location? do_keyword_loc, Location end_keyword_loc, Location location) -> void
1299
- def copy: (?index: Prism::node, ?collection: Prism::node, ?statements: StatementsNode?, ?for_keyword_loc: Location, ?in_keyword_loc: Location, ?do_keyword_loc: Location?, ?end_keyword_loc: Location, ?location: Location) -> ForNode
1300
- def deconstruct_keys: (Array[Symbol] keys) -> { index: Prism::node, collection: Prism::node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location }
1322
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node index, Prism::node collection, StatementsNode? statements, Location for_keyword_loc, Location in_keyword_loc, Location? do_keyword_loc, Location end_keyword_loc) -> void
1323
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?index: Prism::node, ?collection: Prism::node, ?statements: StatementsNode?, ?for_keyword_loc: Location, ?in_keyword_loc: Location, ?do_keyword_loc: Location?, ?end_keyword_loc: Location) -> ForNode
1324
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, index: Prism::node, collection: Prism::node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location }
1301
1325
  def for_keyword: () -> String
1302
1326
  def in_keyword: () -> String
1303
1327
  def do_keyword: () -> String?
@@ -1317,9 +1341,9 @@ module Prism
1317
1341
  include _Node
1318
1342
 
1319
1343
 
1320
- def initialize: (Source source, Location location) -> void
1321
- def copy: (?location: Location) -> ForwardingArgumentsNode
1322
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1344
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1345
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode
1346
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
1323
1347
  def type: () -> :forwarding_arguments_node
1324
1348
  | ...
1325
1349
  def self.type: () -> :forwarding_arguments_node
@@ -1334,9 +1358,9 @@ module Prism
1334
1358
  include _Node
1335
1359
 
1336
1360
 
1337
- def initialize: (Source source, Location location) -> void
1338
- def copy: (?location: Location) -> ForwardingParameterNode
1339
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1361
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1362
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode
1363
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
1340
1364
  def type: () -> :forwarding_parameter_node
1341
1365
  | ...
1342
1366
  def self.type: () -> :forwarding_parameter_node
@@ -1351,9 +1375,9 @@ module Prism
1351
1375
 
1352
1376
  attr_reader block: BlockNode?
1353
1377
 
1354
- def initialize: (Source source, BlockNode? block, Location location) -> void
1355
- def copy: (?block: BlockNode?, ?location: Location) -> ForwardingSuperNode
1356
- def deconstruct_keys: (Array[Symbol] keys) -> { block: BlockNode?, location: Location }
1378
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, BlockNode? block) -> void
1379
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode
1380
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, block: BlockNode? }
1357
1381
  def type: () -> :forwarding_super_node
1358
1382
  | ...
1359
1383
  def self.type: () -> :forwarding_super_node
@@ -1371,9 +1395,9 @@ module Prism
1371
1395
  attr_reader operator_loc: Location
1372
1396
  attr_reader value: Prism::node
1373
1397
 
1374
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
1375
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> GlobalVariableAndWriteNode
1376
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
1398
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1399
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableAndWriteNode
1400
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
1377
1401
  def operator: () -> String
1378
1402
  def type: () -> :global_variable_and_write_node
1379
1403
  | ...
@@ -1393,9 +1417,9 @@ module Prism
1393
1417
  attr_reader value: Prism::node
1394
1418
  attr_reader binary_operator: Symbol
1395
1419
 
1396
- def initialize: (Source source, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
1397
- def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> GlobalVariableOperatorWriteNode
1398
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
1420
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator) -> void
1421
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> GlobalVariableOperatorWriteNode
1422
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol }
1399
1423
  def type: () -> :global_variable_operator_write_node
1400
1424
  | ...
1401
1425
  def self.type: () -> :global_variable_operator_write_node
@@ -1413,9 +1437,9 @@ module Prism
1413
1437
  attr_reader operator_loc: Location
1414
1438
  attr_reader value: Prism::node
1415
1439
 
1416
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
1417
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> GlobalVariableOrWriteNode
1418
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
1440
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1441
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableOrWriteNode
1442
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
1419
1443
  def operator: () -> String
1420
1444
  def type: () -> :global_variable_or_write_node
1421
1445
  | ...
@@ -1431,9 +1455,9 @@ module Prism
1431
1455
 
1432
1456
  attr_reader name: Symbol
1433
1457
 
1434
- def initialize: (Source source, Symbol name, Location location) -> void
1435
- def copy: (?name: Symbol, ?location: Location) -> GlobalVariableReadNode
1436
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1458
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1459
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode
1460
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
1437
1461
  def type: () -> :global_variable_read_node
1438
1462
  | ...
1439
1463
  def self.type: () -> :global_variable_read_node
@@ -1448,9 +1472,9 @@ module Prism
1448
1472
 
1449
1473
  attr_reader name: Symbol
1450
1474
 
1451
- def initialize: (Source source, Symbol name, Location location) -> void
1452
- def copy: (?name: Symbol, ?location: Location) -> GlobalVariableTargetNode
1453
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1475
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1476
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode
1477
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
1454
1478
  def type: () -> :global_variable_target_node
1455
1479
  | ...
1456
1480
  def self.type: () -> :global_variable_target_node
@@ -1468,9 +1492,9 @@ module Prism
1468
1492
  attr_reader value: Prism::node
1469
1493
  attr_reader operator_loc: Location
1470
1494
 
1471
- def initialize: (Source source, Symbol name, Location name_loc, Prism::node value, Location operator_loc, Location location) -> void
1472
- def copy: (?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location, ?location: Location) -> GlobalVariableWriteNode
1473
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location, location: Location }
1495
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1496
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> GlobalVariableWriteNode
1497
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
1474
1498
  def operator: () -> String
1475
1499
  def type: () -> :global_variable_write_node
1476
1500
  | ...
@@ -1488,9 +1512,9 @@ module Prism
1488
1512
  attr_reader elements: Array[AssocNode | AssocSplatNode]
1489
1513
  attr_reader closing_loc: Location
1490
1514
 
1491
- def initialize: (Source source, Location opening_loc, Array[AssocNode | AssocSplatNode] elements, Location closing_loc, Location location) -> void
1492
- def copy: (?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location, ?location: Location) -> HashNode
1493
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location, location: Location }
1515
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[AssocNode | AssocSplatNode] elements, Location closing_loc) -> void
1516
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location) -> HashNode
1517
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location }
1494
1518
  def opening: () -> String
1495
1519
  def closing: () -> String
1496
1520
  def type: () -> :hash_node
@@ -1514,9 +1538,9 @@ module Prism
1514
1538
  attr_reader opening_loc: Location?
1515
1539
  attr_reader closing_loc: Location?
1516
1540
 
1517
- def initialize: (Source source, Prism::node? constant, Array[AssocNode] elements, AssocSplatNode | NoKeywordsParameterNode | nil rest, Location? opening_loc, Location? closing_loc, Location location) -> void
1518
- def copy: (?constant: Prism::node?, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?, ?location: Location) -> HashPatternNode
1519
- def deconstruct_keys: (Array[Symbol] keys) -> { constant: Prism::node?, elements: Array[AssocNode], rest: AssocSplatNode | NoKeywordsParameterNode | nil, opening_loc: Location?, closing_loc: Location?, location: Location }
1541
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? constant, Array[AssocNode] elements, AssocSplatNode | NoKeywordsParameterNode | nil rest, Location? opening_loc, Location? closing_loc) -> void
1542
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?) -> HashPatternNode
1543
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: Prism::node?, elements: Array[AssocNode], rest: AssocSplatNode | NoKeywordsParameterNode | nil, opening_loc: Location?, closing_loc: Location? }
1520
1544
  def opening: () -> String?
1521
1545
  def closing: () -> String?
1522
1546
  def type: () -> :hash_pattern_node
@@ -1541,12 +1565,12 @@ module Prism
1541
1565
  attr_reader predicate: Prism::node
1542
1566
  attr_reader then_keyword_loc: Location?
1543
1567
  attr_reader statements: StatementsNode?
1544
- attr_reader consequent: Prism::node?
1568
+ attr_reader subsequent: ElseNode | IfNode | nil
1545
1569
  attr_reader end_keyword_loc: Location?
1546
1570
 
1547
- def initialize: (Source source, Location? if_keyword_loc, Prism::node predicate, Location? then_keyword_loc, StatementsNode? statements, Prism::node? consequent, Location? end_keyword_loc, Location location) -> void
1548
- def copy: (?if_keyword_loc: Location?, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?consequent: Prism::node?, ?end_keyword_loc: Location?, ?location: Location) -> IfNode
1549
- def deconstruct_keys: (Array[Symbol] keys) -> { if_keyword_loc: Location?, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: Prism::node?, end_keyword_loc: Location?, location: Location }
1571
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? if_keyword_loc, Prism::node predicate, Location? then_keyword_loc, StatementsNode? statements, ElseNode | IfNode | nil subsequent, Location? end_keyword_loc) -> void
1572
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?if_keyword_loc: Location?, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?subsequent: ElseNode | IfNode | nil, ?end_keyword_loc: Location?) -> IfNode
1573
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, if_keyword_loc: Location?, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, subsequent: ElseNode | IfNode | nil, end_keyword_loc: Location? }
1550
1574
  def if_keyword: () -> String?
1551
1575
  def then_keyword: () -> String?
1552
1576
  def end_keyword: () -> String?
@@ -1564,9 +1588,9 @@ module Prism
1564
1588
 
1565
1589
  attr_reader numeric: FloatNode | IntegerNode | RationalNode
1566
1590
 
1567
- def initialize: (Source source, FloatNode | IntegerNode | RationalNode numeric, Location location) -> void
1568
- def copy: (?numeric: FloatNode | IntegerNode | RationalNode, ?location: Location) -> ImaginaryNode
1569
- def deconstruct_keys: (Array[Symbol] keys) -> { numeric: FloatNode | IntegerNode | RationalNode, location: Location }
1591
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, FloatNode | IntegerNode | RationalNode numeric) -> void
1592
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numeric: FloatNode | IntegerNode | RationalNode) -> ImaginaryNode
1593
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numeric: FloatNode | IntegerNode | RationalNode }
1570
1594
  def type: () -> :imaginary_node
1571
1595
  | ...
1572
1596
  def self.type: () -> :imaginary_node
@@ -1587,9 +1611,9 @@ module Prism
1587
1611
 
1588
1612
  attr_reader value: Prism::node
1589
1613
 
1590
- def initialize: (Source source, Prism::node value, Location location) -> void
1591
- def copy: (?value: Prism::node, ?location: Location) -> ImplicitNode
1592
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Prism::node, location: Location }
1614
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value) -> void
1615
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node) -> ImplicitNode
1616
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node }
1593
1617
  def type: () -> :implicit_node
1594
1618
  | ...
1595
1619
  def self.type: () -> :implicit_node
@@ -1612,9 +1636,9 @@ module Prism
1612
1636
  include _Node
1613
1637
 
1614
1638
 
1615
- def initialize: (Source source, Location location) -> void
1616
- def copy: (?location: Location) -> ImplicitRestNode
1617
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1639
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1640
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode
1641
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
1618
1642
  def type: () -> :implicit_rest_node
1619
1643
  | ...
1620
1644
  def self.type: () -> :implicit_rest_node
@@ -1632,9 +1656,9 @@ module Prism
1632
1656
  attr_reader in_loc: Location
1633
1657
  attr_reader then_loc: Location?
1634
1658
 
1635
- def initialize: (Source source, Prism::node pattern, StatementsNode? statements, Location in_loc, Location? then_loc, Location location) -> void
1636
- def copy: (?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?, ?location: Location) -> InNode
1637
- def deconstruct_keys: (Array[Symbol] keys) -> { pattern: Prism::node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location }
1659
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node pattern, StatementsNode? statements, Location in_loc, Location? then_loc) -> void
1660
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?) -> InNode
1661
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, pattern: Prism::node, statements: StatementsNode?, in_loc: Location, then_loc: Location? }
1638
1662
  def in: () -> String
1639
1663
  def then: () -> String?
1640
1664
  def type: () -> :in_node
@@ -1649,7 +1673,14 @@ module Prism
1649
1673
  class IndexAndWriteNode < Node
1650
1674
  include _Node
1651
1675
 
1652
- attr_reader flags: Integer
1676
+ def safe_navigation?: () -> bool
1677
+
1678
+ def variable_call?: () -> bool
1679
+
1680
+ def attribute_write?: () -> bool
1681
+
1682
+ def ignore_visibility?: () -> bool
1683
+
1653
1684
  attr_reader receiver: Prism::node?
1654
1685
  attr_reader call_operator_loc: Location?
1655
1686
  attr_reader opening_loc: Location
@@ -1659,13 +1690,9 @@ module Prism
1659
1690
  attr_reader operator_loc: Location
1660
1691
  attr_reader value: Prism::node
1661
1692
 
1662
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location operator_loc, Prism::node value, Location location) -> void
1663
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> IndexAndWriteNode
1664
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, operator_loc: Location, value: Prism::node, location: Location }
1665
- def safe_navigation?: () -> bool
1666
- def variable_call?: () -> bool
1667
- def attribute_write?: () -> bool
1668
- def ignore_visibility?: () -> bool
1693
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location operator_loc, Prism::node value) -> void
1694
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node) -> IndexAndWriteNode
1695
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, operator_loc: Location, value: Prism::node }
1669
1696
  def call_operator: () -> String?
1670
1697
  def opening: () -> String
1671
1698
  def closing: () -> String
@@ -1682,7 +1709,14 @@ module Prism
1682
1709
  class IndexOperatorWriteNode < Node
1683
1710
  include _Node
1684
1711
 
1685
- attr_reader flags: Integer
1712
+ def safe_navigation?: () -> bool
1713
+
1714
+ def variable_call?: () -> bool
1715
+
1716
+ def attribute_write?: () -> bool
1717
+
1718
+ def ignore_visibility?: () -> bool
1719
+
1686
1720
  attr_reader receiver: Prism::node?
1687
1721
  attr_reader call_operator_loc: Location?
1688
1722
  attr_reader opening_loc: Location
@@ -1693,13 +1727,9 @@ module Prism
1693
1727
  attr_reader binary_operator_loc: Location
1694
1728
  attr_reader value: Prism::node
1695
1729
 
1696
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Symbol binary_operator, Location binary_operator_loc, Prism::node value, Location location) -> void
1697
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node, ?location: Location) -> IndexOperatorWriteNode
1698
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node, location: Location }
1699
- def safe_navigation?: () -> bool
1700
- def variable_call?: () -> bool
1701
- def attribute_write?: () -> bool
1702
- def ignore_visibility?: () -> bool
1730
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Symbol binary_operator, Location binary_operator_loc, Prism::node value) -> void
1731
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node) -> IndexOperatorWriteNode
1732
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node }
1703
1733
  def call_operator: () -> String?
1704
1734
  def opening: () -> String
1705
1735
  def closing: () -> String
@@ -1715,7 +1745,14 @@ module Prism
1715
1745
  class IndexOrWriteNode < Node
1716
1746
  include _Node
1717
1747
 
1718
- attr_reader flags: Integer
1748
+ def safe_navigation?: () -> bool
1749
+
1750
+ def variable_call?: () -> bool
1751
+
1752
+ def attribute_write?: () -> bool
1753
+
1754
+ def ignore_visibility?: () -> bool
1755
+
1719
1756
  attr_reader receiver: Prism::node?
1720
1757
  attr_reader call_operator_loc: Location?
1721
1758
  attr_reader opening_loc: Location
@@ -1725,13 +1762,9 @@ module Prism
1725
1762
  attr_reader operator_loc: Location
1726
1763
  attr_reader value: Prism::node
1727
1764
 
1728
- def initialize: (Source source, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location operator_loc, Prism::node value, Location location) -> void
1729
- def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> IndexOrWriteNode
1730
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, operator_loc: Location, value: Prism::node, location: Location }
1731
- def safe_navigation?: () -> bool
1732
- def variable_call?: () -> bool
1733
- def attribute_write?: () -> bool
1734
- def ignore_visibility?: () -> bool
1765
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location operator_loc, Prism::node value) -> void
1766
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node) -> IndexOrWriteNode
1767
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, operator_loc: Location, value: Prism::node }
1735
1768
  def call_operator: () -> String?
1736
1769
  def opening: () -> String
1737
1770
  def closing: () -> String
@@ -1756,20 +1789,23 @@ module Prism
1756
1789
  class IndexTargetNode < Node
1757
1790
  include _Node
1758
1791
 
1759
- attr_reader flags: Integer
1792
+ def safe_navigation?: () -> bool
1793
+
1794
+ def variable_call?: () -> bool
1795
+
1796
+ def attribute_write?: () -> bool
1797
+
1798
+ def ignore_visibility?: () -> bool
1799
+
1760
1800
  attr_reader receiver: Prism::node
1761
1801
  attr_reader opening_loc: Location
1762
1802
  attr_reader arguments: ArgumentsNode?
1763
1803
  attr_reader closing_loc: Location
1764
1804
  attr_reader block: Prism::node?
1765
1805
 
1766
- def initialize: (Source source, Integer flags, Prism::node receiver, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location location) -> void
1767
- def copy: (?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?location: Location) -> IndexTargetNode
1768
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, location: Location }
1769
- def safe_navigation?: () -> bool
1770
- def variable_call?: () -> bool
1771
- def attribute_write?: () -> bool
1772
- def ignore_visibility?: () -> bool
1806
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node receiver, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block) -> void
1807
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?) -> IndexTargetNode
1808
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node? }
1773
1809
  def opening: () -> String
1774
1810
  def closing: () -> String
1775
1811
  def type: () -> :index_target_node
@@ -1789,9 +1825,9 @@ module Prism
1789
1825
  attr_reader operator_loc: Location
1790
1826
  attr_reader value: Prism::node
1791
1827
 
1792
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
1793
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> InstanceVariableAndWriteNode
1794
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
1828
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1829
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableAndWriteNode
1830
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
1795
1831
  def operator: () -> String
1796
1832
  def type: () -> :instance_variable_and_write_node
1797
1833
  | ...
@@ -1811,9 +1847,9 @@ module Prism
1811
1847
  attr_reader value: Prism::node
1812
1848
  attr_reader binary_operator: Symbol
1813
1849
 
1814
- def initialize: (Source source, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
1815
- def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> InstanceVariableOperatorWriteNode
1816
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
1850
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator) -> void
1851
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> InstanceVariableOperatorWriteNode
1852
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol }
1817
1853
  def type: () -> :instance_variable_operator_write_node
1818
1854
  | ...
1819
1855
  def self.type: () -> :instance_variable_operator_write_node
@@ -1831,9 +1867,9 @@ module Prism
1831
1867
  attr_reader operator_loc: Location
1832
1868
  attr_reader value: Prism::node
1833
1869
 
1834
- def initialize: (Source source, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
1835
- def copy: (?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> InstanceVariableOrWriteNode
1836
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
1870
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1871
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableOrWriteNode
1872
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
1837
1873
  def operator: () -> String
1838
1874
  def type: () -> :instance_variable_or_write_node
1839
1875
  | ...
@@ -1849,9 +1885,9 @@ module Prism
1849
1885
 
1850
1886
  attr_reader name: Symbol
1851
1887
 
1852
- def initialize: (Source source, Symbol name, Location location) -> void
1853
- def copy: (?name: Symbol, ?location: Location) -> InstanceVariableReadNode
1854
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1888
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1889
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode
1890
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
1855
1891
  def type: () -> :instance_variable_read_node
1856
1892
  | ...
1857
1893
  def self.type: () -> :instance_variable_read_node
@@ -1866,9 +1902,9 @@ module Prism
1866
1902
 
1867
1903
  attr_reader name: Symbol
1868
1904
 
1869
- def initialize: (Source source, Symbol name, Location location) -> void
1870
- def copy: (?name: Symbol, ?location: Location) -> InstanceVariableTargetNode
1871
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1905
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1906
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode
1907
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
1872
1908
  def type: () -> :instance_variable_target_node
1873
1909
  | ...
1874
1910
  def self.type: () -> :instance_variable_target_node
@@ -1886,9 +1922,9 @@ module Prism
1886
1922
  attr_reader value: Prism::node
1887
1923
  attr_reader operator_loc: Location
1888
1924
 
1889
- def initialize: (Source source, Symbol name, Location name_loc, Prism::node value, Location operator_loc, Location location) -> void
1890
- def copy: (?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location, ?location: Location) -> InstanceVariableWriteNode
1891
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location, location: Location }
1925
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1926
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> InstanceVariableWriteNode
1927
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
1892
1928
  def operator: () -> String
1893
1929
  def type: () -> :instance_variable_write_node
1894
1930
  | ...
@@ -1902,16 +1938,19 @@ module Prism
1902
1938
  class IntegerNode < Node
1903
1939
  include _Node
1904
1940
 
1905
- attr_reader flags: Integer
1906
- attr_reader value: Integer
1907
-
1908
- def initialize: (Source source, Integer flags, Integer value, Location location) -> void
1909
- def copy: (?flags: Integer, ?value: Integer, ?location: Location) -> IntegerNode
1910
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, value: Integer, location: Location }
1911
1941
  def binary?: () -> bool
1942
+
1912
1943
  def decimal?: () -> bool
1944
+
1913
1945
  def octal?: () -> bool
1946
+
1914
1947
  def hexadecimal?: () -> bool
1948
+
1949
+ attr_reader value: Integer
1950
+
1951
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer value) -> void
1952
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Integer) -> IntegerNode
1953
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Integer }
1915
1954
  def type: () -> :integer_node
1916
1955
  | ...
1917
1956
  def self.type: () -> :integer_node
@@ -1924,25 +1963,35 @@ module Prism
1924
1963
  class InterpolatedMatchLastLineNode < Node
1925
1964
  include _Node
1926
1965
 
1927
- attr_reader flags: Integer
1928
- attr_reader opening_loc: Location
1929
- attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1930
- attr_reader closing_loc: Location
1931
-
1932
- def initialize: (Source source, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc, Location location) -> void
1933
- def copy: (?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location, ?location: Location) -> InterpolatedMatchLastLineNode
1934
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location, location: Location }
1935
1966
  def ignore_case?: () -> bool
1967
+
1936
1968
  def extended?: () -> bool
1969
+
1937
1970
  def multi_line?: () -> bool
1971
+
1938
1972
  def once?: () -> bool
1973
+
1939
1974
  def euc_jp?: () -> bool
1975
+
1940
1976
  def ascii_8bit?: () -> bool
1977
+
1941
1978
  def windows_31j?: () -> bool
1979
+
1942
1980
  def utf_8?: () -> bool
1981
+
1943
1982
  def forced_utf8_encoding?: () -> bool
1983
+
1944
1984
  def forced_binary_encoding?: () -> bool
1985
+
1945
1986
  def forced_us_ascii_encoding?: () -> bool
1987
+
1988
+ attr_reader opening_loc: Location
1989
+ attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1990
+ attr_reader closing_loc: Location
1991
+
1992
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1993
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedMatchLastLineNode
1994
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
1946
1995
  def opening: () -> String
1947
1996
  def closing: () -> String
1948
1997
  def type: () -> :interpolated_match_last_line_node
@@ -1957,25 +2006,35 @@ module Prism
1957
2006
  class InterpolatedRegularExpressionNode < Node
1958
2007
  include _Node
1959
2008
 
1960
- attr_reader flags: Integer
1961
- attr_reader opening_loc: Location
1962
- attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1963
- attr_reader closing_loc: Location
1964
-
1965
- def initialize: (Source source, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc, Location location) -> void
1966
- def copy: (?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location, ?location: Location) -> InterpolatedRegularExpressionNode
1967
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location, location: Location }
1968
2009
  def ignore_case?: () -> bool
2010
+
1969
2011
  def extended?: () -> bool
2012
+
1970
2013
  def multi_line?: () -> bool
2014
+
1971
2015
  def once?: () -> bool
2016
+
1972
2017
  def euc_jp?: () -> bool
2018
+
1973
2019
  def ascii_8bit?: () -> bool
2020
+
1974
2021
  def windows_31j?: () -> bool
2022
+
1975
2023
  def utf_8?: () -> bool
2024
+
1976
2025
  def forced_utf8_encoding?: () -> bool
2026
+
1977
2027
  def forced_binary_encoding?: () -> bool
2028
+
1978
2029
  def forced_us_ascii_encoding?: () -> bool
2030
+
2031
+ attr_reader opening_loc: Location
2032
+ attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2033
+ attr_reader closing_loc: Location
2034
+
2035
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
2036
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedRegularExpressionNode
2037
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
1979
2038
  def opening: () -> String
1980
2039
  def closing: () -> String
1981
2040
  def type: () -> :interpolated_regular_expression_node
@@ -1990,16 +2049,17 @@ module Prism
1990
2049
  class InterpolatedStringNode < Node
1991
2050
  include _Node
1992
2051
 
1993
- attr_reader flags: Integer
2052
+ def frozen?: () -> bool
2053
+
2054
+ def mutable?: () -> bool
2055
+
1994
2056
  attr_reader opening_loc: Location?
1995
2057
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode]
1996
2058
  attr_reader closing_loc: Location?
1997
2059
 
1998
- def initialize: (Source source, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode] parts, Location? closing_loc, Location location) -> void
1999
- def copy: (?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], ?closing_loc: Location?, ?location: Location) -> InterpolatedStringNode
2000
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], closing_loc: Location?, location: Location }
2001
- def frozen?: () -> bool
2002
- def mutable?: () -> bool
2060
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode] parts, Location? closing_loc) -> void
2061
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], ?closing_loc: Location?) -> InterpolatedStringNode
2062
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], closing_loc: Location? }
2003
2063
  def opening: () -> String?
2004
2064
  def closing: () -> String?
2005
2065
  def type: () -> :interpolated_string_node
@@ -2018,9 +2078,9 @@ module Prism
2018
2078
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2019
2079
  attr_reader closing_loc: Location?
2020
2080
 
2021
- def initialize: (Source source, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location? closing_loc, Location location) -> void
2022
- def copy: (?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?, ?location: Location) -> InterpolatedSymbolNode
2023
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location?, location: Location }
2081
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location? closing_loc) -> void
2082
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?) -> InterpolatedSymbolNode
2083
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location? }
2024
2084
  def opening: () -> String?
2025
2085
  def closing: () -> String?
2026
2086
  def type: () -> :interpolated_symbol_node
@@ -2039,9 +2099,9 @@ module Prism
2039
2099
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2040
2100
  attr_reader closing_loc: Location
2041
2101
 
2042
- def initialize: (Source source, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc, Location location) -> void
2043
- def copy: (?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location, ?location: Location) -> InterpolatedXStringNode
2044
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location, location: Location }
2102
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
2103
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedXStringNode
2104
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
2045
2105
  def opening: () -> String
2046
2106
  def closing: () -> String
2047
2107
  def type: () -> :interpolated_x_string_node
@@ -2057,9 +2117,9 @@ module Prism
2057
2117
  include _Node
2058
2118
 
2059
2119
 
2060
- def initialize: (Source source, Location location) -> void
2061
- def copy: (?location: Location) -> ItLocalVariableReadNode
2062
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2120
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2121
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode
2122
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
2063
2123
  def type: () -> :it_local_variable_read_node
2064
2124
  | ...
2065
2125
  def self.type: () -> :it_local_variable_read_node
@@ -2073,9 +2133,9 @@ module Prism
2073
2133
  include _Node
2074
2134
 
2075
2135
 
2076
- def initialize: (Source source, Location location) -> void
2077
- def copy: (?location: Location) -> ItParametersNode
2078
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2136
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2137
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode
2138
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
2079
2139
  def type: () -> :it_parameters_node
2080
2140
  | ...
2081
2141
  def self.type: () -> :it_parameters_node
@@ -2088,13 +2148,13 @@ module Prism
2088
2148
  class KeywordHashNode < Node
2089
2149
  include _Node
2090
2150
 
2091
- attr_reader flags: Integer
2151
+ def symbol_keys?: () -> bool
2152
+
2092
2153
  attr_reader elements: Array[AssocNode | AssocSplatNode]
2093
2154
 
2094
- def initialize: (Source source, Integer flags, Array[AssocNode | AssocSplatNode] elements, Location location) -> void
2095
- def copy: (?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode], ?location: Location) -> KeywordHashNode
2096
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, elements: Array[AssocNode | AssocSplatNode], location: Location }
2097
- def symbol_keys?: () -> bool
2155
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[AssocNode | AssocSplatNode] elements) -> void
2156
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode]) -> KeywordHashNode
2157
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[AssocNode | AssocSplatNode] }
2098
2158
  def type: () -> :keyword_hash_node
2099
2159
  | ...
2100
2160
  def self.type: () -> :keyword_hash_node
@@ -2108,15 +2168,15 @@ module Prism
2108
2168
  class KeywordRestParameterNode < Node
2109
2169
  include _Node
2110
2170
 
2111
- attr_reader flags: Integer
2171
+ def repeated_parameter?: () -> bool
2172
+
2112
2173
  attr_reader name: Symbol?
2113
2174
  attr_reader name_loc: Location?
2114
2175
  attr_reader operator_loc: Location
2115
2176
 
2116
- def initialize: (Source source, Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
2117
- def copy: (?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location, ?location: Location) -> KeywordRestParameterNode
2118
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
2119
- def repeated_parameter?: () -> bool
2177
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2178
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> KeywordRestParameterNode
2179
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
2120
2180
  def operator: () -> String
2121
2181
  def type: () -> :keyword_rest_parameter_node
2122
2182
  | ...
@@ -2137,9 +2197,9 @@ module Prism
2137
2197
  attr_reader parameters: Prism::node?
2138
2198
  attr_reader body: Prism::node?
2139
2199
 
2140
- def initialize: (Source source, Array[Symbol] locals, Location operator_loc, Location opening_loc, Location closing_loc, Prism::node? parameters, Prism::node? body, Location location) -> void
2141
- def copy: (?locals: Array[Symbol], ?operator_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?parameters: Prism::node?, ?body: Prism::node?, ?location: Location) -> LambdaNode
2142
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Prism::node?, body: Prism::node?, location: Location }
2200
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location operator_loc, Location opening_loc, Location closing_loc, Prism::node? parameters, Prism::node? body) -> void
2201
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?operator_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?parameters: Prism::node?, ?body: Prism::node?) -> LambdaNode
2202
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Prism::node?, body: Prism::node? }
2143
2203
  def operator: () -> String
2144
2204
  def opening: () -> String
2145
2205
  def closing: () -> String
@@ -2161,9 +2221,9 @@ module Prism
2161
2221
  attr_reader name: Symbol
2162
2222
  attr_reader depth: Integer
2163
2223
 
2164
- def initialize: (Source source, Location name_loc, Location operator_loc, Prism::node value, Symbol name, Integer depth, Location location) -> void
2165
- def copy: (?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer, ?location: Location) -> LocalVariableAndWriteNode
2166
- def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer, location: Location }
2224
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location name_loc, Location operator_loc, Prism::node value, Symbol name, Integer depth) -> void
2225
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableAndWriteNode
2226
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer }
2167
2227
  def operator: () -> String
2168
2228
  def type: () -> :local_variable_and_write_node
2169
2229
  | ...
@@ -2184,9 +2244,9 @@ module Prism
2184
2244
  attr_reader binary_operator: Symbol
2185
2245
  attr_reader depth: Integer
2186
2246
 
2187
- def initialize: (Source source, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol name, Symbol binary_operator, Integer depth, Location location) -> void
2188
- def copy: (?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?binary_operator: Symbol, ?depth: Integer, ?location: Location) -> LocalVariableOperatorWriteNode
2189
- def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, binary_operator_loc: Location, value: Prism::node, name: Symbol, binary_operator: Symbol, depth: Integer, location: Location }
2247
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol name, Symbol binary_operator, Integer depth) -> void
2248
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?binary_operator: Symbol, ?depth: Integer) -> LocalVariableOperatorWriteNode
2249
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, binary_operator_loc: Location, value: Prism::node, name: Symbol, binary_operator: Symbol, depth: Integer }
2190
2250
  def type: () -> :local_variable_operator_write_node
2191
2251
  | ...
2192
2252
  def self.type: () -> :local_variable_operator_write_node
@@ -2205,9 +2265,9 @@ module Prism
2205
2265
  attr_reader name: Symbol
2206
2266
  attr_reader depth: Integer
2207
2267
 
2208
- def initialize: (Source source, Location name_loc, Location operator_loc, Prism::node value, Symbol name, Integer depth, Location location) -> void
2209
- def copy: (?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer, ?location: Location) -> LocalVariableOrWriteNode
2210
- def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer, location: Location }
2268
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location name_loc, Location operator_loc, Prism::node value, Symbol name, Integer depth) -> void
2269
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableOrWriteNode
2270
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer }
2211
2271
  def operator: () -> String
2212
2272
  def type: () -> :local_variable_or_write_node
2213
2273
  | ...
@@ -2224,9 +2284,9 @@ module Prism
2224
2284
  attr_reader name: Symbol
2225
2285
  attr_reader depth: Integer
2226
2286
 
2227
- def initialize: (Source source, Symbol name, Integer depth, Location location) -> void
2228
- def copy: (?name: Symbol, ?depth: Integer, ?location: Location) -> LocalVariableReadNode
2229
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, location: Location }
2287
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2288
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableReadNode
2289
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
2230
2290
  def type: () -> :local_variable_read_node
2231
2291
  | ...
2232
2292
  def self.type: () -> :local_variable_read_node
@@ -2242,9 +2302,9 @@ module Prism
2242
2302
  attr_reader name: Symbol
2243
2303
  attr_reader depth: Integer
2244
2304
 
2245
- def initialize: (Source source, Symbol name, Integer depth, Location location) -> void
2246
- def copy: (?name: Symbol, ?depth: Integer, ?location: Location) -> LocalVariableTargetNode
2247
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, location: Location }
2305
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2306
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableTargetNode
2307
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
2248
2308
  def type: () -> :local_variable_target_node
2249
2309
  | ...
2250
2310
  def self.type: () -> :local_variable_target_node
@@ -2263,9 +2323,9 @@ module Prism
2263
2323
  attr_reader value: Prism::node
2264
2324
  attr_reader operator_loc: Location
2265
2325
 
2266
- def initialize: (Source source, Symbol name, Integer depth, Location name_loc, Prism::node value, Location operator_loc, Location location) -> void
2267
- def copy: (?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location, ?location: Location) -> LocalVariableWriteNode
2268
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, name_loc: Location, value: Prism::node, operator_loc: Location, location: Location }
2326
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth, Location name_loc, Prism::node value, Location operator_loc) -> void
2327
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> LocalVariableWriteNode
2328
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer, name_loc: Location, value: Prism::node, operator_loc: Location }
2269
2329
  def operator: () -> String
2270
2330
  def type: () -> :local_variable_write_node
2271
2331
  | ...
@@ -2279,26 +2339,36 @@ module Prism
2279
2339
  class MatchLastLineNode < Node
2280
2340
  include _Node
2281
2341
 
2282
- attr_reader flags: Integer
2283
- attr_reader opening_loc: Location
2284
- attr_reader content_loc: Location
2285
- attr_reader closing_loc: Location
2286
- attr_reader unescaped: String
2287
-
2288
- def initialize: (Source source, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
2289
- def copy: (?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String, ?location: Location) -> MatchLastLineNode
2290
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
2291
2342
  def ignore_case?: () -> bool
2343
+
2292
2344
  def extended?: () -> bool
2345
+
2293
2346
  def multi_line?: () -> bool
2347
+
2294
2348
  def once?: () -> bool
2349
+
2295
2350
  def euc_jp?: () -> bool
2351
+
2296
2352
  def ascii_8bit?: () -> bool
2353
+
2297
2354
  def windows_31j?: () -> bool
2355
+
2298
2356
  def utf_8?: () -> bool
2357
+
2299
2358
  def forced_utf8_encoding?: () -> bool
2359
+
2300
2360
  def forced_binary_encoding?: () -> bool
2361
+
2301
2362
  def forced_us_ascii_encoding?: () -> bool
2363
+
2364
+ attr_reader opening_loc: Location
2365
+ attr_reader content_loc: Location
2366
+ attr_reader closing_loc: Location
2367
+ attr_reader unescaped: String
2368
+
2369
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2370
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> MatchLastLineNode
2371
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
2302
2372
  def opening: () -> String
2303
2373
  def content: () -> String
2304
2374
  def closing: () -> String
@@ -2318,9 +2388,9 @@ module Prism
2318
2388
  attr_reader pattern: Prism::node
2319
2389
  attr_reader operator_loc: Location
2320
2390
 
2321
- def initialize: (Source source, Prism::node value, Prism::node pattern, Location operator_loc, Location location) -> void
2322
- def copy: (?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location, ?location: Location) -> MatchPredicateNode
2323
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Prism::node, pattern: Prism::node, operator_loc: Location, location: Location }
2391
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2392
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchPredicateNode
2393
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
2324
2394
  def operator: () -> String
2325
2395
  def type: () -> :match_predicate_node
2326
2396
  | ...
@@ -2338,9 +2408,9 @@ module Prism
2338
2408
  attr_reader pattern: Prism::node
2339
2409
  attr_reader operator_loc: Location
2340
2410
 
2341
- def initialize: (Source source, Prism::node value, Prism::node pattern, Location operator_loc, Location location) -> void
2342
- def copy: (?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location, ?location: Location) -> MatchRequiredNode
2343
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Prism::node, pattern: Prism::node, operator_loc: Location, location: Location }
2411
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2412
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchRequiredNode
2413
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
2344
2414
  def operator: () -> String
2345
2415
  def type: () -> :match_required_node
2346
2416
  | ...
@@ -2357,9 +2427,9 @@ module Prism
2357
2427
  attr_reader call: CallNode
2358
2428
  attr_reader targets: Array[LocalVariableTargetNode]
2359
2429
 
2360
- def initialize: (Source source, CallNode call, Array[LocalVariableTargetNode] targets, Location location) -> void
2361
- def copy: (?call: CallNode, ?targets: Array[LocalVariableTargetNode], ?location: Location) -> MatchWriteNode
2362
- def deconstruct_keys: (Array[Symbol] keys) -> { call: CallNode, targets: Array[LocalVariableTargetNode], location: Location }
2430
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, CallNode call, Array[LocalVariableTargetNode] targets) -> void
2431
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) -> MatchWriteNode
2432
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, call: CallNode, targets: Array[LocalVariableTargetNode] }
2363
2433
  def type: () -> :match_write_node
2364
2434
  | ...
2365
2435
  def self.type: () -> :match_write_node
@@ -2370,9 +2440,9 @@ module Prism
2370
2440
  include _Node
2371
2441
 
2372
2442
 
2373
- def initialize: (Source source, Location location) -> void
2374
- def copy: (?location: Location) -> MissingNode
2375
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2443
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2444
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode
2445
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
2376
2446
  def type: () -> :missing_node
2377
2447
  | ...
2378
2448
  def self.type: () -> :missing_node
@@ -2392,9 +2462,9 @@ module Prism
2392
2462
  attr_reader end_keyword_loc: Location
2393
2463
  attr_reader name: Symbol
2394
2464
 
2395
- def initialize: (Source source, Array[Symbol] locals, Location module_keyword_loc, Prism::node constant_path, Prism::node? body, Location end_keyword_loc, Symbol name, Location location) -> void
2396
- def copy: (?locals: Array[Symbol], ?module_keyword_loc: Location, ?constant_path: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol, ?location: Location) -> ModuleNode
2397
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], module_keyword_loc: Location, constant_path: Prism::node, body: Prism::node?, end_keyword_loc: Location, name: Symbol, location: Location }
2465
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location module_keyword_loc, Prism::node constant_path, Prism::node? body, Location end_keyword_loc, Symbol name) -> void
2466
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?module_keyword_loc: Location, ?constant_path: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol) -> ModuleNode
2467
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], module_keyword_loc: Location, constant_path: Prism::node, body: Prism::node?, end_keyword_loc: Location, name: Symbol }
2398
2468
  def module_keyword: () -> String
2399
2469
  def end_keyword: () -> String
2400
2470
  def type: () -> :module_node
@@ -2406,18 +2476,23 @@ module Prism
2406
2476
  #
2407
2477
  # a, (b, c) = 1, 2, 3
2408
2478
  # ^^^^^^
2479
+ #
2480
+ # This can be a part of `MultiWriteNode` as above, or the target of a `for` loop
2481
+ #
2482
+ # for a, b in [[1, 2], [3, 4]]
2483
+ # ^^^^
2409
2484
  class MultiTargetNode < Node
2410
2485
  include _Node
2411
2486
 
2412
2487
  attr_reader lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode]
2413
- attr_reader rest: Prism::node?
2488
+ attr_reader rest: ImplicitRestNode | SplatNode | nil
2414
2489
  attr_reader rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode]
2415
2490
  attr_reader lparen_loc: Location?
2416
2491
  attr_reader rparen_loc: Location?
2417
2492
 
2418
- def initialize: (Source source, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode] lefts, Prism::node? rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode] rights, Location? lparen_loc, Location? rparen_loc, Location location) -> void
2419
- def copy: (?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], ?rest: Prism::node?, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?location: Location) -> MultiTargetNode
2420
- def deconstruct_keys: (Array[Symbol] keys) -> { lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], rest: Prism::node?, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], lparen_loc: Location?, rparen_loc: Location?, location: Location }
2493
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode] lefts, ImplicitRestNode | SplatNode | nil rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode] rights, Location? lparen_loc, Location? rparen_loc) -> void
2494
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?) -> MultiTargetNode
2495
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], rest: ImplicitRestNode | SplatNode | nil, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], lparen_loc: Location?, rparen_loc: Location? }
2421
2496
  def lparen: () -> String?
2422
2497
  def rparen: () -> String?
2423
2498
  def type: () -> :multi_target_node
@@ -2433,16 +2508,16 @@ module Prism
2433
2508
  include _Node
2434
2509
 
2435
2510
  attr_reader lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
2436
- attr_reader rest: Prism::node?
2511
+ attr_reader rest: ImplicitRestNode | SplatNode | nil
2437
2512
  attr_reader rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
2438
2513
  attr_reader lparen_loc: Location?
2439
2514
  attr_reader rparen_loc: Location?
2440
2515
  attr_reader operator_loc: Location
2441
2516
  attr_reader value: Prism::node
2442
2517
 
2443
- def initialize: (Source source, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode] lefts, Prism::node? rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode] rights, Location? lparen_loc, Location? rparen_loc, Location operator_loc, Prism::node value, Location location) -> void
2444
- def copy: (?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?rest: Prism::node?, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> MultiWriteNode
2445
- def deconstruct_keys: (Array[Symbol] keys) -> { lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], rest: Prism::node?, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Prism::node, location: Location }
2518
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode] lefts, ImplicitRestNode | SplatNode | nil rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode] rights, Location? lparen_loc, Location? rparen_loc, Location operator_loc, Prism::node value) -> void
2519
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?operator_loc: Location, ?value: Prism::node) -> MultiWriteNode
2520
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], rest: ImplicitRestNode | SplatNode | nil, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Prism::node }
2446
2521
  def lparen: () -> String?
2447
2522
  def rparen: () -> String?
2448
2523
  def operator: () -> String
@@ -2461,9 +2536,9 @@ module Prism
2461
2536
  attr_reader arguments: ArgumentsNode?
2462
2537
  attr_reader keyword_loc: Location
2463
2538
 
2464
- def initialize: (Source source, ArgumentsNode? arguments, Location keyword_loc, Location location) -> void
2465
- def copy: (?arguments: ArgumentsNode?, ?keyword_loc: Location, ?location: Location) -> NextNode
2466
- def deconstruct_keys: (Array[Symbol] keys) -> { arguments: ArgumentsNode?, keyword_loc: Location, location: Location }
2539
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
2540
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> NextNode
2541
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
2467
2542
  def keyword: () -> String
2468
2543
  def type: () -> :next_node
2469
2544
  | ...
@@ -2478,9 +2553,9 @@ module Prism
2478
2553
  include _Node
2479
2554
 
2480
2555
 
2481
- def initialize: (Source source, Location location) -> void
2482
- def copy: (?location: Location) -> NilNode
2483
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2556
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2557
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode
2558
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
2484
2559
  def type: () -> :nil_node
2485
2560
  | ...
2486
2561
  def self.type: () -> :nil_node
@@ -2497,9 +2572,9 @@ module Prism
2497
2572
  attr_reader operator_loc: Location
2498
2573
  attr_reader keyword_loc: Location
2499
2574
 
2500
- def initialize: (Source source, Location operator_loc, Location keyword_loc, Location location) -> void
2501
- def copy: (?operator_loc: Location, ?keyword_loc: Location, ?location: Location) -> NoKeywordsParameterNode
2502
- def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, keyword_loc: Location, location: Location }
2575
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Location keyword_loc) -> void
2576
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?keyword_loc: Location) -> NoKeywordsParameterNode
2577
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, keyword_loc: Location }
2503
2578
  def operator: () -> String
2504
2579
  def keyword: () -> String
2505
2580
  def type: () -> :no_keywords_parameter_node
@@ -2516,9 +2591,9 @@ module Prism
2516
2591
 
2517
2592
  attr_reader maximum: Integer
2518
2593
 
2519
- def initialize: (Source source, Integer maximum, Location location) -> void
2520
- def copy: (?maximum: Integer, ?location: Location) -> NumberedParametersNode
2521
- def deconstruct_keys: (Array[Symbol] keys) -> { maximum: Integer, location: Location }
2594
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer maximum) -> void
2595
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode
2596
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, maximum: Integer }
2522
2597
  def type: () -> :numbered_parameters_node
2523
2598
  | ...
2524
2599
  def self.type: () -> :numbered_parameters_node
@@ -2533,9 +2608,9 @@ module Prism
2533
2608
 
2534
2609
  attr_reader number: Integer
2535
2610
 
2536
- def initialize: (Source source, Integer number, Location location) -> void
2537
- def copy: (?number: Integer, ?location: Location) -> NumberedReferenceReadNode
2538
- def deconstruct_keys: (Array[Symbol] keys) -> { number: Integer, location: Location }
2611
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer number) -> void
2612
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode
2613
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, number: Integer }
2539
2614
  def type: () -> :numbered_reference_read_node
2540
2615
  | ...
2541
2616
  def self.type: () -> :numbered_reference_read_node
@@ -2549,15 +2624,15 @@ module Prism
2549
2624
  class OptionalKeywordParameterNode < Node
2550
2625
  include _Node
2551
2626
 
2552
- attr_reader flags: Integer
2627
+ def repeated_parameter?: () -> bool
2628
+
2553
2629
  attr_reader name: Symbol
2554
2630
  attr_reader name_loc: Location
2555
2631
  attr_reader value: Prism::node
2556
2632
 
2557
- def initialize: (Source source, Integer flags, Symbol name, Location name_loc, Prism::node value, Location location) -> void
2558
- def copy: (?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?location: Location) -> OptionalKeywordParameterNode
2559
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, value: Prism::node, location: Location }
2560
- def repeated_parameter?: () -> bool
2633
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value) -> void
2634
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node) -> OptionalKeywordParameterNode
2635
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node }
2561
2636
  def type: () -> :optional_keyword_parameter_node
2562
2637
  | ...
2563
2638
  def self.type: () -> :optional_keyword_parameter_node
@@ -2571,16 +2646,16 @@ module Prism
2571
2646
  class OptionalParameterNode < Node
2572
2647
  include _Node
2573
2648
 
2574
- attr_reader flags: Integer
2649
+ def repeated_parameter?: () -> bool
2650
+
2575
2651
  attr_reader name: Symbol
2576
2652
  attr_reader name_loc: Location
2577
2653
  attr_reader operator_loc: Location
2578
2654
  attr_reader value: Prism::node
2579
2655
 
2580
- def initialize: (Source source, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value, Location location) -> void
2581
- def copy: (?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?location: Location) -> OptionalParameterNode
2582
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node, location: Location }
2583
- def repeated_parameter?: () -> bool
2656
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
2657
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> OptionalParameterNode
2658
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
2584
2659
  def operator: () -> String
2585
2660
  def type: () -> :optional_parameter_node
2586
2661
  | ...
@@ -2598,9 +2673,9 @@ module Prism
2598
2673
  attr_reader right: Prism::node
2599
2674
  attr_reader operator_loc: Location
2600
2675
 
2601
- def initialize: (Source source, Prism::node left, Prism::node right, Location operator_loc, Location location) -> void
2602
- def copy: (?left: Prism::node, ?right: Prism::node, ?operator_loc: Location, ?location: Location) -> OrNode
2603
- def deconstruct_keys: (Array[Symbol] keys) -> { left: Prism::node, right: Prism::node, operator_loc: Location, location: Location }
2676
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
2677
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> OrNode
2678
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
2604
2679
  def operator: () -> String
2605
2680
  def type: () -> :or_node
2606
2681
  | ...
@@ -2623,9 +2698,9 @@ module Prism
2623
2698
  attr_reader keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil
2624
2699
  attr_reader block: BlockParameterNode?
2625
2700
 
2626
- def initialize: (Source source, Array[RequiredParameterNode | MultiTargetNode] requireds, Array[OptionalParameterNode] optionals, RestParameterNode | ImplicitRestNode | nil rest, Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode] posts, Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode] keywords, KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil keyword_rest, BlockParameterNode? block, Location location) -> void
2627
- def copy: (?requireds: Array[RequiredParameterNode | MultiTargetNode], ?optionals: Array[OptionalParameterNode], ?rest: RestParameterNode | ImplicitRestNode | nil, ?posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], ?keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], ?keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, ?block: BlockParameterNode?, ?location: Location) -> ParametersNode
2628
- def deconstruct_keys: (Array[Symbol] keys) -> { requireds: Array[RequiredParameterNode | MultiTargetNode], optionals: Array[OptionalParameterNode], rest: RestParameterNode | ImplicitRestNode | nil, posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, block: BlockParameterNode?, location: Location }
2701
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[RequiredParameterNode | MultiTargetNode] requireds, Array[OptionalParameterNode] optionals, RestParameterNode | ImplicitRestNode | nil rest, Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode] posts, Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode] keywords, KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil keyword_rest, BlockParameterNode? block) -> void
2702
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?requireds: Array[RequiredParameterNode | MultiTargetNode], ?optionals: Array[OptionalParameterNode], ?rest: RestParameterNode | ImplicitRestNode | nil, ?posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], ?keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], ?keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, ?block: BlockParameterNode?) -> ParametersNode
2703
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, requireds: Array[RequiredParameterNode | MultiTargetNode], optionals: Array[OptionalParameterNode], rest: RestParameterNode | ImplicitRestNode | nil, posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, block: BlockParameterNode? }
2629
2704
  def type: () -> :parameters_node
2630
2705
  | ...
2631
2706
  def self.type: () -> :parameters_node
@@ -2642,9 +2717,9 @@ module Prism
2642
2717
  attr_reader opening_loc: Location
2643
2718
  attr_reader closing_loc: Location
2644
2719
 
2645
- def initialize: (Source source, Prism::node? body, Location opening_loc, Location closing_loc, Location location) -> void
2646
- def copy: (?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location, ?location: Location) -> ParenthesesNode
2647
- def deconstruct_keys: (Array[Symbol] keys) -> { body: Prism::node?, opening_loc: Location, closing_loc: Location, location: Location }
2720
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? body, Location opening_loc, Location closing_loc) -> void
2721
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location) -> ParenthesesNode
2722
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Prism::node?, opening_loc: Location, closing_loc: Location }
2648
2723
  def opening: () -> String
2649
2724
  def closing: () -> String
2650
2725
  def type: () -> :parentheses_node
@@ -2664,9 +2739,9 @@ module Prism
2664
2739
  attr_reader lparen_loc: Location
2665
2740
  attr_reader rparen_loc: Location
2666
2741
 
2667
- def initialize: (Source source, Prism::node expression, Location operator_loc, Location lparen_loc, Location rparen_loc, Location location) -> void
2668
- def copy: (?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location, ?location: Location) -> PinnedExpressionNode
2669
- def deconstruct_keys: (Array[Symbol] keys) -> { expression: Prism::node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location }
2742
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location operator_loc, Location lparen_loc, Location rparen_loc) -> void
2743
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location) -> PinnedExpressionNode
2744
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location }
2670
2745
  def operator: () -> String
2671
2746
  def lparen: () -> String
2672
2747
  def rparen: () -> String
@@ -2685,9 +2760,9 @@ module Prism
2685
2760
  attr_reader variable: Prism::node
2686
2761
  attr_reader operator_loc: Location
2687
2762
 
2688
- def initialize: (Source source, Prism::node variable, Location operator_loc, Location location) -> void
2689
- def copy: (?variable: Prism::node, ?operator_loc: Location, ?location: Location) -> PinnedVariableNode
2690
- def deconstruct_keys: (Array[Symbol] keys) -> { variable: Prism::node, operator_loc: Location, location: Location }
2763
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node variable, Location operator_loc) -> void
2764
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: Prism::node, ?operator_loc: Location) -> PinnedVariableNode
2765
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, variable: Prism::node, operator_loc: Location }
2691
2766
  def operator: () -> String
2692
2767
  def type: () -> :pinned_variable_node
2693
2768
  | ...
@@ -2706,9 +2781,9 @@ module Prism
2706
2781
  attr_reader opening_loc: Location
2707
2782
  attr_reader closing_loc: Location
2708
2783
 
2709
- def initialize: (Source source, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, Location location) -> void
2710
- def copy: (?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?location: Location) -> PostExecutionNode
2711
- def deconstruct_keys: (Array[Symbol] keys) -> { statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location }
2784
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2785
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PostExecutionNode
2786
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
2712
2787
  def keyword: () -> String
2713
2788
  def opening: () -> String
2714
2789
  def closing: () -> String
@@ -2729,9 +2804,9 @@ module Prism
2729
2804
  attr_reader opening_loc: Location
2730
2805
  attr_reader closing_loc: Location
2731
2806
 
2732
- def initialize: (Source source, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, Location location) -> void
2733
- def copy: (?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?location: Location) -> PreExecutionNode
2734
- def deconstruct_keys: (Array[Symbol] keys) -> { statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location }
2807
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2808
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PreExecutionNode
2809
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
2735
2810
  def keyword: () -> String
2736
2811
  def opening: () -> String
2737
2812
  def closing: () -> String
@@ -2747,9 +2822,9 @@ module Prism
2747
2822
  attr_reader locals: Array[Symbol]
2748
2823
  attr_reader statements: StatementsNode
2749
2824
 
2750
- def initialize: (Source source, Array[Symbol] locals, StatementsNode statements, Location location) -> void
2751
- def copy: (?locals: Array[Symbol], ?statements: StatementsNode, ?location: Location) -> ProgramNode
2752
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], statements: StatementsNode, location: Location }
2825
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, StatementsNode statements) -> void
2826
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?statements: StatementsNode) -> ProgramNode
2827
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], statements: StatementsNode }
2753
2828
  def type: () -> :program_node
2754
2829
  | ...
2755
2830
  def self.type: () -> :program_node
@@ -2765,15 +2840,15 @@ module Prism
2765
2840
  class RangeNode < Node
2766
2841
  include _Node
2767
2842
 
2768
- attr_reader flags: Integer
2843
+ def exclude_end?: () -> bool
2844
+
2769
2845
  attr_reader left: Prism::node?
2770
2846
  attr_reader right: Prism::node?
2771
2847
  attr_reader operator_loc: Location
2772
2848
 
2773
- def initialize: (Source source, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc, Location location) -> void
2774
- def copy: (?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location, ?location: Location) -> RangeNode
2775
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, left: Prism::node?, right: Prism::node?, operator_loc: Location, location: Location }
2776
- def exclude_end?: () -> bool
2849
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
2850
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> RangeNode
2851
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
2777
2852
  def operator: () -> String
2778
2853
  def type: () -> :range_node
2779
2854
  | ...
@@ -2787,17 +2862,20 @@ module Prism
2787
2862
  class RationalNode < Node
2788
2863
  include _Node
2789
2864
 
2790
- attr_reader flags: Integer
2791
- attr_reader numerator: Integer
2792
- attr_reader denominator: Integer
2793
-
2794
- def initialize: (Source source, Integer flags, Integer numerator, Integer denominator, Location location) -> void
2795
- def copy: (?flags: Integer, ?numerator: Integer, ?denominator: Integer, ?location: Location) -> RationalNode
2796
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, numerator: Integer, denominator: Integer, location: Location }
2797
2865
  def binary?: () -> bool
2866
+
2798
2867
  def decimal?: () -> bool
2868
+
2799
2869
  def octal?: () -> bool
2870
+
2800
2871
  def hexadecimal?: () -> bool
2872
+
2873
+ attr_reader numerator: Integer
2874
+ attr_reader denominator: Integer
2875
+
2876
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer numerator, Integer denominator) -> void
2877
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numerator: Integer, ?denominator: Integer) -> RationalNode
2878
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numerator: Integer, denominator: Integer }
2801
2879
  def type: () -> :rational_node
2802
2880
  | ...
2803
2881
  def self.type: () -> :rational_node
@@ -2811,9 +2889,9 @@ module Prism
2811
2889
  include _Node
2812
2890
 
2813
2891
 
2814
- def initialize: (Source source, Location location) -> void
2815
- def copy: (?location: Location) -> RedoNode
2816
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2892
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2893
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode
2894
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
2817
2895
  def type: () -> :redo_node
2818
2896
  | ...
2819
2897
  def self.type: () -> :redo_node
@@ -2826,26 +2904,36 @@ module Prism
2826
2904
  class RegularExpressionNode < Node
2827
2905
  include _Node
2828
2906
 
2829
- attr_reader flags: Integer
2830
- attr_reader opening_loc: Location
2831
- attr_reader content_loc: Location
2832
- attr_reader closing_loc: Location
2833
- attr_reader unescaped: String
2834
-
2835
- def initialize: (Source source, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
2836
- def copy: (?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String, ?location: Location) -> RegularExpressionNode
2837
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
2838
2907
  def ignore_case?: () -> bool
2908
+
2839
2909
  def extended?: () -> bool
2910
+
2840
2911
  def multi_line?: () -> bool
2912
+
2841
2913
  def once?: () -> bool
2914
+
2842
2915
  def euc_jp?: () -> bool
2916
+
2843
2917
  def ascii_8bit?: () -> bool
2918
+
2844
2919
  def windows_31j?: () -> bool
2920
+
2845
2921
  def utf_8?: () -> bool
2922
+
2846
2923
  def forced_utf8_encoding?: () -> bool
2924
+
2847
2925
  def forced_binary_encoding?: () -> bool
2926
+
2848
2927
  def forced_us_ascii_encoding?: () -> bool
2928
+
2929
+ attr_reader opening_loc: Location
2930
+ attr_reader content_loc: Location
2931
+ attr_reader closing_loc: Location
2932
+ attr_reader unescaped: String
2933
+
2934
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2935
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> RegularExpressionNode
2936
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
2849
2937
  def opening: () -> String
2850
2938
  def content: () -> String
2851
2939
  def closing: () -> String
@@ -2862,14 +2950,14 @@ module Prism
2862
2950
  class RequiredKeywordParameterNode < Node
2863
2951
  include _Node
2864
2952
 
2865
- attr_reader flags: Integer
2953
+ def repeated_parameter?: () -> bool
2954
+
2866
2955
  attr_reader name: Symbol
2867
2956
  attr_reader name_loc: Location
2868
2957
 
2869
- def initialize: (Source source, Integer flags, Symbol name, Location name_loc, Location location) -> void
2870
- def copy: (?flags: Integer, ?name: Symbol, ?name_loc: Location, ?location: Location) -> RequiredKeywordParameterNode
2871
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, location: Location }
2872
- def repeated_parameter?: () -> bool
2958
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc) -> void
2959
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location) -> RequiredKeywordParameterNode
2960
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location }
2873
2961
  def type: () -> :required_keyword_parameter_node
2874
2962
  | ...
2875
2963
  def self.type: () -> :required_keyword_parameter_node
@@ -2883,13 +2971,13 @@ module Prism
2883
2971
  class RequiredParameterNode < Node
2884
2972
  include _Node
2885
2973
 
2886
- attr_reader flags: Integer
2974
+ def repeated_parameter?: () -> bool
2975
+
2887
2976
  attr_reader name: Symbol
2888
2977
 
2889
- def initialize: (Source source, Integer flags, Symbol name, Location location) -> void
2890
- def copy: (?flags: Integer, ?name: Symbol, ?location: Location) -> RequiredParameterNode
2891
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, location: Location }
2892
- def repeated_parameter?: () -> bool
2978
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
2979
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> RequiredParameterNode
2980
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
2893
2981
  def type: () -> :required_parameter_node
2894
2982
  | ...
2895
2983
  def self.type: () -> :required_parameter_node
@@ -2906,9 +2994,9 @@ module Prism
2906
2994
  attr_reader keyword_loc: Location
2907
2995
  attr_reader rescue_expression: Prism::node
2908
2996
 
2909
- def initialize: (Source source, Prism::node expression, Location keyword_loc, Prism::node rescue_expression, Location location) -> void
2910
- def copy: (?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node, ?location: Location) -> RescueModifierNode
2911
- def deconstruct_keys: (Array[Symbol] keys) -> { expression: Prism::node, keyword_loc: Location, rescue_expression: Prism::node, location: Location }
2997
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location keyword_loc, Prism::node rescue_expression) -> void
2998
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node) -> RescueModifierNode
2999
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, keyword_loc: Location, rescue_expression: Prism::node }
2912
3000
  def keyword: () -> String
2913
3001
  def type: () -> :rescue_modifier_node
2914
3002
  | ...
@@ -2932,11 +3020,11 @@ module Prism
2932
3020
  attr_reader operator_loc: Location?
2933
3021
  attr_reader reference: Prism::node?
2934
3022
  attr_reader statements: StatementsNode?
2935
- attr_reader consequent: RescueNode?
3023
+ attr_reader subsequent: RescueNode?
2936
3024
 
2937
- def initialize: (Source source, Location keyword_loc, Array[Prism::node] exceptions, Location? operator_loc, Prism::node? reference, StatementsNode? statements, RescueNode? consequent, Location location) -> void
2938
- def copy: (?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: Prism::node?, ?statements: StatementsNode?, ?consequent: RescueNode?, ?location: Location) -> RescueNode
2939
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, exceptions: Array[Prism::node], operator_loc: Location?, reference: Prism::node?, statements: StatementsNode?, consequent: RescueNode?, location: Location }
3025
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Array[Prism::node] exceptions, Location? operator_loc, Prism::node? reference, StatementsNode? statements, RescueNode? subsequent) -> void
3026
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: Prism::node?, ?statements: StatementsNode?, ?subsequent: RescueNode?) -> RescueNode
3027
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, exceptions: Array[Prism::node], operator_loc: Location?, reference: Prism::node?, statements: StatementsNode?, subsequent: RescueNode? }
2940
3028
  def keyword: () -> String
2941
3029
  def operator: () -> String?
2942
3030
  def type: () -> :rescue_node
@@ -2952,15 +3040,15 @@ module Prism
2952
3040
  class RestParameterNode < Node
2953
3041
  include _Node
2954
3042
 
2955
- attr_reader flags: Integer
3043
+ def repeated_parameter?: () -> bool
3044
+
2956
3045
  attr_reader name: Symbol?
2957
3046
  attr_reader name_loc: Location?
2958
3047
  attr_reader operator_loc: Location
2959
3048
 
2960
- def initialize: (Source source, Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
2961
- def copy: (?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location, ?location: Location) -> RestParameterNode
2962
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
2963
- def repeated_parameter?: () -> bool
3049
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
3050
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> RestParameterNode
3051
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
2964
3052
  def operator: () -> String
2965
3053
  def type: () -> :rest_parameter_node
2966
3054
  | ...
@@ -2975,9 +3063,9 @@ module Prism
2975
3063
  include _Node
2976
3064
 
2977
3065
 
2978
- def initialize: (Source source, Location location) -> void
2979
- def copy: (?location: Location) -> RetryNode
2980
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3066
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3067
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode
3068
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
2981
3069
  def type: () -> :retry_node
2982
3070
  | ...
2983
3071
  def self.type: () -> :retry_node
@@ -2990,14 +3078,12 @@ module Prism
2990
3078
  class ReturnNode < Node
2991
3079
  include _Node
2992
3080
 
2993
- attr_reader flags: Integer
2994
3081
  attr_reader keyword_loc: Location
2995
3082
  attr_reader arguments: ArgumentsNode?
2996
3083
 
2997
- def initialize: (Source source, Integer flags, Location keyword_loc, ArgumentsNode? arguments, Location location) -> void
2998
- def copy: (?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?, ?location: Location) -> ReturnNode
2999
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, arguments: ArgumentsNode?, location: Location }
3000
- def redundant?: () -> bool
3084
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, ArgumentsNode? arguments) -> void
3085
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?) -> ReturnNode
3086
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, arguments: ArgumentsNode? }
3001
3087
  def keyword: () -> String
3002
3088
  def type: () -> :return_node
3003
3089
  | ...
@@ -3012,9 +3098,9 @@ module Prism
3012
3098
  include _Node
3013
3099
 
3014
3100
 
3015
- def initialize: (Source source, Location location) -> void
3016
- def copy: (?location: Location) -> SelfNode
3017
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3101
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3102
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode
3103
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
3018
3104
  def type: () -> :self_node
3019
3105
  | ...
3020
3106
  def self.type: () -> :self_node
@@ -3028,15 +3114,17 @@ module Prism
3028
3114
  class ShareableConstantNode < Node
3029
3115
  include _Node
3030
3116
 
3031
- attr_reader flags: Integer
3032
- attr_reader write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode
3033
-
3034
- def initialize: (Source source, Integer flags, ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode write, Location location) -> void
3035
- def copy: (?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode, ?location: Location) -> ShareableConstantNode
3036
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode, location: Location }
3037
3117
  def literal?: () -> bool
3118
+
3038
3119
  def experimental_everything?: () -> bool
3120
+
3039
3121
  def experimental_copy?: () -> bool
3122
+
3123
+ attr_reader write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode
3124
+
3125
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode write) -> void
3126
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode) -> ShareableConstantNode
3127
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode }
3040
3128
  def type: () -> :shareable_constant_node
3041
3129
  | ...
3042
3130
  def self.type: () -> :shareable_constant_node
@@ -3056,9 +3144,9 @@ module Prism
3056
3144
  attr_reader body: Prism::node?
3057
3145
  attr_reader end_keyword_loc: Location
3058
3146
 
3059
- def initialize: (Source source, Array[Symbol] locals, Location class_keyword_loc, Location operator_loc, Prism::node expression, Prism::node? body, Location end_keyword_loc, Location location) -> void
3060
- def copy: (?locals: Array[Symbol], ?class_keyword_loc: Location, ?operator_loc: Location, ?expression: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location, ?location: Location) -> SingletonClassNode
3061
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Prism::node, body: Prism::node?, end_keyword_loc: Location, location: Location }
3147
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location class_keyword_loc, Location operator_loc, Prism::node expression, Prism::node? body, Location end_keyword_loc) -> void
3148
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?operator_loc: Location, ?expression: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location) -> SingletonClassNode
3149
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Prism::node, body: Prism::node?, end_keyword_loc: Location }
3062
3150
  def class_keyword: () -> String
3063
3151
  def operator: () -> String
3064
3152
  def end_keyword: () -> String
@@ -3075,9 +3163,9 @@ module Prism
3075
3163
  include _Node
3076
3164
 
3077
3165
 
3078
- def initialize: (Source source, Location location) -> void
3079
- def copy: (?location: Location) -> SourceEncodingNode
3080
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3166
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3167
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode
3168
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
3081
3169
  def type: () -> :source_encoding_node
3082
3170
  | ...
3083
3171
  def self.type: () -> :source_encoding_node
@@ -3090,16 +3178,19 @@ module Prism
3090
3178
  class SourceFileNode < Node
3091
3179
  include _Node
3092
3180
 
3093
- attr_reader flags: Integer
3094
- attr_reader filepath: String
3095
-
3096
- def initialize: (Source source, Integer flags, String filepath, Location location) -> void
3097
- def copy: (?flags: Integer, ?filepath: String, ?location: Location) -> SourceFileNode
3098
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, filepath: String, location: Location }
3099
3181
  def forced_utf8_encoding?: () -> bool
3182
+
3100
3183
  def forced_binary_encoding?: () -> bool
3184
+
3101
3185
  def frozen?: () -> bool
3186
+
3102
3187
  def mutable?: () -> bool
3188
+
3189
+ attr_reader filepath: String
3190
+
3191
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, String filepath) -> void
3192
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?filepath: String) -> SourceFileNode
3193
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, filepath: String }
3103
3194
  def type: () -> :source_file_node
3104
3195
  | ...
3105
3196
  def self.type: () -> :source_file_node
@@ -3113,9 +3204,9 @@ module Prism
3113
3204
  include _Node
3114
3205
 
3115
3206
 
3116
- def initialize: (Source source, Location location) -> void
3117
- def copy: (?location: Location) -> SourceLineNode
3118
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3207
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3208
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode
3209
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
3119
3210
  def type: () -> :source_line_node
3120
3211
  | ...
3121
3212
  def self.type: () -> :source_line_node
@@ -3131,9 +3222,9 @@ module Prism
3131
3222
  attr_reader operator_loc: Location
3132
3223
  attr_reader expression: Prism::node?
3133
3224
 
3134
- def initialize: (Source source, Location operator_loc, Prism::node? expression, Location location) -> void
3135
- def copy: (?operator_loc: Location, ?expression: Prism::node?, ?location: Location) -> SplatNode
3136
- def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, expression: Prism::node?, location: Location }
3225
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Prism::node? expression) -> void
3226
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?expression: Prism::node?) -> SplatNode
3227
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, expression: Prism::node? }
3137
3228
  def operator: () -> String
3138
3229
  def type: () -> :splat_node
3139
3230
  | ...
@@ -3149,9 +3240,9 @@ module Prism
3149
3240
 
3150
3241
  attr_reader body: Array[Prism::node]
3151
3242
 
3152
- def initialize: (Source source, Array[Prism::node] body, Location location) -> void
3153
- def copy: (?body: Array[Prism::node], ?location: Location) -> StatementsNode
3154
- def deconstruct_keys: (Array[Symbol] keys) -> { body: Array[Prism::node], location: Location }
3243
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] body) -> void
3244
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Array[Prism::node]) -> StatementsNode
3245
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Array[Prism::node] }
3155
3246
  def type: () -> :statements_node
3156
3247
  | ...
3157
3248
  def self.type: () -> :statements_node
@@ -3170,19 +3261,22 @@ module Prism
3170
3261
  class StringNode < Node
3171
3262
  include _Node
3172
3263
 
3173
- attr_reader flags: Integer
3264
+ def forced_utf8_encoding?: () -> bool
3265
+
3266
+ def forced_binary_encoding?: () -> bool
3267
+
3268
+ def frozen?: () -> bool
3269
+
3270
+ def mutable?: () -> bool
3271
+
3174
3272
  attr_reader opening_loc: Location?
3175
3273
  attr_reader content_loc: Location
3176
3274
  attr_reader closing_loc: Location?
3177
3275
  attr_reader unescaped: String
3178
3276
 
3179
- def initialize: (Source source, Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped, Location location) -> void
3180
- def copy: (?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String, ?location: Location) -> StringNode
3181
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location }
3182
- def forced_utf8_encoding?: () -> bool
3183
- def forced_binary_encoding?: () -> bool
3184
- def frozen?: () -> bool
3185
- def mutable?: () -> bool
3277
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped) -> void
3278
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String) -> StringNode
3279
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String }
3186
3280
  def opening: () -> String?
3187
3281
  def content: () -> String
3188
3282
  def closing: () -> String?
@@ -3207,9 +3301,9 @@ module Prism
3207
3301
  attr_reader rparen_loc: Location?
3208
3302
  attr_reader block: Prism::node?
3209
3303
 
3210
- def initialize: (Source source, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Prism::node? block, Location location) -> void
3211
- def copy: (?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?, ?block: Prism::node?, ?location: Location) -> SuperNode
3212
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Prism::node?, location: Location }
3304
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Prism::node? block) -> void
3305
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?, ?block: Prism::node?) -> SuperNode
3306
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Prism::node? }
3213
3307
  def keyword: () -> String
3214
3308
  def lparen: () -> String?
3215
3309
  def rparen: () -> String?
@@ -3228,18 +3322,20 @@ module Prism
3228
3322
  class SymbolNode < Node
3229
3323
  include _Node
3230
3324
 
3231
- attr_reader flags: Integer
3325
+ def forced_utf8_encoding?: () -> bool
3326
+
3327
+ def forced_binary_encoding?: () -> bool
3328
+
3329
+ def forced_us_ascii_encoding?: () -> bool
3330
+
3232
3331
  attr_reader opening_loc: Location?
3233
3332
  attr_reader value_loc: Location?
3234
3333
  attr_reader closing_loc: Location?
3235
3334
  attr_reader unescaped: String
3236
3335
 
3237
- def initialize: (Source source, Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped, Location location) -> void
3238
- def copy: (?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String, ?location: Location) -> SymbolNode
3239
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location }
3240
- def forced_utf8_encoding?: () -> bool
3241
- def forced_binary_encoding?: () -> bool
3242
- def forced_us_ascii_encoding?: () -> bool
3336
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped) -> void
3337
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String) -> SymbolNode
3338
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String }
3243
3339
  def opening: () -> String?
3244
3340
  def value: () -> String?
3245
3341
  def closing: () -> String?
@@ -3256,9 +3352,9 @@ module Prism
3256
3352
  include _Node
3257
3353
 
3258
3354
 
3259
- def initialize: (Source source, Location location) -> void
3260
- def copy: (?location: Location) -> TrueNode
3261
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3355
+ def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3356
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode
3357
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
3262
3358
  def type: () -> :true_node
3263
3359
  | ...
3264
3360
  def self.type: () -> :true_node
@@ -3274,9 +3370,9 @@ module Prism
3274
3370
  attr_reader names: Array[SymbolNode | InterpolatedSymbolNode]
3275
3371
  attr_reader keyword_loc: Location
3276
3372
 
3277
- def initialize: (Source source, Array[SymbolNode | InterpolatedSymbolNode] names, Location keyword_loc, Location location) -> void
3278
- def copy: (?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location, ?location: Location) -> UndefNode
3279
- def deconstruct_keys: (Array[Symbol] keys) -> { names: Array[SymbolNode | InterpolatedSymbolNode], keyword_loc: Location, location: Location }
3373
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[SymbolNode | InterpolatedSymbolNode] names, Location keyword_loc) -> void
3374
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location) -> UndefNode
3375
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, names: Array[SymbolNode | InterpolatedSymbolNode], keyword_loc: Location }
3280
3376
  def keyword: () -> String
3281
3377
  def type: () -> :undef_node
3282
3378
  | ...
@@ -3297,12 +3393,12 @@ module Prism
3297
3393
  attr_reader predicate: Prism::node
3298
3394
  attr_reader then_keyword_loc: Location?
3299
3395
  attr_reader statements: StatementsNode?
3300
- attr_reader consequent: ElseNode?
3396
+ attr_reader else_clause: ElseNode?
3301
3397
  attr_reader end_keyword_loc: Location?
3302
3398
 
3303
- def initialize: (Source source, Location keyword_loc, Prism::node predicate, Location? then_keyword_loc, StatementsNode? statements, ElseNode? consequent, Location? end_keyword_loc, Location location) -> void
3304
- def copy: (?keyword_loc: Location, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?consequent: ElseNode?, ?end_keyword_loc: Location?, ?location: Location) -> UnlessNode
3305
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location }
3399
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Prism::node predicate, Location? then_keyword_loc, StatementsNode? statements, ElseNode? else_clause, Location? end_keyword_loc) -> void
3400
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?else_clause: ElseNode?, ?end_keyword_loc: Location?) -> UnlessNode
3401
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, else_clause: ElseNode?, end_keyword_loc: Location? }
3306
3402
  def keyword: () -> String
3307
3403
  def then_keyword: () -> String?
3308
3404
  def end_keyword: () -> String?
@@ -3321,16 +3417,16 @@ module Prism
3321
3417
  class UntilNode < Node
3322
3418
  include _Node
3323
3419
 
3324
- attr_reader flags: Integer
3420
+ def begin_modifier?: () -> bool
3421
+
3325
3422
  attr_reader keyword_loc: Location
3326
3423
  attr_reader closing_loc: Location?
3327
3424
  attr_reader predicate: Prism::node
3328
3425
  attr_reader statements: StatementsNode?
3329
3426
 
3330
- def initialize: (Source source, Integer flags, Location keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements, Location location) -> void
3331
- def copy: (?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?, ?location: Location) -> UntilNode
3332
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode?, location: Location }
3333
- def begin_modifier?: () -> bool
3427
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements) -> void
3428
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> UntilNode
3429
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? }
3334
3430
  def keyword: () -> String
3335
3431
  def closing: () -> String?
3336
3432
  def type: () -> :until_node
@@ -3352,9 +3448,9 @@ module Prism
3352
3448
  attr_reader then_keyword_loc: Location?
3353
3449
  attr_reader statements: StatementsNode?
3354
3450
 
3355
- def initialize: (Source source, Location keyword_loc, Array[Prism::node] conditions, Location? then_keyword_loc, StatementsNode? statements, Location location) -> void
3356
- def copy: (?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?location: Location) -> WhenNode
3357
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, conditions: Array[Prism::node], then_keyword_loc: Location?, statements: StatementsNode?, location: Location }
3451
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Array[Prism::node] conditions, Location? then_keyword_loc, StatementsNode? statements) -> void
3452
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?) -> WhenNode
3453
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, conditions: Array[Prism::node], then_keyword_loc: Location?, statements: StatementsNode? }
3358
3454
  def keyword: () -> String
3359
3455
  def then_keyword: () -> String?
3360
3456
  def type: () -> :when_node
@@ -3372,16 +3468,16 @@ module Prism
3372
3468
  class WhileNode < Node
3373
3469
  include _Node
3374
3470
 
3375
- attr_reader flags: Integer
3471
+ def begin_modifier?: () -> bool
3472
+
3376
3473
  attr_reader keyword_loc: Location
3377
3474
  attr_reader closing_loc: Location?
3378
3475
  attr_reader predicate: Prism::node
3379
3476
  attr_reader statements: StatementsNode?
3380
3477
 
3381
- def initialize: (Source source, Integer flags, Location keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements, Location location) -> void
3382
- def copy: (?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?, ?location: Location) -> WhileNode
3383
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode?, location: Location }
3384
- def begin_modifier?: () -> bool
3478
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements) -> void
3479
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> WhileNode
3480
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? }
3385
3481
  def keyword: () -> String
3386
3482
  def closing: () -> String?
3387
3483
  def type: () -> :while_node
@@ -3396,17 +3492,18 @@ module Prism
3396
3492
  class XStringNode < Node
3397
3493
  include _Node
3398
3494
 
3399
- attr_reader flags: Integer
3495
+ def forced_utf8_encoding?: () -> bool
3496
+
3497
+ def forced_binary_encoding?: () -> bool
3498
+
3400
3499
  attr_reader opening_loc: Location
3401
3500
  attr_reader content_loc: Location
3402
3501
  attr_reader closing_loc: Location
3403
3502
  attr_reader unescaped: String
3404
3503
 
3405
- def initialize: (Source source, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
3406
- def copy: (?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String, ?location: Location) -> XStringNode
3407
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
3408
- def forced_utf8_encoding?: () -> bool
3409
- def forced_binary_encoding?: () -> bool
3504
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
3505
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> XStringNode
3506
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
3410
3507
  def opening: () -> String
3411
3508
  def content: () -> String
3412
3509
  def closing: () -> String
@@ -3427,9 +3524,9 @@ module Prism
3427
3524
  attr_reader arguments: ArgumentsNode?
3428
3525
  attr_reader rparen_loc: Location?
3429
3526
 
3430
- def initialize: (Source source, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Location location) -> void
3431
- def copy: (?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?, ?location: Location) -> YieldNode
3432
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location }
3527
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc) -> void
3528
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?) -> YieldNode
3529
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location? }
3433
3530
  def keyword: () -> String
3434
3531
  def lparen: () -> String?
3435
3532
  def rparen: () -> String?
@@ -3444,6 +3541,8 @@ module Prism
3444
3541
  CONTAINS_KEYWORDS: Integer
3445
3542
  # if arguments contain keyword splat
3446
3543
  CONTAINS_KEYWORD_SPLAT: Integer
3544
+ # if arguments contain splat
3545
+ CONTAINS_SPLAT: Integer
3447
3546
  end
3448
3547
 
3449
3548
  # Flags for array nodes.
@@ -3542,12 +3641,6 @@ module Prism
3542
3641
  FORCED_US_ASCII_ENCODING: Integer
3543
3642
  end
3544
3643
 
3545
- # Flags for return nodes.
3546
- module ReturnNodeFlags
3547
- # a return statement that is redundant because it is the last statement in a method
3548
- REDUNDANT: Integer
3549
- end
3550
-
3551
3644
  # Flags for shareable constant nodes.
3552
3645
  module ShareableConstantNodeFlags
3553
3646
  # constant writes that should be modified with shareable constant value literal
@@ -3579,4 +3672,10 @@ module Prism
3579
3672
  # internal bytes forced the encoding to US-ASCII
3580
3673
  FORCED_US_ASCII_ENCODING: Integer
3581
3674
  end
3675
+
3676
+ # The flags that are common to all nodes.
3677
+ module NodeFlags
3678
+ NEWLINE: Integer
3679
+ STATIC_LITERAL: Integer
3680
+ end
3582
3681
  end