prism 1.3.0 → 1.5.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -1
  3. data/Makefile +2 -1
  4. data/README.md +1 -0
  5. data/config.yml +273 -37
  6. data/docs/parser_translation.md +8 -23
  7. data/docs/releasing.md +1 -1
  8. data/docs/ripper_translation.md +1 -1
  9. data/docs/ruby_api.md +1 -1
  10. data/ext/prism/api_node.c +1816 -1303
  11. data/ext/prism/extension.c +244 -110
  12. data/ext/prism/extension.h +4 -4
  13. data/include/prism/ast.h +291 -49
  14. data/include/prism/defines.h +4 -1
  15. data/include/prism/diagnostic.h +4 -0
  16. data/include/prism/options.h +89 -3
  17. data/include/prism/regexp.h +2 -2
  18. data/include/prism/util/pm_buffer.h +18 -0
  19. data/include/prism/util/pm_integer.h +4 -0
  20. data/include/prism/util/pm_list.h +6 -0
  21. data/include/prism/util/pm_string.h +12 -2
  22. data/include/prism/version.h +2 -2
  23. data/include/prism.h +41 -16
  24. data/lib/prism/compiler.rb +456 -151
  25. data/lib/prism/desugar_compiler.rb +1 -0
  26. data/lib/prism/dispatcher.rb +16 -0
  27. data/lib/prism/dot_visitor.rb +21 -1
  28. data/lib/prism/dsl.rb +13 -2
  29. data/lib/prism/ffi.rb +62 -34
  30. data/lib/prism/inspect_visitor.rb +5 -1
  31. data/lib/prism/lex_compat.rb +1 -0
  32. data/lib/prism/mutation_compiler.rb +3 -0
  33. data/lib/prism/node.rb +554 -345
  34. data/lib/prism/node_ext.rb +4 -1
  35. data/lib/prism/pack.rb +2 -0
  36. data/lib/prism/parse_result/comments.rb +1 -0
  37. data/lib/prism/parse_result/errors.rb +1 -0
  38. data/lib/prism/parse_result/newlines.rb +2 -1
  39. data/lib/prism/parse_result.rb +53 -0
  40. data/lib/prism/pattern.rb +1 -0
  41. data/lib/prism/polyfill/append_as_bytes.rb +15 -0
  42. data/lib/prism/polyfill/scan_byte.rb +14 -0
  43. data/lib/prism/polyfill/warn.rb +42 -0
  44. data/lib/prism/reflection.rb +5 -2
  45. data/lib/prism/relocation.rb +1 -0
  46. data/lib/prism/serialize.rb +1275 -783
  47. data/lib/prism/string_query.rb +1 -0
  48. data/lib/prism/translation/parser/builder.rb +62 -0
  49. data/lib/prism/translation/parser/compiler.rb +230 -152
  50. data/lib/prism/translation/parser/lexer.rb +446 -64
  51. data/lib/prism/translation/parser.rb +64 -4
  52. data/lib/prism/translation/parser33.rb +1 -0
  53. data/lib/prism/translation/parser34.rb +1 -0
  54. data/lib/prism/translation/parser35.rb +13 -0
  55. data/lib/prism/translation/parser_current.rb +24 -0
  56. data/lib/prism/translation/ripper/sexp.rb +1 -0
  57. data/lib/prism/translation/ripper.rb +30 -4
  58. data/lib/prism/translation/ruby_parser.rb +291 -7
  59. data/lib/prism/translation.rb +3 -0
  60. data/lib/prism/visitor.rb +457 -152
  61. data/lib/prism.rb +5 -3
  62. data/prism.gemspec +9 -1
  63. data/rbi/prism/dsl.rbi +9 -6
  64. data/rbi/prism/node.rbi +43 -16
  65. data/rbi/prism/parse_result.rbi +17 -0
  66. data/rbi/prism/translation/parser35.rbi +6 -0
  67. data/rbi/prism.rbi +39 -36
  68. data/sig/prism/dispatcher.rbs +3 -0
  69. data/sig/prism/dsl.rbs +7 -5
  70. data/sig/prism/node.rbs +461 -37
  71. data/sig/prism/node_ext.rbs +84 -17
  72. data/sig/prism/parse_result/comments.rbs +38 -0
  73. data/sig/prism/parse_result.rbs +14 -0
  74. data/sig/prism/reflection.rbs +1 -1
  75. data/sig/prism/serialize.rbs +4 -2
  76. data/sig/prism.rbs +22 -1
  77. data/src/diagnostic.c +9 -3
  78. data/src/node.c +23 -0
  79. data/src/options.c +33 -2
  80. data/src/prettyprint.c +32 -0
  81. data/src/prism.c +620 -242
  82. data/src/serialize.c +8 -0
  83. data/src/token_type.c +36 -34
  84. data/src/util/pm_buffer.c +40 -0
  85. data/src/util/pm_constant_pool.c +6 -2
  86. data/src/util/pm_strncasecmp.c +13 -1
  87. metadata +11 -7
data/sig/prism/node.rbs CHANGED
@@ -3,14 +3,7 @@
3
3
  # if you are looking to modify the template
4
4
 
5
5
  module Prism
6
- # Methods implemented on every subclass of a singleton of Node
7
- interface _NodeSingleton
8
- def type: () -> Symbol
9
- end
10
-
11
6
  class Node
12
- extend _NodeSingleton
13
-
14
7
  attr_reader source: Source
15
8
  attr_reader node_id: Integer
16
9
  attr_reader location: Location
@@ -19,8 +12,14 @@ module Prism
19
12
  def newline?: () -> bool
20
13
  def static_literal?: () -> bool
21
14
 
22
- def start_offset: () -> Integer
23
- def end_offset: () -> Integer
15
+ def accept: (_Visitor) -> void
16
+ def child_nodes: () -> Array[Prism::node?]
17
+ def comment_targets: () -> Array[Prism::node | Location]
18
+ def compact_child_nodes: () -> Array[Prism::node]
19
+ def self.fields: () -> Array[Prism::Reflection::Field]
20
+ def type: () -> Symbol
21
+ def self.type: () -> Symbol
22
+
24
23
  def source_lines: () -> Array[String]
25
24
  alias script_lines source_lines
26
25
  def slice: () -> String
@@ -29,26 +28,51 @@ module Prism
29
28
  def to_dot: () -> String
30
29
  def tunnel: (Integer line, Integer column) -> Array[Prism::node]
31
30
  def breadth_first_search: () { (Prism::node) -> bool } -> Prism::node?
32
- def deprecated: (*String) -> void
33
31
  def newline!: (Array[untyped]) -> void
34
- end
35
32
 
36
- type node_singleton = singleton(Node) & _NodeSingleton
33
+ def save: (_Repository repository) -> void
34
+ def save_location: (_Repository repository) -> void
35
+
36
+ def leading_comments: () -> Array[comment]
37
+ def trailing_comments: () -> Array[comment]
38
+ def comments: () -> Array[comment]
39
+
40
+ def start_offset: () -> Integer
41
+ def start_character_offset: () -> Integer
42
+ def start_code_units_offset: (Encoding encoding) -> Integer
43
+ def cached_start_code_units_offset: (_CodeUnitsCache cache) -> Integer
44
+
45
+ def end_offset: () -> Integer
46
+ def end_character_offset: () -> Integer
47
+ def end_code_units_offset: (Encoding encoding) -> Integer
48
+ def cached_end_code_units_offset: (_CodeUnitsCache cache) -> Integer
49
+
50
+ def start_line: () -> Integer
51
+ def end_line: () -> Integer
52
+
53
+ def start_column: () -> Integer
54
+ def start_character_column: () -> Integer
55
+ def start_code_units_column: (Encoding encoding) -> Integer
56
+ def cached_start_code_units_column: (_CodeUnitsCache cache) -> Integer
57
+
58
+ def end_column: () -> Integer
59
+ def end_character_column: () -> Integer
60
+ def end_code_units_column: (Encoding encoding) -> Integer
61
+ def cached_end_code_units_column: (_CodeUnitsCache cache) -> Integer
62
+ end
37
63
 
38
64
  # Methods implemented by every subclass of Node
39
65
  interface _Node
40
- def accept: (_Visitor) -> void
41
- def child_nodes: () -> Array[Prism::node?]
42
66
  def deconstruct: () -> Array[Prism::node?]
43
- def compact_child_nodes: () -> Array[Prism::node]
44
- def comment_targets: () -> Array[Prism::node | Location]
45
- def fields: () -> Array[Prism::Reflection::Field]
46
67
  def inspect: () -> String
47
- def type: () -> Symbol
48
68
  end
49
69
 
50
70
  type node = Node & _Node
51
71
 
72
+ interface _Repository
73
+ def enter: (Integer node_id, Symbol field_name) -> void
74
+ end
75
+
52
76
 
53
77
  # Represents the use of the `alias` keyword to alias a global variable.
54
78
  #
@@ -61,6 +85,8 @@ module Prism
61
85
  attr_reader old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode
62
86
  attr_reader keyword_loc: Location
63
87
 
88
+ def save_keyword_loc: (_Repository repository) -> void
89
+
64
90
  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
91
  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
92
  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 }
@@ -81,6 +107,8 @@ module Prism
81
107
  attr_reader old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode
82
108
  attr_reader keyword_loc: Location
83
109
 
110
+ def save_keyword_loc: (_Repository repository) -> void
111
+
84
112
  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
113
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: SymbolNode | InterpolatedSymbolNode, ?old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, ?keyword_loc: Location) -> AliasMethodNode
86
114
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, new_name: SymbolNode | InterpolatedSymbolNode, old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, keyword_loc: Location }
@@ -101,6 +129,8 @@ module Prism
101
129
  attr_reader right: Prism::node
102
130
  attr_reader operator_loc: Location
103
131
 
132
+ def save_operator_loc: (_Repository repository) -> void
133
+
104
134
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
105
135
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AlternationPatternNode
106
136
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -121,6 +151,8 @@ module Prism
121
151
  attr_reader right: Prism::node
122
152
  attr_reader operator_loc: Location
123
153
 
154
+ def save_operator_loc: (_Repository repository) -> void
155
+
124
156
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
125
157
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AndNode
126
158
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -145,6 +177,7 @@ module Prism
145
177
 
146
178
  attr_reader arguments: Array[Prism::node]
147
179
 
180
+
148
181
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] arguments) -> void
149
182
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: Array[Prism::node]) -> ArgumentsNode
150
183
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: Array[Prism::node] }
@@ -166,6 +199,9 @@ module Prism
166
199
  attr_reader opening_loc: Location?
167
200
  attr_reader closing_loc: Location?
168
201
 
202
+ def save_opening_loc: (_Repository repository) -> void
203
+ def save_closing_loc: (_Repository repository) -> void
204
+
169
205
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] elements, Location? opening_loc, Location? closing_loc) -> void
170
206
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayNode
171
207
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[Prism::node], opening_loc: Location?, closing_loc: Location? }
@@ -195,16 +231,19 @@ module Prism
195
231
  class ArrayPatternNode < Node
196
232
  include _Node
197
233
 
198
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
234
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
199
235
  attr_reader requireds: Array[Prism::node]
200
236
  attr_reader rest: Prism::node?
201
237
  attr_reader posts: Array[Prism::node]
202
238
  attr_reader opening_loc: Location?
203
239
  attr_reader closing_loc: Location?
204
240
 
205
- def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantReadNode | ConstantPathNode | nil 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: ConstantReadNode | ConstantPathNode | nil, ?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: ConstantReadNode | ConstantPathNode | nil, requireds: Array[Prism::node], rest: Prism::node?, posts: Array[Prism::node], opening_loc: Location?, closing_loc: Location? }
241
+ def save_opening_loc: (_Repository repository) -> void
242
+ def save_closing_loc: (_Repository repository) -> void
243
+
244
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode | ConstantReadNode | nil constant, Array[Prism::node] requireds, Prism::node? rest, Array[Prism::node] posts, Location? opening_loc, Location? closing_loc) -> void
245
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantPathNode | ConstantReadNode | nil, ?requireds: Array[Prism::node], ?rest: Prism::node?, ?posts: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayPatternNode
246
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantPathNode | ConstantReadNode | nil, requireds: Array[Prism::node], rest: Prism::node?, posts: Array[Prism::node], opening_loc: Location?, closing_loc: Location? }
208
247
  def opening: () -> String?
209
248
  def closing: () -> String?
210
249
  def type: () -> :array_pattern_node
@@ -223,6 +262,8 @@ module Prism
223
262
  attr_reader value: Prism::node
224
263
  attr_reader operator_loc: Location?
225
264
 
265
+ def save_operator_loc: (_Repository repository) -> void
266
+
226
267
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node key, Prism::node value, Location? operator_loc) -> void
227
268
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?key: Prism::node, ?value: Prism::node, ?operator_loc: Location?) -> AssocNode
228
269
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, key: Prism::node, value: Prism::node, operator_loc: Location? }
@@ -242,6 +283,8 @@ module Prism
242
283
  attr_reader value: Prism::node?
243
284
  attr_reader operator_loc: Location
244
285
 
286
+ def save_operator_loc: (_Repository repository) -> void
287
+
245
288
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? value, Location operator_loc) -> void
246
289
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node?, ?operator_loc: Location) -> AssocSplatNode
247
290
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node?, operator_loc: Location }
@@ -260,6 +303,7 @@ module Prism
260
303
 
261
304
  attr_reader name: Symbol
262
305
 
306
+
263
307
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
264
308
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BackReferenceReadNode
265
309
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -284,6 +328,9 @@ module Prism
284
328
  attr_reader ensure_clause: EnsureNode?
285
329
  attr_reader end_keyword_loc: Location?
286
330
 
331
+ def save_begin_keyword_loc: (_Repository repository) -> void
332
+ def save_end_keyword_loc: (_Repository repository) -> void
333
+
287
334
  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
335
  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
336
  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? }
@@ -304,6 +351,8 @@ module Prism
304
351
  attr_reader expression: Prism::node?
305
352
  attr_reader operator_loc: Location
306
353
 
354
+ def save_operator_loc: (_Repository repository) -> void
355
+
307
356
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? expression, Location operator_loc) -> void
308
357
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node?, ?operator_loc: Location) -> BlockArgumentNode
309
358
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node?, operator_loc: Location }
@@ -324,6 +373,7 @@ module Prism
324
373
 
325
374
  attr_reader name: Symbol
326
375
 
376
+
327
377
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
328
378
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BlockLocalVariableNode
329
379
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -345,6 +395,9 @@ module Prism
345
395
  attr_reader opening_loc: Location
346
396
  attr_reader closing_loc: Location
347
397
 
398
+ def save_opening_loc: (_Repository repository) -> void
399
+ def save_closing_loc: (_Repository repository) -> void
400
+
348
401
  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
402
  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
403
  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 }
@@ -369,6 +422,9 @@ module Prism
369
422
  attr_reader name_loc: Location?
370
423
  attr_reader operator_loc: Location
371
424
 
425
+ def save_name_loc: (_Repository repository) -> void
426
+ def save_operator_loc: (_Repository repository) -> void
427
+
372
428
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
373
429
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> BlockParameterNode
374
430
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -394,6 +450,9 @@ module Prism
394
450
  attr_reader opening_loc: Location?
395
451
  attr_reader closing_loc: Location?
396
452
 
453
+ def save_opening_loc: (_Repository repository) -> void
454
+ def save_closing_loc: (_Repository repository) -> void
455
+
397
456
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ParametersNode? parameters, Array[BlockLocalVariableNode] locals, Location? opening_loc, Location? closing_loc) -> void
398
457
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parameters: ParametersNode?, ?locals: Array[BlockLocalVariableNode], ?opening_loc: Location?, ?closing_loc: Location?) -> BlockParametersNode
399
458
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parameters: ParametersNode?, locals: Array[BlockLocalVariableNode], opening_loc: Location?, closing_loc: Location? }
@@ -414,6 +473,8 @@ module Prism
414
473
  attr_reader arguments: ArgumentsNode?
415
474
  attr_reader keyword_loc: Location
416
475
 
476
+ def save_keyword_loc: (_Repository repository) -> void
477
+
417
478
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
418
479
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> BreakNode
419
480
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
@@ -443,6 +504,10 @@ module Prism
443
504
  attr_reader operator_loc: Location
444
505
  attr_reader value: Prism::node
445
506
 
507
+ def save_call_operator_loc: (_Repository repository) -> void
508
+ def save_message_loc: (_Repository repository) -> void
509
+ def save_operator_loc: (_Repository repository) -> void
510
+
446
511
  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
447
512
  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
448
513
  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 }
@@ -490,6 +555,11 @@ module Prism
490
555
  attr_reader closing_loc: Location?
491
556
  attr_reader block: BlockNode | BlockArgumentNode | nil
492
557
 
558
+ def save_call_operator_loc: (_Repository repository) -> void
559
+ def save_message_loc: (_Repository repository) -> void
560
+ def save_opening_loc: (_Repository repository) -> void
561
+ def save_closing_loc: (_Repository repository) -> void
562
+
493
563
  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, BlockNode | BlockArgumentNode | nil block) -> void
494
564
  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: BlockNode | BlockArgumentNode | nil) -> CallNode
495
565
  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: BlockNode | BlockArgumentNode | nil }
@@ -523,6 +593,10 @@ module Prism
523
593
  attr_reader binary_operator_loc: Location
524
594
  attr_reader value: Prism::node
525
595
 
596
+ def save_call_operator_loc: (_Repository repository) -> void
597
+ def save_message_loc: (_Repository repository) -> void
598
+ def save_binary_operator_loc: (_Repository repository) -> void
599
+
526
600
  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
527
601
  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
528
602
  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 }
@@ -553,6 +627,10 @@ module Prism
553
627
  attr_reader operator_loc: Location
554
628
  attr_reader value: Prism::node
555
629
 
630
+ def save_call_operator_loc: (_Repository repository) -> void
631
+ def save_message_loc: (_Repository repository) -> void
632
+ def save_operator_loc: (_Repository repository) -> void
633
+
556
634
  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
557
635
  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
558
636
  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 }
@@ -589,6 +667,9 @@ module Prism
589
667
  attr_reader name: Symbol
590
668
  attr_reader message_loc: Location
591
669
 
670
+ def save_call_operator_loc: (_Repository repository) -> void
671
+ def save_message_loc: (_Repository repository) -> void
672
+
592
673
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node receiver, Location call_operator_loc, Symbol name, Location message_loc) -> void
593
674
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location) -> CallTargetNode
594
675
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node, call_operator_loc: Location, name: Symbol, message_loc: Location }
@@ -610,6 +691,8 @@ module Prism
610
691
  attr_reader target: LocalVariableTargetNode
611
692
  attr_reader operator_loc: Location
612
693
 
694
+ def save_operator_loc: (_Repository repository) -> void
695
+
613
696
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, LocalVariableTargetNode target, Location operator_loc) -> void
614
697
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: LocalVariableTargetNode, ?operator_loc: Location) -> CapturePatternNode
615
698
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, target: LocalVariableTargetNode, operator_loc: Location }
@@ -634,6 +717,9 @@ module Prism
634
717
  attr_reader case_keyword_loc: Location
635
718
  attr_reader end_keyword_loc: Location
636
719
 
720
+ def save_case_keyword_loc: (_Repository repository) -> void
721
+ def save_end_keyword_loc: (_Repository repository) -> void
722
+
637
723
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? predicate, Array[InNode] conditions, ElseNode? else_clause, Location case_keyword_loc, Location end_keyword_loc) -> void
638
724
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[InNode], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseMatchNode
639
725
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[InNode], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location }
@@ -659,6 +745,9 @@ module Prism
659
745
  attr_reader case_keyword_loc: Location
660
746
  attr_reader end_keyword_loc: Location
661
747
 
748
+ def save_case_keyword_loc: (_Repository repository) -> void
749
+ def save_end_keyword_loc: (_Repository repository) -> void
750
+
662
751
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? predicate, Array[WhenNode] conditions, ElseNode? else_clause, Location case_keyword_loc, Location end_keyword_loc) -> void
663
752
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[WhenNode], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseNode
664
753
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[WhenNode], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location }
@@ -685,6 +774,10 @@ module Prism
685
774
  attr_reader end_keyword_loc: Location
686
775
  attr_reader name: Symbol
687
776
 
777
+ def save_class_keyword_loc: (_Repository repository) -> void
778
+ def save_inheritance_operator_loc: (_Repository repository) -> void
779
+ def save_end_keyword_loc: (_Repository repository) -> void
780
+
688
781
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location class_keyword_loc, ConstantReadNode | ConstantPathNode | CallNode constant_path, Location? inheritance_operator_loc, Prism::node? superclass, StatementsNode | BeginNode | nil body, Location end_keyword_loc, Symbol name) -> void
689
782
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?constant_path: ConstantReadNode | ConstantPathNode | CallNode, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location, ?name: Symbol) -> ClassNode
690
783
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], class_keyword_loc: Location, constant_path: ConstantReadNode | ConstantPathNode | CallNode, inheritance_operator_loc: Location?, superclass: Prism::node?, body: StatementsNode | BeginNode | nil, end_keyword_loc: Location, name: Symbol }
@@ -708,6 +801,9 @@ module Prism
708
801
  attr_reader operator_loc: Location
709
802
  attr_reader value: Prism::node
710
803
 
804
+ def save_name_loc: (_Repository repository) -> void
805
+ def save_operator_loc: (_Repository repository) -> void
806
+
711
807
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
712
808
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableAndWriteNode
713
809
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -730,6 +826,9 @@ module Prism
730
826
  attr_reader value: Prism::node
731
827
  attr_reader binary_operator: Symbol
732
828
 
829
+ def save_name_loc: (_Repository repository) -> void
830
+ def save_binary_operator_loc: (_Repository repository) -> void
831
+
733
832
  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
734
833
  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
735
834
  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 }
@@ -750,6 +849,9 @@ module Prism
750
849
  attr_reader operator_loc: Location
751
850
  attr_reader value: Prism::node
752
851
 
852
+ def save_name_loc: (_Repository repository) -> void
853
+ def save_operator_loc: (_Repository repository) -> void
854
+
753
855
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
754
856
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableOrWriteNode
755
857
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -768,6 +870,7 @@ module Prism
768
870
 
769
871
  attr_reader name: Symbol
770
872
 
873
+
771
874
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
772
875
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode
773
876
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -785,6 +888,7 @@ module Prism
785
888
 
786
889
  attr_reader name: Symbol
787
890
 
891
+
788
892
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
789
893
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode
790
894
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -805,6 +909,9 @@ module Prism
805
909
  attr_reader value: Prism::node
806
910
  attr_reader operator_loc: Location
807
911
 
912
+ def save_name_loc: (_Repository repository) -> void
913
+ def save_operator_loc: (_Repository repository) -> void
914
+
808
915
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
809
916
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ClassVariableWriteNode
810
917
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -826,6 +933,9 @@ module Prism
826
933
  attr_reader operator_loc: Location
827
934
  attr_reader value: Prism::node
828
935
 
936
+ def save_name_loc: (_Repository repository) -> void
937
+ def save_operator_loc: (_Repository repository) -> void
938
+
829
939
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
830
940
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantAndWriteNode
831
941
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -848,6 +958,9 @@ module Prism
848
958
  attr_reader value: Prism::node
849
959
  attr_reader binary_operator: Symbol
850
960
 
961
+ def save_name_loc: (_Repository repository) -> void
962
+ def save_binary_operator_loc: (_Repository repository) -> void
963
+
851
964
  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
852
965
  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
853
966
  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 }
@@ -868,6 +981,9 @@ module Prism
868
981
  attr_reader operator_loc: Location
869
982
  attr_reader value: Prism::node
870
983
 
984
+ def save_name_loc: (_Repository repository) -> void
985
+ def save_operator_loc: (_Repository repository) -> void
986
+
871
987
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
872
988
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantOrWriteNode
873
989
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -888,6 +1004,8 @@ module Prism
888
1004
  attr_reader operator_loc: Location
889
1005
  attr_reader value: Prism::node
890
1006
 
1007
+ def save_operator_loc: (_Repository repository) -> void
1008
+
891
1009
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
892
1010
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathAndWriteNode
893
1011
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -909,6 +1027,9 @@ module Prism
909
1027
  attr_reader delimiter_loc: Location
910
1028
  attr_reader name_loc: Location
911
1029
 
1030
+ def save_delimiter_loc: (_Repository repository) -> void
1031
+ def save_name_loc: (_Repository repository) -> void
1032
+
912
1033
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
913
1034
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathNode
914
1035
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
@@ -930,6 +1051,8 @@ module Prism
930
1051
  attr_reader value: Prism::node
931
1052
  attr_reader binary_operator: Symbol
932
1053
 
1054
+ def save_binary_operator_loc: (_Repository repository) -> void
1055
+
933
1056
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location binary_operator_loc, Prism::node value, Symbol binary_operator) -> void
934
1057
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantPathOperatorWriteNode
935
1058
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol }
@@ -949,6 +1072,8 @@ module Prism
949
1072
  attr_reader operator_loc: Location
950
1073
  attr_reader value: Prism::node
951
1074
 
1075
+ def save_operator_loc: (_Repository repository) -> void
1076
+
952
1077
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
953
1078
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathOrWriteNode
954
1079
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -970,6 +1095,9 @@ module Prism
970
1095
  attr_reader delimiter_loc: Location
971
1096
  attr_reader name_loc: Location
972
1097
 
1098
+ def save_delimiter_loc: (_Repository repository) -> void
1099
+ def save_name_loc: (_Repository repository) -> void
1100
+
973
1101
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
974
1102
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathTargetNode
975
1103
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
@@ -996,6 +1124,8 @@ module Prism
996
1124
  attr_reader operator_loc: Location
997
1125
  attr_reader value: Prism::node
998
1126
 
1127
+ def save_operator_loc: (_Repository repository) -> void
1128
+
999
1129
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
1000
1130
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathWriteNode
1001
1131
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -1014,6 +1144,7 @@ module Prism
1014
1144
 
1015
1145
  attr_reader name: Symbol
1016
1146
 
1147
+
1017
1148
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1018
1149
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode
1019
1150
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1031,6 +1162,7 @@ module Prism
1031
1162
 
1032
1163
  attr_reader name: Symbol
1033
1164
 
1165
+
1034
1166
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1035
1167
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode
1036
1168
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1051,6 +1183,9 @@ module Prism
1051
1183
  attr_reader value: Prism::node
1052
1184
  attr_reader operator_loc: Location
1053
1185
 
1186
+ def save_name_loc: (_Repository repository) -> void
1187
+ def save_operator_loc: (_Repository repository) -> void
1188
+
1054
1189
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1055
1190
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ConstantWriteNode
1056
1191
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1081,6 +1216,14 @@ module Prism
1081
1216
  attr_reader equal_loc: Location?
1082
1217
  attr_reader end_keyword_loc: Location?
1083
1218
 
1219
+ def save_name_loc: (_Repository repository) -> void
1220
+ def save_def_keyword_loc: (_Repository repository) -> void
1221
+ def save_operator_loc: (_Repository repository) -> void
1222
+ def save_lparen_loc: (_Repository repository) -> void
1223
+ def save_rparen_loc: (_Repository repository) -> void
1224
+ def save_equal_loc: (_Repository repository) -> void
1225
+ def save_end_keyword_loc: (_Repository repository) -> void
1226
+
1084
1227
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node? receiver, ParametersNode? parameters, StatementsNode | BeginNode | nil 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
1085
1228
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?receiver: Prism::node?, ?parameters: ParametersNode?, ?body: StatementsNode | BeginNode | nil, ?locals: Array[Symbol], ?def_keyword_loc: Location, ?operator_loc: Location?, ?lparen_loc: Location?, ?rparen_loc: Location?, ?equal_loc: Location?, ?end_keyword_loc: Location?) -> DefNode
1086
1229
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, receiver: Prism::node?, parameters: ParametersNode?, body: StatementsNode | BeginNode | nil, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location? }
@@ -1107,6 +1250,10 @@ module Prism
1107
1250
  attr_reader rparen_loc: Location?
1108
1251
  attr_reader keyword_loc: Location
1109
1252
 
1253
+ def save_lparen_loc: (_Repository repository) -> void
1254
+ def save_rparen_loc: (_Repository repository) -> void
1255
+ def save_keyword_loc: (_Repository repository) -> void
1256
+
1110
1257
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? lparen_loc, Prism::node value, Location? rparen_loc, Location keyword_loc) -> void
1111
1258
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location) -> DefinedNode
1112
1259
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lparen_loc: Location?, value: Prism::node, rparen_loc: Location?, keyword_loc: Location }
@@ -1129,6 +1276,9 @@ module Prism
1129
1276
  attr_reader statements: StatementsNode?
1130
1277
  attr_reader end_keyword_loc: Location?
1131
1278
 
1279
+ def save_else_keyword_loc: (_Repository repository) -> void
1280
+ def save_end_keyword_loc: (_Repository repository) -> void
1281
+
1132
1282
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc) -> void
1133
1283
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?) -> ElseNode
1134
1284
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location? }
@@ -1150,6 +1300,9 @@ module Prism
1150
1300
  attr_reader statements: StatementsNode?
1151
1301
  attr_reader closing_loc: Location
1152
1302
 
1303
+ def save_opening_loc: (_Repository repository) -> void
1304
+ def save_closing_loc: (_Repository repository) -> void
1305
+
1153
1306
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, StatementsNode? statements, Location closing_loc) -> void
1154
1307
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location) -> EmbeddedStatementsNode
1155
1308
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, statements: StatementsNode?, closing_loc: Location }
@@ -1170,6 +1323,8 @@ module Prism
1170
1323
  attr_reader operator_loc: Location
1171
1324
  attr_reader variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode
1172
1325
 
1326
+ def save_operator_loc: (_Repository repository) -> void
1327
+
1173
1328
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode variable) -> void
1174
1329
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode) -> EmbeddedVariableNode
1175
1330
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode }
@@ -1194,6 +1349,9 @@ module Prism
1194
1349
  attr_reader statements: StatementsNode?
1195
1350
  attr_reader end_keyword_loc: Location
1196
1351
 
1352
+ def save_ensure_keyword_loc: (_Repository repository) -> void
1353
+ def save_end_keyword_loc: (_Repository repository) -> void
1354
+
1197
1355
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc) -> void
1198
1356
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location) -> EnsureNode
1199
1357
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location }
@@ -1212,6 +1370,7 @@ module Prism
1212
1370
  include _Node
1213
1371
 
1214
1372
 
1373
+
1215
1374
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1216
1375
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode
1217
1376
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1230,19 +1389,25 @@ module Prism
1230
1389
  #
1231
1390
  # foo in Foo(*bar, baz, *qux)
1232
1391
  # ^^^^^^^^^^^^^^^^^^^^
1392
+ #
1393
+ # foo => *bar, baz, *qux
1394
+ # ^^^^^^^^^^^^^^^
1233
1395
  class FindPatternNode < Node
1234
1396
  include _Node
1235
1397
 
1236
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
1398
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
1237
1399
  attr_reader left: SplatNode
1238
1400
  attr_reader requireds: Array[Prism::node]
1239
1401
  attr_reader right: SplatNode | MissingNode
1240
1402
  attr_reader opening_loc: Location?
1241
1403
  attr_reader closing_loc: Location?
1242
1404
 
1243
- def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantReadNode | ConstantPathNode | nil constant, SplatNode left, Array[Prism::node] requireds, SplatNode | MissingNode right, Location? opening_loc, Location? closing_loc) -> void
1244
- def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantReadNode | ConstantPathNode | nil, ?left: SplatNode, ?requireds: Array[Prism::node], ?right: SplatNode | MissingNode, ?opening_loc: Location?, ?closing_loc: Location?) -> FindPatternNode
1245
- def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantReadNode | ConstantPathNode | nil, left: SplatNode, requireds: Array[Prism::node], right: SplatNode | MissingNode, opening_loc: Location?, closing_loc: Location? }
1405
+ def save_opening_loc: (_Repository repository) -> void
1406
+ def save_closing_loc: (_Repository repository) -> void
1407
+
1408
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode | ConstantReadNode | nil constant, SplatNode left, Array[Prism::node] requireds, SplatNode | MissingNode right, Location? opening_loc, Location? closing_loc) -> void
1409
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantPathNode | ConstantReadNode | nil, ?left: SplatNode, ?requireds: Array[Prism::node], ?right: SplatNode | MissingNode, ?opening_loc: Location?, ?closing_loc: Location?) -> FindPatternNode
1410
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantPathNode | ConstantReadNode | nil, left: SplatNode, requireds: Array[Prism::node], right: SplatNode | MissingNode, opening_loc: Location?, closing_loc: Location? }
1246
1411
  def opening: () -> String?
1247
1412
  def closing: () -> String?
1248
1413
  def type: () -> :find_pattern_node
@@ -1263,6 +1428,8 @@ module Prism
1263
1428
  attr_reader right: Prism::node?
1264
1429
  attr_reader operator_loc: Location
1265
1430
 
1431
+ def save_operator_loc: (_Repository repository) -> void
1432
+
1266
1433
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
1267
1434
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> FlipFlopNode
1268
1435
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
@@ -1281,6 +1448,7 @@ module Prism
1281
1448
 
1282
1449
  attr_reader value: Float
1283
1450
 
1451
+
1284
1452
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Float value) -> void
1285
1453
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode
1286
1454
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Float }
@@ -1304,6 +1472,11 @@ module Prism
1304
1472
  attr_reader do_keyword_loc: Location?
1305
1473
  attr_reader end_keyword_loc: Location
1306
1474
 
1475
+ def save_for_keyword_loc: (_Repository repository) -> void
1476
+ def save_in_keyword_loc: (_Repository repository) -> void
1477
+ def save_do_keyword_loc: (_Repository repository) -> void
1478
+ def save_end_keyword_loc: (_Repository repository) -> void
1479
+
1307
1480
  def initialize: (Source source, Integer node_id, Location location, Integer flags, LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode index, Prism::node collection, StatementsNode? statements, Location for_keyword_loc, Location in_keyword_loc, Location? do_keyword_loc, Location end_keyword_loc) -> void
1308
1481
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?index: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode, ?collection: Prism::node, ?statements: StatementsNode?, ?for_keyword_loc: Location, ?in_keyword_loc: Location, ?do_keyword_loc: Location?, ?end_keyword_loc: Location) -> ForNode
1309
1482
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, index: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode, collection: Prism::node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location }
@@ -1326,6 +1499,7 @@ module Prism
1326
1499
  include _Node
1327
1500
 
1328
1501
 
1502
+
1329
1503
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1330
1504
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode
1331
1505
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1343,6 +1517,7 @@ module Prism
1343
1517
  include _Node
1344
1518
 
1345
1519
 
1520
+
1346
1521
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1347
1522
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode
1348
1523
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1360,6 +1535,7 @@ module Prism
1360
1535
 
1361
1536
  attr_reader block: BlockNode?
1362
1537
 
1538
+
1363
1539
  def initialize: (Source source, Integer node_id, Location location, Integer flags, BlockNode? block) -> void
1364
1540
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode
1365
1541
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, block: BlockNode? }
@@ -1380,6 +1556,9 @@ module Prism
1380
1556
  attr_reader operator_loc: Location
1381
1557
  attr_reader value: Prism::node
1382
1558
 
1559
+ def save_name_loc: (_Repository repository) -> void
1560
+ def save_operator_loc: (_Repository repository) -> void
1561
+
1383
1562
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1384
1563
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableAndWriteNode
1385
1564
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1402,6 +1581,9 @@ module Prism
1402
1581
  attr_reader value: Prism::node
1403
1582
  attr_reader binary_operator: Symbol
1404
1583
 
1584
+ def save_name_loc: (_Repository repository) -> void
1585
+ def save_binary_operator_loc: (_Repository repository) -> void
1586
+
1405
1587
  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
1406
1588
  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
1407
1589
  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 }
@@ -1422,6 +1604,9 @@ module Prism
1422
1604
  attr_reader operator_loc: Location
1423
1605
  attr_reader value: Prism::node
1424
1606
 
1607
+ def save_name_loc: (_Repository repository) -> void
1608
+ def save_operator_loc: (_Repository repository) -> void
1609
+
1425
1610
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1426
1611
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableOrWriteNode
1427
1612
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1440,6 +1625,7 @@ module Prism
1440
1625
 
1441
1626
  attr_reader name: Symbol
1442
1627
 
1628
+
1443
1629
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1444
1630
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode
1445
1631
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1457,6 +1643,7 @@ module Prism
1457
1643
 
1458
1644
  attr_reader name: Symbol
1459
1645
 
1646
+
1460
1647
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1461
1648
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode
1462
1649
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1477,6 +1664,9 @@ module Prism
1477
1664
  attr_reader value: Prism::node
1478
1665
  attr_reader operator_loc: Location
1479
1666
 
1667
+ def save_name_loc: (_Repository repository) -> void
1668
+ def save_operator_loc: (_Repository repository) -> void
1669
+
1480
1670
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1481
1671
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> GlobalVariableWriteNode
1482
1672
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1497,6 +1687,9 @@ module Prism
1497
1687
  attr_reader elements: Array[AssocNode | AssocSplatNode]
1498
1688
  attr_reader closing_loc: Location
1499
1689
 
1690
+ def save_opening_loc: (_Repository repository) -> void
1691
+ def save_closing_loc: (_Repository repository) -> void
1692
+
1500
1693
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[AssocNode | AssocSplatNode] elements, Location closing_loc) -> void
1501
1694
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location) -> HashNode
1502
1695
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location }
@@ -1514,18 +1707,27 @@ module Prism
1514
1707
  #
1515
1708
  # foo => { a: 1, b: 2, **c }
1516
1709
  # ^^^^^^^^^^^^^^^^^^^
1710
+ #
1711
+ # foo => Bar[a: 1, b: 2]
1712
+ # ^^^^^^^^^^^^^^^
1713
+ #
1714
+ # foo in { a: 1, b: 2 }
1715
+ # ^^^^^^^^^^^^^^
1517
1716
  class HashPatternNode < Node
1518
1717
  include _Node
1519
1718
 
1520
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
1719
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
1521
1720
  attr_reader elements: Array[AssocNode]
1522
1721
  attr_reader rest: AssocSplatNode | NoKeywordsParameterNode | nil
1523
1722
  attr_reader opening_loc: Location?
1524
1723
  attr_reader closing_loc: Location?
1525
1724
 
1526
- def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantReadNode | ConstantPathNode | nil constant, Array[AssocNode] elements, AssocSplatNode | NoKeywordsParameterNode | nil rest, Location? opening_loc, Location? closing_loc) -> void
1527
- def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantReadNode | ConstantPathNode | nil, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?) -> HashPatternNode
1528
- def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantReadNode | ConstantPathNode | nil, elements: Array[AssocNode], rest: AssocSplatNode | NoKeywordsParameterNode | nil, opening_loc: Location?, closing_loc: Location? }
1725
+ def save_opening_loc: (_Repository repository) -> void
1726
+ def save_closing_loc: (_Repository repository) -> void
1727
+
1728
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode | ConstantReadNode | nil constant, Array[AssocNode] elements, AssocSplatNode | NoKeywordsParameterNode | nil rest, Location? opening_loc, Location? closing_loc) -> void
1729
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantPathNode | ConstantReadNode | nil, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?) -> HashPatternNode
1730
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantPathNode | ConstantReadNode | nil, elements: Array[AssocNode], rest: AssocSplatNode | NoKeywordsParameterNode | nil, opening_loc: Location?, closing_loc: Location? }
1529
1731
  def opening: () -> String?
1530
1732
  def closing: () -> String?
1531
1733
  def type: () -> :hash_pattern_node
@@ -1553,6 +1755,10 @@ module Prism
1553
1755
  attr_reader subsequent: ElseNode | IfNode | nil
1554
1756
  attr_reader end_keyword_loc: Location?
1555
1757
 
1758
+ def save_if_keyword_loc: (_Repository repository) -> void
1759
+ def save_then_keyword_loc: (_Repository repository) -> void
1760
+ def save_end_keyword_loc: (_Repository repository) -> void
1761
+
1556
1762
  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
1557
1763
  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
1558
1764
  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? }
@@ -1573,6 +1779,7 @@ module Prism
1573
1779
 
1574
1780
  attr_reader numeric: FloatNode | IntegerNode | RationalNode
1575
1781
 
1782
+
1576
1783
  def initialize: (Source source, Integer node_id, Location location, Integer flags, FloatNode | IntegerNode | RationalNode numeric) -> void
1577
1784
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numeric: FloatNode | IntegerNode | RationalNode) -> ImaginaryNode
1578
1785
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numeric: FloatNode | IntegerNode | RationalNode }
@@ -1596,6 +1803,7 @@ module Prism
1596
1803
 
1597
1804
  attr_reader value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode
1598
1805
 
1806
+
1599
1807
  def initialize: (Source source, Integer node_id, Location location, Integer flags, LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode value) -> void
1600
1808
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode) -> ImplicitNode
1601
1809
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode }
@@ -1621,6 +1829,7 @@ module Prism
1621
1829
  include _Node
1622
1830
 
1623
1831
 
1832
+
1624
1833
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1625
1834
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode
1626
1835
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1641,6 +1850,9 @@ module Prism
1641
1850
  attr_reader in_loc: Location
1642
1851
  attr_reader then_loc: Location?
1643
1852
 
1853
+ def save_in_loc: (_Repository repository) -> void
1854
+ def save_then_loc: (_Repository repository) -> void
1855
+
1644
1856
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node pattern, StatementsNode? statements, Location in_loc, Location? then_loc) -> void
1645
1857
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?) -> InNode
1646
1858
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, pattern: Prism::node, statements: StatementsNode?, in_loc: Location, then_loc: Location? }
@@ -1672,6 +1884,11 @@ module Prism
1672
1884
  attr_reader operator_loc: Location
1673
1885
  attr_reader value: Prism::node
1674
1886
 
1887
+ def save_call_operator_loc: (_Repository repository) -> void
1888
+ def save_opening_loc: (_Repository repository) -> void
1889
+ def save_closing_loc: (_Repository repository) -> void
1890
+ def save_operator_loc: (_Repository repository) -> void
1891
+
1675
1892
  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, BlockArgumentNode? block, Location operator_loc, Prism::node value) -> void
1676
1893
  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: BlockArgumentNode?, ?operator_loc: Location, ?value: Prism::node) -> IndexAndWriteNode
1677
1894
  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: BlockArgumentNode?, operator_loc: Location, value: Prism::node }
@@ -1706,6 +1923,11 @@ module Prism
1706
1923
  attr_reader binary_operator_loc: Location
1707
1924
  attr_reader value: Prism::node
1708
1925
 
1926
+ def save_call_operator_loc: (_Repository repository) -> void
1927
+ def save_opening_loc: (_Repository repository) -> void
1928
+ def save_closing_loc: (_Repository repository) -> void
1929
+ def save_binary_operator_loc: (_Repository repository) -> void
1930
+
1709
1931
  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, BlockArgumentNode? block, Symbol binary_operator, Location binary_operator_loc, Prism::node value) -> void
1710
1932
  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: BlockArgumentNode?, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node) -> IndexOperatorWriteNode
1711
1933
  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: BlockArgumentNode?, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node }
@@ -1738,6 +1960,11 @@ module Prism
1738
1960
  attr_reader operator_loc: Location
1739
1961
  attr_reader value: Prism::node
1740
1962
 
1963
+ def save_call_operator_loc: (_Repository repository) -> void
1964
+ def save_opening_loc: (_Repository repository) -> void
1965
+ def save_closing_loc: (_Repository repository) -> void
1966
+ def save_operator_loc: (_Repository repository) -> void
1967
+
1741
1968
  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, BlockArgumentNode? block, Location operator_loc, Prism::node value) -> void
1742
1969
  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: BlockArgumentNode?, ?operator_loc: Location, ?value: Prism::node) -> IndexOrWriteNode
1743
1970
  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: BlockArgumentNode?, operator_loc: Location, value: Prism::node }
@@ -1776,6 +2003,9 @@ module Prism
1776
2003
  attr_reader closing_loc: Location
1777
2004
  attr_reader block: BlockArgumentNode?
1778
2005
 
2006
+ def save_opening_loc: (_Repository repository) -> void
2007
+ def save_closing_loc: (_Repository repository) -> void
2008
+
1779
2009
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node receiver, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, BlockArgumentNode? block) -> void
1780
2010
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: BlockArgumentNode?) -> IndexTargetNode
1781
2011
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: BlockArgumentNode? }
@@ -1798,6 +2028,9 @@ module Prism
1798
2028
  attr_reader operator_loc: Location
1799
2029
  attr_reader value: Prism::node
1800
2030
 
2031
+ def save_name_loc: (_Repository repository) -> void
2032
+ def save_operator_loc: (_Repository repository) -> void
2033
+
1801
2034
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1802
2035
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableAndWriteNode
1803
2036
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1820,6 +2053,9 @@ module Prism
1820
2053
  attr_reader value: Prism::node
1821
2054
  attr_reader binary_operator: Symbol
1822
2055
 
2056
+ def save_name_loc: (_Repository repository) -> void
2057
+ def save_binary_operator_loc: (_Repository repository) -> void
2058
+
1823
2059
  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
1824
2060
  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
1825
2061
  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 }
@@ -1840,6 +2076,9 @@ module Prism
1840
2076
  attr_reader operator_loc: Location
1841
2077
  attr_reader value: Prism::node
1842
2078
 
2079
+ def save_name_loc: (_Repository repository) -> void
2080
+ def save_operator_loc: (_Repository repository) -> void
2081
+
1843
2082
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1844
2083
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableOrWriteNode
1845
2084
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1858,6 +2097,7 @@ module Prism
1858
2097
 
1859
2098
  attr_reader name: Symbol
1860
2099
 
2100
+
1861
2101
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1862
2102
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode
1863
2103
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1875,6 +2115,7 @@ module Prism
1875
2115
 
1876
2116
  attr_reader name: Symbol
1877
2117
 
2118
+
1878
2119
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1879
2120
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode
1880
2121
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1895,6 +2136,9 @@ module Prism
1895
2136
  attr_reader value: Prism::node
1896
2137
  attr_reader operator_loc: Location
1897
2138
 
2139
+ def save_name_loc: (_Repository repository) -> void
2140
+ def save_operator_loc: (_Repository repository) -> void
2141
+
1898
2142
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1899
2143
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> InstanceVariableWriteNode
1900
2144
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1918,6 +2162,7 @@ module Prism
1918
2162
 
1919
2163
  attr_reader value: Integer
1920
2164
 
2165
+
1921
2166
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer value) -> void
1922
2167
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Integer) -> IntegerNode
1923
2168
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Integer }
@@ -1949,6 +2194,9 @@ module Prism
1949
2194
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1950
2195
  attr_reader closing_loc: Location
1951
2196
 
2197
+ def save_opening_loc: (_Repository repository) -> void
2198
+ def save_closing_loc: (_Repository repository) -> void
2199
+
1952
2200
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1953
2201
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedMatchLastLineNode
1954
2202
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -1982,6 +2230,9 @@ module Prism
1982
2230
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1983
2231
  attr_reader closing_loc: Location
1984
2232
 
2233
+ def save_opening_loc: (_Repository repository) -> void
2234
+ def save_closing_loc: (_Repository repository) -> void
2235
+
1985
2236
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1986
2237
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedRegularExpressionNode
1987
2238
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -2003,12 +2254,15 @@ module Prism
2003
2254
  def mutable?: () -> bool
2004
2255
 
2005
2256
  attr_reader opening_loc: Location?
2006
- attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode]
2257
+ attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode]
2007
2258
  attr_reader closing_loc: Location?
2008
2259
 
2009
- def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode] parts, Location? closing_loc) -> void
2010
- def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], ?closing_loc: Location?) -> InterpolatedStringNode
2011
- def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], closing_loc: Location? }
2260
+ def save_opening_loc: (_Repository repository) -> void
2261
+ def save_closing_loc: (_Repository repository) -> void
2262
+
2263
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode] parts, Location? closing_loc) -> void
2264
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode], ?closing_loc: Location?) -> InterpolatedStringNode
2265
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode], closing_loc: Location? }
2012
2266
  def opening: () -> String?
2013
2267
  def closing: () -> String?
2014
2268
  def type: () -> :interpolated_string_node
@@ -2027,6 +2281,9 @@ module Prism
2027
2281
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2028
2282
  attr_reader closing_loc: Location?
2029
2283
 
2284
+ def save_opening_loc: (_Repository repository) -> void
2285
+ def save_closing_loc: (_Repository repository) -> void
2286
+
2030
2287
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location? closing_loc) -> void
2031
2288
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?) -> InterpolatedSymbolNode
2032
2289
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location? }
@@ -2048,6 +2305,9 @@ module Prism
2048
2305
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2049
2306
  attr_reader closing_loc: Location
2050
2307
 
2308
+ def save_opening_loc: (_Repository repository) -> void
2309
+ def save_closing_loc: (_Repository repository) -> void
2310
+
2051
2311
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
2052
2312
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedXStringNode
2053
2313
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -2066,6 +2326,7 @@ module Prism
2066
2326
  include _Node
2067
2327
 
2068
2328
 
2329
+
2069
2330
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2070
2331
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode
2071
2332
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2082,6 +2343,7 @@ module Prism
2082
2343
  include _Node
2083
2344
 
2084
2345
 
2346
+
2085
2347
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2086
2348
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode
2087
2349
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2101,6 +2363,7 @@ module Prism
2101
2363
 
2102
2364
  attr_reader elements: Array[AssocNode | AssocSplatNode]
2103
2365
 
2366
+
2104
2367
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[AssocNode | AssocSplatNode] elements) -> void
2105
2368
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode]) -> KeywordHashNode
2106
2369
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[AssocNode | AssocSplatNode] }
@@ -2123,6 +2386,9 @@ module Prism
2123
2386
  attr_reader name_loc: Location?
2124
2387
  attr_reader operator_loc: Location
2125
2388
 
2389
+ def save_name_loc: (_Repository repository) -> void
2390
+ def save_operator_loc: (_Repository repository) -> void
2391
+
2126
2392
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2127
2393
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> KeywordRestParameterNode
2128
2394
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -2146,6 +2412,10 @@ module Prism
2146
2412
  attr_reader parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil
2147
2413
  attr_reader body: StatementsNode | BeginNode | nil
2148
2414
 
2415
+ def save_operator_loc: (_Repository repository) -> void
2416
+ def save_opening_loc: (_Repository repository) -> void
2417
+ def save_closing_loc: (_Repository repository) -> void
2418
+
2149
2419
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location operator_loc, Location opening_loc, Location closing_loc, BlockParametersNode | NumberedParametersNode | ItParametersNode | nil parameters, StatementsNode | BeginNode | nil body) -> void
2150
2420
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?operator_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, ?body: StatementsNode | BeginNode | nil) -> LambdaNode
2151
2421
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, body: StatementsNode | BeginNode | nil }
@@ -2170,6 +2440,9 @@ module Prism
2170
2440
  attr_reader name: Symbol
2171
2441
  attr_reader depth: Integer
2172
2442
 
2443
+ def save_name_loc: (_Repository repository) -> void
2444
+ def save_operator_loc: (_Repository repository) -> void
2445
+
2173
2446
  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
2174
2447
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableAndWriteNode
2175
2448
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer }
@@ -2193,6 +2466,9 @@ module Prism
2193
2466
  attr_reader binary_operator: Symbol
2194
2467
  attr_reader depth: Integer
2195
2468
 
2469
+ def save_name_loc: (_Repository repository) -> void
2470
+ def save_binary_operator_loc: (_Repository repository) -> void
2471
+
2196
2472
  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
2197
2473
  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
2198
2474
  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 }
@@ -2214,6 +2490,9 @@ module Prism
2214
2490
  attr_reader name: Symbol
2215
2491
  attr_reader depth: Integer
2216
2492
 
2493
+ def save_name_loc: (_Repository repository) -> void
2494
+ def save_operator_loc: (_Repository repository) -> void
2495
+
2217
2496
  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
2218
2497
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableOrWriteNode
2219
2498
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer }
@@ -2233,6 +2512,7 @@ module Prism
2233
2512
  attr_reader name: Symbol
2234
2513
  attr_reader depth: Integer
2235
2514
 
2515
+
2236
2516
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2237
2517
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableReadNode
2238
2518
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
@@ -2245,12 +2525,16 @@ module Prism
2245
2525
  #
2246
2526
  # foo, bar = baz
2247
2527
  # ^^^ ^^^
2528
+ #
2529
+ # foo => baz
2530
+ # ^^^
2248
2531
  class LocalVariableTargetNode < Node
2249
2532
  include _Node
2250
2533
 
2251
2534
  attr_reader name: Symbol
2252
2535
  attr_reader depth: Integer
2253
2536
 
2537
+
2254
2538
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2255
2539
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableTargetNode
2256
2540
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
@@ -2272,6 +2556,9 @@ module Prism
2272
2556
  attr_reader value: Prism::node
2273
2557
  attr_reader operator_loc: Location
2274
2558
 
2559
+ def save_name_loc: (_Repository repository) -> void
2560
+ def save_operator_loc: (_Repository repository) -> void
2561
+
2275
2562
  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
2276
2563
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> LocalVariableWriteNode
2277
2564
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -2305,6 +2592,10 @@ module Prism
2305
2592
  attr_reader closing_loc: Location
2306
2593
  attr_reader unescaped: String
2307
2594
 
2595
+ def save_opening_loc: (_Repository repository) -> void
2596
+ def save_content_loc: (_Repository repository) -> void
2597
+ def save_closing_loc: (_Repository repository) -> void
2598
+
2308
2599
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2309
2600
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> MatchLastLineNode
2310
2601
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -2327,6 +2618,8 @@ module Prism
2327
2618
  attr_reader pattern: Prism::node
2328
2619
  attr_reader operator_loc: Location
2329
2620
 
2621
+ def save_operator_loc: (_Repository repository) -> void
2622
+
2330
2623
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2331
2624
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchPredicateNode
2332
2625
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
@@ -2347,6 +2640,8 @@ module Prism
2347
2640
  attr_reader pattern: Prism::node
2348
2641
  attr_reader operator_loc: Location
2349
2642
 
2643
+ def save_operator_loc: (_Repository repository) -> void
2644
+
2350
2645
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2351
2646
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchRequiredNode
2352
2647
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
@@ -2366,6 +2661,7 @@ module Prism
2366
2661
  attr_reader call: CallNode
2367
2662
  attr_reader targets: Array[LocalVariableTargetNode]
2368
2663
 
2664
+
2369
2665
  def initialize: (Source source, Integer node_id, Location location, Integer flags, CallNode call, Array[LocalVariableTargetNode] targets) -> void
2370
2666
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) -> MatchWriteNode
2371
2667
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, call: CallNode, targets: Array[LocalVariableTargetNode] }
@@ -2379,6 +2675,7 @@ module Prism
2379
2675
  include _Node
2380
2676
 
2381
2677
 
2678
+
2382
2679
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2383
2680
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode
2384
2681
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2401,6 +2698,9 @@ module Prism
2401
2698
  attr_reader end_keyword_loc: Location
2402
2699
  attr_reader name: Symbol
2403
2700
 
2701
+ def save_module_keyword_loc: (_Repository repository) -> void
2702
+ def save_end_keyword_loc: (_Repository repository) -> void
2703
+
2404
2704
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location module_keyword_loc, ConstantReadNode | ConstantPathNode | MissingNode constant_path, StatementsNode | BeginNode | nil body, Location end_keyword_loc, Symbol name) -> void
2405
2705
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?module_keyword_loc: Location, ?constant_path: ConstantReadNode | ConstantPathNode | MissingNode, ?body: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location, ?name: Symbol) -> ModuleNode
2406
2706
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], module_keyword_loc: Location, constant_path: ConstantReadNode | ConstantPathNode | MissingNode, body: StatementsNode | BeginNode | nil, end_keyword_loc: Location, name: Symbol }
@@ -2429,6 +2729,9 @@ module Prism
2429
2729
  attr_reader lparen_loc: Location?
2430
2730
  attr_reader rparen_loc: Location?
2431
2731
 
2732
+ def save_lparen_loc: (_Repository repository) -> void
2733
+ def save_rparen_loc: (_Repository repository) -> void
2734
+
2432
2735
  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 | NumberedReferenceReadNode] rights, Location? lparen_loc, Location? rparen_loc) -> void
2433
2736
  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 | NumberedReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?) -> MultiTargetNode
2434
2737
  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 | NumberedReferenceReadNode], lparen_loc: Location?, rparen_loc: Location? }
@@ -2454,6 +2757,10 @@ module Prism
2454
2757
  attr_reader operator_loc: Location
2455
2758
  attr_reader value: Prism::node
2456
2759
 
2760
+ def save_lparen_loc: (_Repository repository) -> void
2761
+ def save_rparen_loc: (_Repository repository) -> void
2762
+ def save_operator_loc: (_Repository repository) -> void
2763
+
2457
2764
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode] lefts, ImplicitRestNode | SplatNode | nil rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode] rights, Location? lparen_loc, Location? rparen_loc, Location operator_loc, Prism::node value) -> void
2458
2765
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?operator_loc: Location, ?value: Prism::node) -> MultiWriteNode
2459
2766
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode], rest: ImplicitRestNode | SplatNode | nil, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Prism::node }
@@ -2475,6 +2782,8 @@ module Prism
2475
2782
  attr_reader arguments: ArgumentsNode?
2476
2783
  attr_reader keyword_loc: Location
2477
2784
 
2785
+ def save_keyword_loc: (_Repository repository) -> void
2786
+
2478
2787
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
2479
2788
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> NextNode
2480
2789
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
@@ -2492,6 +2801,7 @@ module Prism
2492
2801
  include _Node
2493
2802
 
2494
2803
 
2804
+
2495
2805
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2496
2806
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode
2497
2807
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2511,6 +2821,9 @@ module Prism
2511
2821
  attr_reader operator_loc: Location
2512
2822
  attr_reader keyword_loc: Location
2513
2823
 
2824
+ def save_operator_loc: (_Repository repository) -> void
2825
+ def save_keyword_loc: (_Repository repository) -> void
2826
+
2514
2827
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Location keyword_loc) -> void
2515
2828
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?keyword_loc: Location) -> NoKeywordsParameterNode
2516
2829
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, keyword_loc: Location }
@@ -2530,6 +2843,7 @@ module Prism
2530
2843
 
2531
2844
  attr_reader maximum: Integer
2532
2845
 
2846
+
2533
2847
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer maximum) -> void
2534
2848
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode
2535
2849
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, maximum: Integer }
@@ -2547,6 +2861,7 @@ module Prism
2547
2861
 
2548
2862
  attr_reader number: Integer
2549
2863
 
2864
+
2550
2865
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer number) -> void
2551
2866
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode
2552
2867
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, number: Integer }
@@ -2569,6 +2884,8 @@ module Prism
2569
2884
  attr_reader name_loc: Location
2570
2885
  attr_reader value: Prism::node
2571
2886
 
2887
+ def save_name_loc: (_Repository repository) -> void
2888
+
2572
2889
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value) -> void
2573
2890
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node) -> OptionalKeywordParameterNode
2574
2891
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node }
@@ -2592,6 +2909,9 @@ module Prism
2592
2909
  attr_reader operator_loc: Location
2593
2910
  attr_reader value: Prism::node
2594
2911
 
2912
+ def save_name_loc: (_Repository repository) -> void
2913
+ def save_operator_loc: (_Repository repository) -> void
2914
+
2595
2915
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
2596
2916
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> OptionalParameterNode
2597
2917
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -2612,6 +2932,8 @@ module Prism
2612
2932
  attr_reader right: Prism::node
2613
2933
  attr_reader operator_loc: Location
2614
2934
 
2935
+ def save_operator_loc: (_Repository repository) -> void
2936
+
2615
2937
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
2616
2938
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> OrNode
2617
2939
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -2637,6 +2959,7 @@ module Prism
2637
2959
  attr_reader keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil
2638
2960
  attr_reader block: BlockParameterNode?
2639
2961
 
2962
+
2640
2963
  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
2641
2964
  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
2642
2965
  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? }
@@ -2652,10 +2975,15 @@ module Prism
2652
2975
  class ParenthesesNode < Node
2653
2976
  include _Node
2654
2977
 
2978
+ def multiple_statements?: () -> bool
2979
+
2655
2980
  attr_reader body: Prism::node?
2656
2981
  attr_reader opening_loc: Location
2657
2982
  attr_reader closing_loc: Location
2658
2983
 
2984
+ def save_opening_loc: (_Repository repository) -> void
2985
+ def save_closing_loc: (_Repository repository) -> void
2986
+
2659
2987
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? body, Location opening_loc, Location closing_loc) -> void
2660
2988
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location) -> ParenthesesNode
2661
2989
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Prism::node?, opening_loc: Location, closing_loc: Location }
@@ -2678,6 +3006,10 @@ module Prism
2678
3006
  attr_reader lparen_loc: Location
2679
3007
  attr_reader rparen_loc: Location
2680
3008
 
3009
+ def save_operator_loc: (_Repository repository) -> void
3010
+ def save_lparen_loc: (_Repository repository) -> void
3011
+ def save_rparen_loc: (_Repository repository) -> void
3012
+
2681
3013
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location operator_loc, Location lparen_loc, Location rparen_loc) -> void
2682
3014
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location) -> PinnedExpressionNode
2683
3015
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location }
@@ -2699,6 +3031,8 @@ module Prism
2699
3031
  attr_reader variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode
2700
3032
  attr_reader operator_loc: Location
2701
3033
 
3034
+ def save_operator_loc: (_Repository repository) -> void
3035
+
2702
3036
  def initialize: (Source source, Integer node_id, Location location, Integer flags, LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode variable, Location operator_loc) -> void
2703
3037
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, ?operator_loc: Location) -> PinnedVariableNode
2704
3038
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, operator_loc: Location }
@@ -2720,6 +3054,10 @@ module Prism
2720
3054
  attr_reader opening_loc: Location
2721
3055
  attr_reader closing_loc: Location
2722
3056
 
3057
+ def save_keyword_loc: (_Repository repository) -> void
3058
+ def save_opening_loc: (_Repository repository) -> void
3059
+ def save_closing_loc: (_Repository repository) -> void
3060
+
2723
3061
  def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2724
3062
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PostExecutionNode
2725
3063
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
@@ -2743,6 +3081,10 @@ module Prism
2743
3081
  attr_reader opening_loc: Location
2744
3082
  attr_reader closing_loc: Location
2745
3083
 
3084
+ def save_keyword_loc: (_Repository repository) -> void
3085
+ def save_opening_loc: (_Repository repository) -> void
3086
+ def save_closing_loc: (_Repository repository) -> void
3087
+
2746
3088
  def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2747
3089
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PreExecutionNode
2748
3090
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
@@ -2761,6 +3103,7 @@ module Prism
2761
3103
  attr_reader locals: Array[Symbol]
2762
3104
  attr_reader statements: StatementsNode
2763
3105
 
3106
+
2764
3107
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, StatementsNode statements) -> void
2765
3108
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?statements: StatementsNode) -> ProgramNode
2766
3109
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], statements: StatementsNode }
@@ -2785,6 +3128,8 @@ module Prism
2785
3128
  attr_reader right: Prism::node?
2786
3129
  attr_reader operator_loc: Location
2787
3130
 
3131
+ def save_operator_loc: (_Repository repository) -> void
3132
+
2788
3133
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
2789
3134
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> RangeNode
2790
3135
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
@@ -2809,6 +3154,7 @@ module Prism
2809
3154
  attr_reader numerator: Integer
2810
3155
  attr_reader denominator: Integer
2811
3156
 
3157
+
2812
3158
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer numerator, Integer denominator) -> void
2813
3159
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numerator: Integer, ?denominator: Integer) -> RationalNode
2814
3160
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numerator: Integer, denominator: Integer }
@@ -2825,6 +3171,7 @@ module Prism
2825
3171
  include _Node
2826
3172
 
2827
3173
 
3174
+
2828
3175
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2829
3176
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode
2830
3177
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2857,6 +3204,10 @@ module Prism
2857
3204
  attr_reader closing_loc: Location
2858
3205
  attr_reader unescaped: String
2859
3206
 
3207
+ def save_opening_loc: (_Repository repository) -> void
3208
+ def save_content_loc: (_Repository repository) -> void
3209
+ def save_closing_loc: (_Repository repository) -> void
3210
+
2860
3211
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2861
3212
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> RegularExpressionNode
2862
3213
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -2881,6 +3232,8 @@ module Prism
2881
3232
  attr_reader name: Symbol
2882
3233
  attr_reader name_loc: Location
2883
3234
 
3235
+ def save_name_loc: (_Repository repository) -> void
3236
+
2884
3237
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc) -> void
2885
3238
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location) -> RequiredKeywordParameterNode
2886
3239
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location }
@@ -2901,6 +3254,7 @@ module Prism
2901
3254
 
2902
3255
  attr_reader name: Symbol
2903
3256
 
3257
+
2904
3258
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
2905
3259
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> RequiredParameterNode
2906
3260
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -2920,6 +3274,8 @@ module Prism
2920
3274
  attr_reader keyword_loc: Location
2921
3275
  attr_reader rescue_expression: Prism::node
2922
3276
 
3277
+ def save_keyword_loc: (_Repository repository) -> void
3278
+
2923
3279
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location keyword_loc, Prism::node rescue_expression) -> void
2924
3280
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node) -> RescueModifierNode
2925
3281
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, keyword_loc: Location, rescue_expression: Prism::node }
@@ -2945,14 +3301,20 @@ module Prism
2945
3301
  attr_reader exceptions: Array[Prism::node]
2946
3302
  attr_reader operator_loc: Location?
2947
3303
  attr_reader reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil
3304
+ attr_reader then_keyword_loc: Location?
2948
3305
  attr_reader statements: StatementsNode?
2949
3306
  attr_reader subsequent: RescueNode?
2950
3307
 
2951
- def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Array[Prism::node] exceptions, Location? operator_loc, LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil reference, StatementsNode? statements, RescueNode? subsequent) -> void
2952
- def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil, ?statements: StatementsNode?, ?subsequent: RescueNode?) -> RescueNode
2953
- def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, exceptions: Array[Prism::node], operator_loc: Location?, reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil, statements: StatementsNode?, subsequent: RescueNode? }
3308
+ def save_keyword_loc: (_Repository repository) -> void
3309
+ def save_operator_loc: (_Repository repository) -> void
3310
+ def save_then_keyword_loc: (_Repository repository) -> void
3311
+
3312
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Array[Prism::node] exceptions, Location? operator_loc, LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil reference, Location? then_keyword_loc, StatementsNode? statements, RescueNode? subsequent) -> void
3313
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?subsequent: RescueNode?) -> RescueNode
3314
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, exceptions: Array[Prism::node], operator_loc: Location?, reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil, then_keyword_loc: Location?, statements: StatementsNode?, subsequent: RescueNode? }
2954
3315
  def keyword: () -> String
2955
3316
  def operator: () -> String?
3317
+ def then_keyword: () -> String?
2956
3318
  def type: () -> :rescue_node
2957
3319
  | ...
2958
3320
  def self.type: () -> :rescue_node
@@ -2972,6 +3334,9 @@ module Prism
2972
3334
  attr_reader name_loc: Location?
2973
3335
  attr_reader operator_loc: Location
2974
3336
 
3337
+ def save_name_loc: (_Repository repository) -> void
3338
+ def save_operator_loc: (_Repository repository) -> void
3339
+
2975
3340
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2976
3341
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> RestParameterNode
2977
3342
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -2989,6 +3354,7 @@ module Prism
2989
3354
  include _Node
2990
3355
 
2991
3356
 
3357
+
2992
3358
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2993
3359
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode
2994
3360
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3007,6 +3373,8 @@ module Prism
3007
3373
  attr_reader keyword_loc: Location
3008
3374
  attr_reader arguments: ArgumentsNode?
3009
3375
 
3376
+ def save_keyword_loc: (_Repository repository) -> void
3377
+
3010
3378
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, ArgumentsNode? arguments) -> void
3011
3379
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?) -> ReturnNode
3012
3380
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, arguments: ArgumentsNode? }
@@ -3024,6 +3392,7 @@ module Prism
3024
3392
  include _Node
3025
3393
 
3026
3394
 
3395
+
3027
3396
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3028
3397
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode
3029
3398
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3046,6 +3415,7 @@ module Prism
3046
3415
 
3047
3416
  attr_reader write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode
3048
3417
 
3418
+
3049
3419
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode write) -> void
3050
3420
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode) -> ShareableConstantNode
3051
3421
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode }
@@ -3068,6 +3438,10 @@ module Prism
3068
3438
  attr_reader body: StatementsNode | BeginNode | nil
3069
3439
  attr_reader end_keyword_loc: Location
3070
3440
 
3441
+ def save_class_keyword_loc: (_Repository repository) -> void
3442
+ def save_operator_loc: (_Repository repository) -> void
3443
+ def save_end_keyword_loc: (_Repository repository) -> void
3444
+
3071
3445
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, Location class_keyword_loc, Location operator_loc, Prism::node expression, StatementsNode | BeginNode | nil body, Location end_keyword_loc) -> void
3072
3446
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?operator_loc: Location, ?expression: Prism::node, ?body: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location) -> SingletonClassNode
3073
3447
  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: StatementsNode | BeginNode | nil, end_keyword_loc: Location }
@@ -3087,6 +3461,7 @@ module Prism
3087
3461
  include _Node
3088
3462
 
3089
3463
 
3464
+
3090
3465
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3091
3466
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode
3092
3467
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3109,6 +3484,7 @@ module Prism
3109
3484
 
3110
3485
  attr_reader filepath: String
3111
3486
 
3487
+
3112
3488
  def initialize: (Source source, Integer node_id, Location location, Integer flags, String filepath) -> void
3113
3489
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?filepath: String) -> SourceFileNode
3114
3490
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, filepath: String }
@@ -3125,6 +3501,7 @@ module Prism
3125
3501
  include _Node
3126
3502
 
3127
3503
 
3504
+
3128
3505
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3129
3506
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode
3130
3507
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3143,6 +3520,8 @@ module Prism
3143
3520
  attr_reader operator_loc: Location
3144
3521
  attr_reader expression: Prism::node?
3145
3522
 
3523
+ def save_operator_loc: (_Repository repository) -> void
3524
+
3146
3525
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Prism::node? expression) -> void
3147
3526
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?expression: Prism::node?) -> SplatNode
3148
3527
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, expression: Prism::node? }
@@ -3161,6 +3540,7 @@ module Prism
3161
3540
 
3162
3541
  attr_reader body: Array[Prism::node]
3163
3542
 
3543
+
3164
3544
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] body) -> void
3165
3545
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Array[Prism::node]) -> StatementsNode
3166
3546
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Array[Prism::node] }
@@ -3192,6 +3572,10 @@ module Prism
3192
3572
  attr_reader closing_loc: Location?
3193
3573
  attr_reader unescaped: String
3194
3574
 
3575
+ def save_opening_loc: (_Repository repository) -> void
3576
+ def save_content_loc: (_Repository repository) -> void
3577
+ def save_closing_loc: (_Repository repository) -> void
3578
+
3195
3579
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped) -> void
3196
3580
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String) -> StringNode
3197
3581
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String }
@@ -3219,6 +3603,10 @@ module Prism
3219
3603
  attr_reader rparen_loc: Location?
3220
3604
  attr_reader block: BlockNode | BlockArgumentNode | nil
3221
3605
 
3606
+ def save_keyword_loc: (_Repository repository) -> void
3607
+ def save_lparen_loc: (_Repository repository) -> void
3608
+ def save_rparen_loc: (_Repository repository) -> void
3609
+
3222
3610
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, BlockNode | BlockArgumentNode | nil block) -> void
3223
3611
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?, ?block: BlockNode | BlockArgumentNode | nil) -> SuperNode
3224
3612
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: BlockNode | BlockArgumentNode | nil }
@@ -3249,6 +3637,10 @@ module Prism
3249
3637
  attr_reader closing_loc: Location?
3250
3638
  attr_reader unescaped: String
3251
3639
 
3640
+ def save_opening_loc: (_Repository repository) -> void
3641
+ def save_value_loc: (_Repository repository) -> void
3642
+ def save_closing_loc: (_Repository repository) -> void
3643
+
3252
3644
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped) -> void
3253
3645
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String) -> SymbolNode
3254
3646
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String }
@@ -3268,6 +3660,7 @@ module Prism
3268
3660
  include _Node
3269
3661
 
3270
3662
 
3663
+
3271
3664
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3272
3665
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode
3273
3666
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3286,6 +3679,8 @@ module Prism
3286
3679
  attr_reader names: Array[SymbolNode | InterpolatedSymbolNode]
3287
3680
  attr_reader keyword_loc: Location
3288
3681
 
3682
+ def save_keyword_loc: (_Repository repository) -> void
3683
+
3289
3684
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[SymbolNode | InterpolatedSymbolNode] names, Location keyword_loc) -> void
3290
3685
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location) -> UndefNode
3291
3686
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, names: Array[SymbolNode | InterpolatedSymbolNode], keyword_loc: Location }
@@ -3312,6 +3707,10 @@ module Prism
3312
3707
  attr_reader else_clause: ElseNode?
3313
3708
  attr_reader end_keyword_loc: Location?
3314
3709
 
3710
+ def save_keyword_loc: (_Repository repository) -> void
3711
+ def save_then_keyword_loc: (_Repository repository) -> void
3712
+ def save_end_keyword_loc: (_Repository repository) -> void
3713
+
3315
3714
  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
3316
3715
  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
3317
3716
  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? }
@@ -3341,6 +3740,10 @@ module Prism
3341
3740
  attr_reader predicate: Prism::node
3342
3741
  attr_reader statements: StatementsNode?
3343
3742
 
3743
+ def save_keyword_loc: (_Repository repository) -> void
3744
+ def save_do_keyword_loc: (_Repository repository) -> void
3745
+ def save_closing_loc: (_Repository repository) -> void
3746
+
3344
3747
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? do_keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements) -> void
3345
3748
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?do_keyword_loc: Location?, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> UntilNode
3346
3749
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, do_keyword_loc: Location?, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? }
@@ -3366,6 +3769,9 @@ module Prism
3366
3769
  attr_reader then_keyword_loc: Location?
3367
3770
  attr_reader statements: StatementsNode?
3368
3771
 
3772
+ def save_keyword_loc: (_Repository repository) -> void
3773
+ def save_then_keyword_loc: (_Repository repository) -> void
3774
+
3369
3775
  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
3370
3776
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?) -> WhenNode
3371
3777
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, conditions: Array[Prism::node], then_keyword_loc: Location?, statements: StatementsNode? }
@@ -3394,6 +3800,10 @@ module Prism
3394
3800
  attr_reader predicate: Prism::node
3395
3801
  attr_reader statements: StatementsNode?
3396
3802
 
3803
+ def save_keyword_loc: (_Repository repository) -> void
3804
+ def save_do_keyword_loc: (_Repository repository) -> void
3805
+ def save_closing_loc: (_Repository repository) -> void
3806
+
3397
3807
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? do_keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements) -> void
3398
3808
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?do_keyword_loc: Location?, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> WhileNode
3399
3809
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, do_keyword_loc: Location?, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? }
@@ -3420,6 +3830,10 @@ module Prism
3420
3830
  attr_reader closing_loc: Location
3421
3831
  attr_reader unescaped: String
3422
3832
 
3833
+ def save_opening_loc: (_Repository repository) -> void
3834
+ def save_content_loc: (_Repository repository) -> void
3835
+ def save_closing_loc: (_Repository repository) -> void
3836
+
3423
3837
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
3424
3838
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> XStringNode
3425
3839
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -3443,6 +3857,10 @@ module Prism
3443
3857
  attr_reader arguments: ArgumentsNode?
3444
3858
  attr_reader rparen_loc: Location?
3445
3859
 
3860
+ def save_keyword_loc: (_Repository repository) -> void
3861
+ def save_lparen_loc: (_Repository repository) -> void
3862
+ def save_rparen_loc: (_Repository repository) -> void
3863
+
3446
3864
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc) -> void
3447
3865
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?) -> YieldNode
3448
3866
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location? }
@@ -3532,6 +3950,12 @@ module Prism
3532
3950
  REPEATED_PARAMETER: Integer
3533
3951
  end
3534
3952
 
3953
+ # Flags for parentheses nodes.
3954
+ module ParenthesesNodeFlags
3955
+ # parentheses that contain multiple potentially void statements
3956
+ MULTIPLE_STATEMENTS: Integer
3957
+ end
3958
+
3535
3959
  # Flags for range and flip-flop nodes.
3536
3960
  module RangeFlags
3537
3961
  # ... operator