prism 0.30.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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