prism 1.4.0 → 1.7.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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +73 -1
  3. data/Makefile +7 -5
  4. data/README.md +3 -1
  5. data/config.yml +294 -41
  6. data/docs/build_system.md +2 -2
  7. data/docs/cruby_compilation.md +1 -1
  8. data/docs/design.md +2 -2
  9. data/docs/parser_translation.md +8 -23
  10. data/docs/releasing.md +6 -25
  11. data/docs/ripper_translation.md +1 -1
  12. data/ext/prism/api_node.c +9 -3
  13. data/ext/prism/extconf.rb +1 -1
  14. data/ext/prism/extension.c +24 -3
  15. data/ext/prism/extension.h +1 -1
  16. data/include/prism/ast.h +360 -70
  17. data/include/prism/diagnostic.h +7 -0
  18. data/include/prism/options.h +49 -3
  19. data/include/prism/parser.h +3 -0
  20. data/include/prism/regexp.h +2 -2
  21. data/include/prism/util/pm_buffer.h +8 -0
  22. data/include/prism/util/pm_integer.h +4 -0
  23. data/include/prism/util/pm_list.h +6 -0
  24. data/include/prism/util/pm_string.h +12 -2
  25. data/include/prism/version.h +2 -2
  26. data/include/prism.h +40 -15
  27. data/lib/prism/compiler.rb +456 -151
  28. data/lib/prism/desugar_compiler.rb +1 -0
  29. data/lib/prism/dispatcher.rb +16 -0
  30. data/lib/prism/dot_visitor.rb +10 -1
  31. data/lib/prism/dsl.rb +5 -2
  32. data/lib/prism/ffi.rb +28 -10
  33. data/lib/prism/inspect_visitor.rb +4 -0
  34. data/lib/prism/lex_compat.rb +1 -0
  35. data/lib/prism/mutation_compiler.rb +3 -0
  36. data/lib/prism/node.rb +559 -349
  37. data/lib/prism/node_ext.rb +4 -1
  38. data/lib/prism/pack.rb +2 -0
  39. data/lib/prism/parse_result/comments.rb +1 -0
  40. data/lib/prism/parse_result/errors.rb +1 -0
  41. data/lib/prism/parse_result/newlines.rb +1 -0
  42. data/lib/prism/parse_result.rb +3 -15
  43. data/lib/prism/pattern.rb +1 -0
  44. data/lib/prism/polyfill/scan_byte.rb +14 -0
  45. data/lib/prism/polyfill/warn.rb +36 -0
  46. data/lib/prism/reflection.rb +4 -1
  47. data/lib/prism/relocation.rb +1 -0
  48. data/lib/prism/serialize.rb +30 -22
  49. data/lib/prism/string_query.rb +1 -0
  50. data/lib/prism/translation/parser/builder.rb +1 -0
  51. data/lib/prism/translation/parser/compiler.rb +63 -41
  52. data/lib/prism/translation/parser/lexer.rb +29 -21
  53. data/lib/prism/translation/parser.rb +25 -4
  54. data/lib/prism/translation/parser33.rb +1 -0
  55. data/lib/prism/translation/parser34.rb +1 -0
  56. data/lib/prism/translation/parser35.rb +2 -6
  57. data/lib/prism/translation/parser40.rb +13 -0
  58. data/lib/prism/translation/parser41.rb +13 -0
  59. data/lib/prism/translation/parser_current.rb +26 -0
  60. data/lib/prism/translation/ripper/sexp.rb +1 -0
  61. data/lib/prism/translation/ripper.rb +19 -3
  62. data/lib/prism/translation/ruby_parser.rb +340 -22
  63. data/lib/prism/translation.rb +4 -0
  64. data/lib/prism/visitor.rb +457 -152
  65. data/lib/prism.rb +22 -0
  66. data/prism.gemspec +9 -1
  67. data/rbi/prism/dsl.rbi +6 -6
  68. data/rbi/prism/node.rbi +42 -17
  69. data/rbi/prism/translation/parser35.rbi +0 -2
  70. data/rbi/prism/translation/parser40.rbi +6 -0
  71. data/rbi/prism/translation/parser41.rbi +6 -0
  72. data/sig/prism/dispatcher.rbs +3 -0
  73. data/sig/prism/dsl.rbs +5 -5
  74. data/sig/prism/node.rbs +462 -38
  75. data/sig/prism/node_ext.rbs +84 -17
  76. data/sig/prism/parse_result/comments.rbs +38 -0
  77. data/sig/prism/parse_result.rbs +4 -0
  78. data/sig/prism/reflection.rbs +1 -1
  79. data/sig/prism.rbs +4 -0
  80. data/src/diagnostic.c +13 -1
  81. data/src/encoding.c +172 -67
  82. data/src/node.c +11 -0
  83. data/src/options.c +17 -7
  84. data/src/prettyprint.c +18 -0
  85. data/src/prism.c +1495 -2021
  86. data/src/serialize.c +9 -1
  87. data/src/token_type.c +38 -36
  88. data/src/util/pm_constant_pool.c +1 -1
  89. data/src/util/pm_string.c +6 -8
  90. metadata +11 -3
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 }
@@ -488,15 +553,23 @@ module Prism
488
553
  attr_reader opening_loc: Location?
489
554
  attr_reader arguments: ArgumentsNode?
490
555
  attr_reader closing_loc: Location?
556
+ attr_reader equal_loc: Location?
491
557
  attr_reader block: BlockNode | BlockArgumentNode | nil
492
558
 
493
- 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
- 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
- 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 }
559
+ def save_call_operator_loc: (_Repository repository) -> void
560
+ def save_message_loc: (_Repository repository) -> void
561
+ def save_opening_loc: (_Repository repository) -> void
562
+ def save_closing_loc: (_Repository repository) -> void
563
+ def save_equal_loc: (_Repository repository) -> void
564
+
565
+ 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, Location? equal_loc, BlockNode | BlockArgumentNode | nil block) -> void
566
+ 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?, ?equal_loc: Location?, ?block: BlockNode | BlockArgumentNode | nil) -> CallNode
567
+ 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?, equal_loc: Location?, block: BlockNode | BlockArgumentNode | nil }
496
568
  def call_operator: () -> String?
497
569
  def message: () -> String?
498
570
  def opening: () -> String?
499
571
  def closing: () -> String?
572
+ def equal: () -> String?
500
573
  def type: () -> :call_node
501
574
  | ...
502
575
  def self.type: () -> :call_node
@@ -523,6 +596,10 @@ module Prism
523
596
  attr_reader binary_operator_loc: Location
524
597
  attr_reader value: Prism::node
525
598
 
599
+ def save_call_operator_loc: (_Repository repository) -> void
600
+ def save_message_loc: (_Repository repository) -> void
601
+ def save_binary_operator_loc: (_Repository repository) -> void
602
+
526
603
  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
604
  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
605
  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 +630,10 @@ module Prism
553
630
  attr_reader operator_loc: Location
554
631
  attr_reader value: Prism::node
555
632
 
633
+ def save_call_operator_loc: (_Repository repository) -> void
634
+ def save_message_loc: (_Repository repository) -> void
635
+ def save_operator_loc: (_Repository repository) -> void
636
+
556
637
  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
638
  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
639
  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 +670,9 @@ module Prism
589
670
  attr_reader name: Symbol
590
671
  attr_reader message_loc: Location
591
672
 
673
+ def save_call_operator_loc: (_Repository repository) -> void
674
+ def save_message_loc: (_Repository repository) -> void
675
+
592
676
  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
677
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location) -> CallTargetNode
594
678
  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 +694,8 @@ module Prism
610
694
  attr_reader target: LocalVariableTargetNode
611
695
  attr_reader operator_loc: Location
612
696
 
697
+ def save_operator_loc: (_Repository repository) -> void
698
+
613
699
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, LocalVariableTargetNode target, Location operator_loc) -> void
614
700
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: LocalVariableTargetNode, ?operator_loc: Location) -> CapturePatternNode
615
701
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, target: LocalVariableTargetNode, operator_loc: Location }
@@ -634,6 +720,9 @@ module Prism
634
720
  attr_reader case_keyword_loc: Location
635
721
  attr_reader end_keyword_loc: Location
636
722
 
723
+ def save_case_keyword_loc: (_Repository repository) -> void
724
+ def save_end_keyword_loc: (_Repository repository) -> void
725
+
637
726
  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
727
  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
728
  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 +748,9 @@ module Prism
659
748
  attr_reader case_keyword_loc: Location
660
749
  attr_reader end_keyword_loc: Location
661
750
 
751
+ def save_case_keyword_loc: (_Repository repository) -> void
752
+ def save_end_keyword_loc: (_Repository repository) -> void
753
+
662
754
  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
755
  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
756
  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 +777,10 @@ module Prism
685
777
  attr_reader end_keyword_loc: Location
686
778
  attr_reader name: Symbol
687
779
 
780
+ def save_class_keyword_loc: (_Repository repository) -> void
781
+ def save_inheritance_operator_loc: (_Repository repository) -> void
782
+ def save_end_keyword_loc: (_Repository repository) -> void
783
+
688
784
  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
785
  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
786
  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 +804,9 @@ module Prism
708
804
  attr_reader operator_loc: Location
709
805
  attr_reader value: Prism::node
710
806
 
807
+ def save_name_loc: (_Repository repository) -> void
808
+ def save_operator_loc: (_Repository repository) -> void
809
+
711
810
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
712
811
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableAndWriteNode
713
812
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -730,6 +829,9 @@ module Prism
730
829
  attr_reader value: Prism::node
731
830
  attr_reader binary_operator: Symbol
732
831
 
832
+ def save_name_loc: (_Repository repository) -> void
833
+ def save_binary_operator_loc: (_Repository repository) -> void
834
+
733
835
  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
836
  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
837
  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 +852,9 @@ module Prism
750
852
  attr_reader operator_loc: Location
751
853
  attr_reader value: Prism::node
752
854
 
855
+ def save_name_loc: (_Repository repository) -> void
856
+ def save_operator_loc: (_Repository repository) -> void
857
+
753
858
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
754
859
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableOrWriteNode
755
860
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -768,6 +873,7 @@ module Prism
768
873
 
769
874
  attr_reader name: Symbol
770
875
 
876
+
771
877
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
772
878
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode
773
879
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -785,6 +891,7 @@ module Prism
785
891
 
786
892
  attr_reader name: Symbol
787
893
 
894
+
788
895
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
789
896
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode
790
897
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -805,6 +912,9 @@ module Prism
805
912
  attr_reader value: Prism::node
806
913
  attr_reader operator_loc: Location
807
914
 
915
+ def save_name_loc: (_Repository repository) -> void
916
+ def save_operator_loc: (_Repository repository) -> void
917
+
808
918
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
809
919
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ClassVariableWriteNode
810
920
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -826,6 +936,9 @@ module Prism
826
936
  attr_reader operator_loc: Location
827
937
  attr_reader value: Prism::node
828
938
 
939
+ def save_name_loc: (_Repository repository) -> void
940
+ def save_operator_loc: (_Repository repository) -> void
941
+
829
942
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
830
943
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantAndWriteNode
831
944
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -848,6 +961,9 @@ module Prism
848
961
  attr_reader value: Prism::node
849
962
  attr_reader binary_operator: Symbol
850
963
 
964
+ def save_name_loc: (_Repository repository) -> void
965
+ def save_binary_operator_loc: (_Repository repository) -> void
966
+
851
967
  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
968
  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
969
  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 +984,9 @@ module Prism
868
984
  attr_reader operator_loc: Location
869
985
  attr_reader value: Prism::node
870
986
 
987
+ def save_name_loc: (_Repository repository) -> void
988
+ def save_operator_loc: (_Repository repository) -> void
989
+
871
990
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
872
991
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantOrWriteNode
873
992
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -888,6 +1007,8 @@ module Prism
888
1007
  attr_reader operator_loc: Location
889
1008
  attr_reader value: Prism::node
890
1009
 
1010
+ def save_operator_loc: (_Repository repository) -> void
1011
+
891
1012
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
892
1013
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathAndWriteNode
893
1014
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -909,6 +1030,9 @@ module Prism
909
1030
  attr_reader delimiter_loc: Location
910
1031
  attr_reader name_loc: Location
911
1032
 
1033
+ def save_delimiter_loc: (_Repository repository) -> void
1034
+ def save_name_loc: (_Repository repository) -> void
1035
+
912
1036
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
913
1037
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathNode
914
1038
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
@@ -930,6 +1054,8 @@ module Prism
930
1054
  attr_reader value: Prism::node
931
1055
  attr_reader binary_operator: Symbol
932
1056
 
1057
+ def save_binary_operator_loc: (_Repository repository) -> void
1058
+
933
1059
  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
1060
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantPathOperatorWriteNode
935
1061
  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 +1075,8 @@ module Prism
949
1075
  attr_reader operator_loc: Location
950
1076
  attr_reader value: Prism::node
951
1077
 
1078
+ def save_operator_loc: (_Repository repository) -> void
1079
+
952
1080
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
953
1081
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathOrWriteNode
954
1082
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -970,6 +1098,9 @@ module Prism
970
1098
  attr_reader delimiter_loc: Location
971
1099
  attr_reader name_loc: Location
972
1100
 
1101
+ def save_delimiter_loc: (_Repository repository) -> void
1102
+ def save_name_loc: (_Repository repository) -> void
1103
+
973
1104
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
974
1105
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathTargetNode
975
1106
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
@@ -996,6 +1127,8 @@ module Prism
996
1127
  attr_reader operator_loc: Location
997
1128
  attr_reader value: Prism::node
998
1129
 
1130
+ def save_operator_loc: (_Repository repository) -> void
1131
+
999
1132
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
1000
1133
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathWriteNode
1001
1134
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -1014,6 +1147,7 @@ module Prism
1014
1147
 
1015
1148
  attr_reader name: Symbol
1016
1149
 
1150
+
1017
1151
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1018
1152
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode
1019
1153
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1031,6 +1165,7 @@ module Prism
1031
1165
 
1032
1166
  attr_reader name: Symbol
1033
1167
 
1168
+
1034
1169
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1035
1170
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode
1036
1171
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1051,6 +1186,9 @@ module Prism
1051
1186
  attr_reader value: Prism::node
1052
1187
  attr_reader operator_loc: Location
1053
1188
 
1189
+ def save_name_loc: (_Repository repository) -> void
1190
+ def save_operator_loc: (_Repository repository) -> void
1191
+
1054
1192
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1055
1193
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ConstantWriteNode
1056
1194
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1081,6 +1219,14 @@ module Prism
1081
1219
  attr_reader equal_loc: Location?
1082
1220
  attr_reader end_keyword_loc: Location?
1083
1221
 
1222
+ def save_name_loc: (_Repository repository) -> void
1223
+ def save_def_keyword_loc: (_Repository repository) -> void
1224
+ def save_operator_loc: (_Repository repository) -> void
1225
+ def save_lparen_loc: (_Repository repository) -> void
1226
+ def save_rparen_loc: (_Repository repository) -> void
1227
+ def save_equal_loc: (_Repository repository) -> void
1228
+ def save_end_keyword_loc: (_Repository repository) -> void
1229
+
1084
1230
  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
1231
  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
1232
  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 +1253,10 @@ module Prism
1107
1253
  attr_reader rparen_loc: Location?
1108
1254
  attr_reader keyword_loc: Location
1109
1255
 
1256
+ def save_lparen_loc: (_Repository repository) -> void
1257
+ def save_rparen_loc: (_Repository repository) -> void
1258
+ def save_keyword_loc: (_Repository repository) -> void
1259
+
1110
1260
  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
1261
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location) -> DefinedNode
1112
1262
  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 +1279,9 @@ module Prism
1129
1279
  attr_reader statements: StatementsNode?
1130
1280
  attr_reader end_keyword_loc: Location?
1131
1281
 
1282
+ def save_else_keyword_loc: (_Repository repository) -> void
1283
+ def save_end_keyword_loc: (_Repository repository) -> void
1284
+
1132
1285
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc) -> void
1133
1286
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?) -> ElseNode
1134
1287
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location? }
@@ -1150,6 +1303,9 @@ module Prism
1150
1303
  attr_reader statements: StatementsNode?
1151
1304
  attr_reader closing_loc: Location
1152
1305
 
1306
+ def save_opening_loc: (_Repository repository) -> void
1307
+ def save_closing_loc: (_Repository repository) -> void
1308
+
1153
1309
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, StatementsNode? statements, Location closing_loc) -> void
1154
1310
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location) -> EmbeddedStatementsNode
1155
1311
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, statements: StatementsNode?, closing_loc: Location }
@@ -1170,6 +1326,8 @@ module Prism
1170
1326
  attr_reader operator_loc: Location
1171
1327
  attr_reader variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode
1172
1328
 
1329
+ def save_operator_loc: (_Repository repository) -> void
1330
+
1173
1331
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode variable) -> void
1174
1332
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode) -> EmbeddedVariableNode
1175
1333
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode }
@@ -1194,6 +1352,9 @@ module Prism
1194
1352
  attr_reader statements: StatementsNode?
1195
1353
  attr_reader end_keyword_loc: Location
1196
1354
 
1355
+ def save_ensure_keyword_loc: (_Repository repository) -> void
1356
+ def save_end_keyword_loc: (_Repository repository) -> void
1357
+
1197
1358
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc) -> void
1198
1359
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location) -> EnsureNode
1199
1360
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location }
@@ -1212,6 +1373,7 @@ module Prism
1212
1373
  include _Node
1213
1374
 
1214
1375
 
1376
+
1215
1377
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1216
1378
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode
1217
1379
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1230,19 +1392,25 @@ module Prism
1230
1392
  #
1231
1393
  # foo in Foo(*bar, baz, *qux)
1232
1394
  # ^^^^^^^^^^^^^^^^^^^^
1395
+ #
1396
+ # foo => *bar, baz, *qux
1397
+ # ^^^^^^^^^^^^^^^
1233
1398
  class FindPatternNode < Node
1234
1399
  include _Node
1235
1400
 
1236
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
1401
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
1237
1402
  attr_reader left: SplatNode
1238
1403
  attr_reader requireds: Array[Prism::node]
1239
1404
  attr_reader right: SplatNode | MissingNode
1240
1405
  attr_reader opening_loc: Location?
1241
1406
  attr_reader closing_loc: Location?
1242
1407
 
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? }
1408
+ def save_opening_loc: (_Repository repository) -> void
1409
+ def save_closing_loc: (_Repository repository) -> void
1410
+
1411
+ 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
1412
+ 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
1413
+ 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
1414
  def opening: () -> String?
1247
1415
  def closing: () -> String?
1248
1416
  def type: () -> :find_pattern_node
@@ -1263,6 +1431,8 @@ module Prism
1263
1431
  attr_reader right: Prism::node?
1264
1432
  attr_reader operator_loc: Location
1265
1433
 
1434
+ def save_operator_loc: (_Repository repository) -> void
1435
+
1266
1436
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
1267
1437
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> FlipFlopNode
1268
1438
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
@@ -1281,6 +1451,7 @@ module Prism
1281
1451
 
1282
1452
  attr_reader value: Float
1283
1453
 
1454
+
1284
1455
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Float value) -> void
1285
1456
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode
1286
1457
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Float }
@@ -1304,6 +1475,11 @@ module Prism
1304
1475
  attr_reader do_keyword_loc: Location?
1305
1476
  attr_reader end_keyword_loc: Location
1306
1477
 
1478
+ def save_for_keyword_loc: (_Repository repository) -> void
1479
+ def save_in_keyword_loc: (_Repository repository) -> void
1480
+ def save_do_keyword_loc: (_Repository repository) -> void
1481
+ def save_end_keyword_loc: (_Repository repository) -> void
1482
+
1307
1483
  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
1484
  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
1485
  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 +1502,7 @@ module Prism
1326
1502
  include _Node
1327
1503
 
1328
1504
 
1505
+
1329
1506
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1330
1507
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode
1331
1508
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1343,6 +1520,7 @@ module Prism
1343
1520
  include _Node
1344
1521
 
1345
1522
 
1523
+
1346
1524
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1347
1525
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode
1348
1526
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1351,15 +1529,21 @@ module Prism
1351
1529
  def self.type: () -> :forwarding_parameter_node
1352
1530
  end
1353
1531
 
1354
- # Represents the use of the `super` keyword without parentheses or arguments.
1532
+ # Represents the use of the `super` keyword without parentheses or arguments, but which might have a block.
1355
1533
  #
1356
1534
  # super
1357
1535
  # ^^^^^
1536
+ #
1537
+ # super { 123 }
1538
+ # ^^^^^^^^^^^^^
1539
+ #
1540
+ # If it has any other arguments, it would be a `SuperNode` instead.
1358
1541
  class ForwardingSuperNode < Node
1359
1542
  include _Node
1360
1543
 
1361
1544
  attr_reader block: BlockNode?
1362
1545
 
1546
+
1363
1547
  def initialize: (Source source, Integer node_id, Location location, Integer flags, BlockNode? block) -> void
1364
1548
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode
1365
1549
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, block: BlockNode? }
@@ -1380,6 +1564,9 @@ module Prism
1380
1564
  attr_reader operator_loc: Location
1381
1565
  attr_reader value: Prism::node
1382
1566
 
1567
+ def save_name_loc: (_Repository repository) -> void
1568
+ def save_operator_loc: (_Repository repository) -> void
1569
+
1383
1570
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1384
1571
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableAndWriteNode
1385
1572
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1402,6 +1589,9 @@ module Prism
1402
1589
  attr_reader value: Prism::node
1403
1590
  attr_reader binary_operator: Symbol
1404
1591
 
1592
+ def save_name_loc: (_Repository repository) -> void
1593
+ def save_binary_operator_loc: (_Repository repository) -> void
1594
+
1405
1595
  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
1596
  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
1597
  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 +1612,9 @@ module Prism
1422
1612
  attr_reader operator_loc: Location
1423
1613
  attr_reader value: Prism::node
1424
1614
 
1615
+ def save_name_loc: (_Repository repository) -> void
1616
+ def save_operator_loc: (_Repository repository) -> void
1617
+
1425
1618
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1426
1619
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableOrWriteNode
1427
1620
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1440,6 +1633,7 @@ module Prism
1440
1633
 
1441
1634
  attr_reader name: Symbol
1442
1635
 
1636
+
1443
1637
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1444
1638
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode
1445
1639
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1457,6 +1651,7 @@ module Prism
1457
1651
 
1458
1652
  attr_reader name: Symbol
1459
1653
 
1654
+
1460
1655
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1461
1656
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode
1462
1657
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1477,6 +1672,9 @@ module Prism
1477
1672
  attr_reader value: Prism::node
1478
1673
  attr_reader operator_loc: Location
1479
1674
 
1675
+ def save_name_loc: (_Repository repository) -> void
1676
+ def save_operator_loc: (_Repository repository) -> void
1677
+
1480
1678
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1481
1679
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> GlobalVariableWriteNode
1482
1680
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1497,6 +1695,9 @@ module Prism
1497
1695
  attr_reader elements: Array[AssocNode | AssocSplatNode]
1498
1696
  attr_reader closing_loc: Location
1499
1697
 
1698
+ def save_opening_loc: (_Repository repository) -> void
1699
+ def save_closing_loc: (_Repository repository) -> void
1700
+
1500
1701
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[AssocNode | AssocSplatNode] elements, Location closing_loc) -> void
1501
1702
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location) -> HashNode
1502
1703
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location }
@@ -1514,18 +1715,27 @@ module Prism
1514
1715
  #
1515
1716
  # foo => { a: 1, b: 2, **c }
1516
1717
  # ^^^^^^^^^^^^^^^^^^^
1718
+ #
1719
+ # foo => Bar[a: 1, b: 2]
1720
+ # ^^^^^^^^^^^^^^^
1721
+ #
1722
+ # foo in { a: 1, b: 2 }
1723
+ # ^^^^^^^^^^^^^^
1517
1724
  class HashPatternNode < Node
1518
1725
  include _Node
1519
1726
 
1520
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
1727
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
1521
1728
  attr_reader elements: Array[AssocNode]
1522
1729
  attr_reader rest: AssocSplatNode | NoKeywordsParameterNode | nil
1523
1730
  attr_reader opening_loc: Location?
1524
1731
  attr_reader closing_loc: Location?
1525
1732
 
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? }
1733
+ def save_opening_loc: (_Repository repository) -> void
1734
+ def save_closing_loc: (_Repository repository) -> void
1735
+
1736
+ 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
1737
+ 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
1738
+ 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
1739
  def opening: () -> String?
1530
1740
  def closing: () -> String?
1531
1741
  def type: () -> :hash_pattern_node
@@ -1553,6 +1763,10 @@ module Prism
1553
1763
  attr_reader subsequent: ElseNode | IfNode | nil
1554
1764
  attr_reader end_keyword_loc: Location?
1555
1765
 
1766
+ def save_if_keyword_loc: (_Repository repository) -> void
1767
+ def save_then_keyword_loc: (_Repository repository) -> void
1768
+ def save_end_keyword_loc: (_Repository repository) -> void
1769
+
1556
1770
  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
1771
  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
1772
  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 +1787,7 @@ module Prism
1573
1787
 
1574
1788
  attr_reader numeric: FloatNode | IntegerNode | RationalNode
1575
1789
 
1790
+
1576
1791
  def initialize: (Source source, Integer node_id, Location location, Integer flags, FloatNode | IntegerNode | RationalNode numeric) -> void
1577
1792
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numeric: FloatNode | IntegerNode | RationalNode) -> ImaginaryNode
1578
1793
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numeric: FloatNode | IntegerNode | RationalNode }
@@ -1596,6 +1811,7 @@ module Prism
1596
1811
 
1597
1812
  attr_reader value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode
1598
1813
 
1814
+
1599
1815
  def initialize: (Source source, Integer node_id, Location location, Integer flags, LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode value) -> void
1600
1816
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode) -> ImplicitNode
1601
1817
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode }
@@ -1621,6 +1837,7 @@ module Prism
1621
1837
  include _Node
1622
1838
 
1623
1839
 
1840
+
1624
1841
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1625
1842
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode
1626
1843
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1641,6 +1858,9 @@ module Prism
1641
1858
  attr_reader in_loc: Location
1642
1859
  attr_reader then_loc: Location?
1643
1860
 
1861
+ def save_in_loc: (_Repository repository) -> void
1862
+ def save_then_loc: (_Repository repository) -> void
1863
+
1644
1864
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node pattern, StatementsNode? statements, Location in_loc, Location? then_loc) -> void
1645
1865
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?) -> InNode
1646
1866
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, pattern: Prism::node, statements: StatementsNode?, in_loc: Location, then_loc: Location? }
@@ -1672,6 +1892,11 @@ module Prism
1672
1892
  attr_reader operator_loc: Location
1673
1893
  attr_reader value: Prism::node
1674
1894
 
1895
+ def save_call_operator_loc: (_Repository repository) -> void
1896
+ def save_opening_loc: (_Repository repository) -> void
1897
+ def save_closing_loc: (_Repository repository) -> void
1898
+ def save_operator_loc: (_Repository repository) -> void
1899
+
1675
1900
  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
1901
  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
1902
  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 +1931,11 @@ module Prism
1706
1931
  attr_reader binary_operator_loc: Location
1707
1932
  attr_reader value: Prism::node
1708
1933
 
1934
+ def save_call_operator_loc: (_Repository repository) -> void
1935
+ def save_opening_loc: (_Repository repository) -> void
1936
+ def save_closing_loc: (_Repository repository) -> void
1937
+ def save_binary_operator_loc: (_Repository repository) -> void
1938
+
1709
1939
  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
1940
  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
1941
  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 +1968,11 @@ module Prism
1738
1968
  attr_reader operator_loc: Location
1739
1969
  attr_reader value: Prism::node
1740
1970
 
1971
+ def save_call_operator_loc: (_Repository repository) -> void
1972
+ def save_opening_loc: (_Repository repository) -> void
1973
+ def save_closing_loc: (_Repository repository) -> void
1974
+ def save_operator_loc: (_Repository repository) -> void
1975
+
1741
1976
  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
1977
  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
1978
  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 +2011,9 @@ module Prism
1776
2011
  attr_reader closing_loc: Location
1777
2012
  attr_reader block: BlockArgumentNode?
1778
2013
 
2014
+ def save_opening_loc: (_Repository repository) -> void
2015
+ def save_closing_loc: (_Repository repository) -> void
2016
+
1779
2017
  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
2018
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: BlockArgumentNode?) -> IndexTargetNode
1781
2019
  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 +2036,9 @@ module Prism
1798
2036
  attr_reader operator_loc: Location
1799
2037
  attr_reader value: Prism::node
1800
2038
 
2039
+ def save_name_loc: (_Repository repository) -> void
2040
+ def save_operator_loc: (_Repository repository) -> void
2041
+
1801
2042
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1802
2043
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableAndWriteNode
1803
2044
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1820,6 +2061,9 @@ module Prism
1820
2061
  attr_reader value: Prism::node
1821
2062
  attr_reader binary_operator: Symbol
1822
2063
 
2064
+ def save_name_loc: (_Repository repository) -> void
2065
+ def save_binary_operator_loc: (_Repository repository) -> void
2066
+
1823
2067
  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
2068
  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
2069
  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 +2084,9 @@ module Prism
1840
2084
  attr_reader operator_loc: Location
1841
2085
  attr_reader value: Prism::node
1842
2086
 
2087
+ def save_name_loc: (_Repository repository) -> void
2088
+ def save_operator_loc: (_Repository repository) -> void
2089
+
1843
2090
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1844
2091
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableOrWriteNode
1845
2092
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1858,6 +2105,7 @@ module Prism
1858
2105
 
1859
2106
  attr_reader name: Symbol
1860
2107
 
2108
+
1861
2109
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1862
2110
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode
1863
2111
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1875,6 +2123,7 @@ module Prism
1875
2123
 
1876
2124
  attr_reader name: Symbol
1877
2125
 
2126
+
1878
2127
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1879
2128
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode
1880
2129
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1895,6 +2144,9 @@ module Prism
1895
2144
  attr_reader value: Prism::node
1896
2145
  attr_reader operator_loc: Location
1897
2146
 
2147
+ def save_name_loc: (_Repository repository) -> void
2148
+ def save_operator_loc: (_Repository repository) -> void
2149
+
1898
2150
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1899
2151
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> InstanceVariableWriteNode
1900
2152
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1918,6 +2170,7 @@ module Prism
1918
2170
 
1919
2171
  attr_reader value: Integer
1920
2172
 
2173
+
1921
2174
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer value) -> void
1922
2175
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Integer) -> IntegerNode
1923
2176
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Integer }
@@ -1949,6 +2202,9 @@ module Prism
1949
2202
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1950
2203
  attr_reader closing_loc: Location
1951
2204
 
2205
+ def save_opening_loc: (_Repository repository) -> void
2206
+ def save_closing_loc: (_Repository repository) -> void
2207
+
1952
2208
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1953
2209
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedMatchLastLineNode
1954
2210
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -1982,6 +2238,9 @@ module Prism
1982
2238
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1983
2239
  attr_reader closing_loc: Location
1984
2240
 
2241
+ def save_opening_loc: (_Repository repository) -> void
2242
+ def save_closing_loc: (_Repository repository) -> void
2243
+
1985
2244
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1986
2245
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedRegularExpressionNode
1987
2246
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -2003,12 +2262,15 @@ module Prism
2003
2262
  def mutable?: () -> bool
2004
2263
 
2005
2264
  attr_reader opening_loc: Location?
2006
- attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode]
2265
+ attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode]
2007
2266
  attr_reader closing_loc: Location?
2008
2267
 
2009
- 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
2010
- def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode], ?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 | XStringNode], closing_loc: Location? }
2268
+ def save_opening_loc: (_Repository repository) -> void
2269
+ def save_closing_loc: (_Repository repository) -> void
2270
+
2271
+ def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode] parts, Location? closing_loc) -> void
2272
+ def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode], ?closing_loc: Location?) -> InterpolatedStringNode
2273
+ def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode], closing_loc: Location? }
2012
2274
  def opening: () -> String?
2013
2275
  def closing: () -> String?
2014
2276
  def type: () -> :interpolated_string_node
@@ -2027,6 +2289,9 @@ module Prism
2027
2289
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2028
2290
  attr_reader closing_loc: Location?
2029
2291
 
2292
+ def save_opening_loc: (_Repository repository) -> void
2293
+ def save_closing_loc: (_Repository repository) -> void
2294
+
2030
2295
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location? closing_loc) -> void
2031
2296
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?) -> InterpolatedSymbolNode
2032
2297
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location? }
@@ -2048,6 +2313,9 @@ module Prism
2048
2313
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2049
2314
  attr_reader closing_loc: Location
2050
2315
 
2316
+ def save_opening_loc: (_Repository repository) -> void
2317
+ def save_closing_loc: (_Repository repository) -> void
2318
+
2051
2319
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
2052
2320
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedXStringNode
2053
2321
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -2066,6 +2334,7 @@ module Prism
2066
2334
  include _Node
2067
2335
 
2068
2336
 
2337
+
2069
2338
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2070
2339
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode
2071
2340
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2082,6 +2351,7 @@ module Prism
2082
2351
  include _Node
2083
2352
 
2084
2353
 
2354
+
2085
2355
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2086
2356
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode
2087
2357
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2101,6 +2371,7 @@ module Prism
2101
2371
 
2102
2372
  attr_reader elements: Array[AssocNode | AssocSplatNode]
2103
2373
 
2374
+
2104
2375
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[AssocNode | AssocSplatNode] elements) -> void
2105
2376
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode]) -> KeywordHashNode
2106
2377
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[AssocNode | AssocSplatNode] }
@@ -2123,6 +2394,9 @@ module Prism
2123
2394
  attr_reader name_loc: Location?
2124
2395
  attr_reader operator_loc: Location
2125
2396
 
2397
+ def save_name_loc: (_Repository repository) -> void
2398
+ def save_operator_loc: (_Repository repository) -> void
2399
+
2126
2400
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2127
2401
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> KeywordRestParameterNode
2128
2402
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -2146,6 +2420,10 @@ module Prism
2146
2420
  attr_reader parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil
2147
2421
  attr_reader body: StatementsNode | BeginNode | nil
2148
2422
 
2423
+ def save_operator_loc: (_Repository repository) -> void
2424
+ def save_opening_loc: (_Repository repository) -> void
2425
+ def save_closing_loc: (_Repository repository) -> void
2426
+
2149
2427
  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
2428
  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
2429
  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 +2448,9 @@ module Prism
2170
2448
  attr_reader name: Symbol
2171
2449
  attr_reader depth: Integer
2172
2450
 
2451
+ def save_name_loc: (_Repository repository) -> void
2452
+ def save_operator_loc: (_Repository repository) -> void
2453
+
2173
2454
  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
2455
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableAndWriteNode
2175
2456
  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 +2474,9 @@ module Prism
2193
2474
  attr_reader binary_operator: Symbol
2194
2475
  attr_reader depth: Integer
2195
2476
 
2477
+ def save_name_loc: (_Repository repository) -> void
2478
+ def save_binary_operator_loc: (_Repository repository) -> void
2479
+
2196
2480
  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
2481
  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
2482
  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 +2498,9 @@ module Prism
2214
2498
  attr_reader name: Symbol
2215
2499
  attr_reader depth: Integer
2216
2500
 
2501
+ def save_name_loc: (_Repository repository) -> void
2502
+ def save_operator_loc: (_Repository repository) -> void
2503
+
2217
2504
  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
2505
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableOrWriteNode
2219
2506
  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 +2520,7 @@ module Prism
2233
2520
  attr_reader name: Symbol
2234
2521
  attr_reader depth: Integer
2235
2522
 
2523
+
2236
2524
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2237
2525
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableReadNode
2238
2526
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
@@ -2245,12 +2533,16 @@ module Prism
2245
2533
  #
2246
2534
  # foo, bar = baz
2247
2535
  # ^^^ ^^^
2536
+ #
2537
+ # foo => baz
2538
+ # ^^^
2248
2539
  class LocalVariableTargetNode < Node
2249
2540
  include _Node
2250
2541
 
2251
2542
  attr_reader name: Symbol
2252
2543
  attr_reader depth: Integer
2253
2544
 
2545
+
2254
2546
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2255
2547
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableTargetNode
2256
2548
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
@@ -2272,6 +2564,9 @@ module Prism
2272
2564
  attr_reader value: Prism::node
2273
2565
  attr_reader operator_loc: Location
2274
2566
 
2567
+ def save_name_loc: (_Repository repository) -> void
2568
+ def save_operator_loc: (_Repository repository) -> void
2569
+
2275
2570
  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
2571
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> LocalVariableWriteNode
2277
2572
  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 +2600,10 @@ module Prism
2305
2600
  attr_reader closing_loc: Location
2306
2601
  attr_reader unescaped: String
2307
2602
 
2603
+ def save_opening_loc: (_Repository repository) -> void
2604
+ def save_content_loc: (_Repository repository) -> void
2605
+ def save_closing_loc: (_Repository repository) -> void
2606
+
2308
2607
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2309
2608
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> MatchLastLineNode
2310
2609
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -2327,6 +2626,8 @@ module Prism
2327
2626
  attr_reader pattern: Prism::node
2328
2627
  attr_reader operator_loc: Location
2329
2628
 
2629
+ def save_operator_loc: (_Repository repository) -> void
2630
+
2330
2631
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2331
2632
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchPredicateNode
2332
2633
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
@@ -2347,6 +2648,8 @@ module Prism
2347
2648
  attr_reader pattern: Prism::node
2348
2649
  attr_reader operator_loc: Location
2349
2650
 
2651
+ def save_operator_loc: (_Repository repository) -> void
2652
+
2350
2653
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2351
2654
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchRequiredNode
2352
2655
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
@@ -2366,6 +2669,7 @@ module Prism
2366
2669
  attr_reader call: CallNode
2367
2670
  attr_reader targets: Array[LocalVariableTargetNode]
2368
2671
 
2672
+
2369
2673
  def initialize: (Source source, Integer node_id, Location location, Integer flags, CallNode call, Array[LocalVariableTargetNode] targets) -> void
2370
2674
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) -> MatchWriteNode
2371
2675
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, call: CallNode, targets: Array[LocalVariableTargetNode] }
@@ -2379,6 +2683,7 @@ module Prism
2379
2683
  include _Node
2380
2684
 
2381
2685
 
2686
+
2382
2687
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2383
2688
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode
2384
2689
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2401,6 +2706,9 @@ module Prism
2401
2706
  attr_reader end_keyword_loc: Location
2402
2707
  attr_reader name: Symbol
2403
2708
 
2709
+ def save_module_keyword_loc: (_Repository repository) -> void
2710
+ def save_end_keyword_loc: (_Repository repository) -> void
2711
+
2404
2712
  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
2713
  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
2714
  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 +2737,9 @@ module Prism
2429
2737
  attr_reader lparen_loc: Location?
2430
2738
  attr_reader rparen_loc: Location?
2431
2739
 
2740
+ def save_lparen_loc: (_Repository repository) -> void
2741
+ def save_rparen_loc: (_Repository repository) -> void
2742
+
2432
2743
  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
2744
  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
2745
  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 +2765,10 @@ module Prism
2454
2765
  attr_reader operator_loc: Location
2455
2766
  attr_reader value: Prism::node
2456
2767
 
2768
+ def save_lparen_loc: (_Repository repository) -> void
2769
+ def save_rparen_loc: (_Repository repository) -> void
2770
+ def save_operator_loc: (_Repository repository) -> void
2771
+
2457
2772
  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
2773
  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
2774
  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 +2790,8 @@ module Prism
2475
2790
  attr_reader arguments: ArgumentsNode?
2476
2791
  attr_reader keyword_loc: Location
2477
2792
 
2793
+ def save_keyword_loc: (_Repository repository) -> void
2794
+
2478
2795
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
2479
2796
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> NextNode
2480
2797
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
@@ -2492,6 +2809,7 @@ module Prism
2492
2809
  include _Node
2493
2810
 
2494
2811
 
2812
+
2495
2813
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2496
2814
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode
2497
2815
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2511,6 +2829,9 @@ module Prism
2511
2829
  attr_reader operator_loc: Location
2512
2830
  attr_reader keyword_loc: Location
2513
2831
 
2832
+ def save_operator_loc: (_Repository repository) -> void
2833
+ def save_keyword_loc: (_Repository repository) -> void
2834
+
2514
2835
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Location keyword_loc) -> void
2515
2836
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?keyword_loc: Location) -> NoKeywordsParameterNode
2516
2837
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, keyword_loc: Location }
@@ -2530,6 +2851,7 @@ module Prism
2530
2851
 
2531
2852
  attr_reader maximum: Integer
2532
2853
 
2854
+
2533
2855
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer maximum) -> void
2534
2856
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode
2535
2857
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, maximum: Integer }
@@ -2547,6 +2869,7 @@ module Prism
2547
2869
 
2548
2870
  attr_reader number: Integer
2549
2871
 
2872
+
2550
2873
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer number) -> void
2551
2874
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode
2552
2875
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, number: Integer }
@@ -2569,6 +2892,8 @@ module Prism
2569
2892
  attr_reader name_loc: Location
2570
2893
  attr_reader value: Prism::node
2571
2894
 
2895
+ def save_name_loc: (_Repository repository) -> void
2896
+
2572
2897
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value) -> void
2573
2898
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node) -> OptionalKeywordParameterNode
2574
2899
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node }
@@ -2592,6 +2917,9 @@ module Prism
2592
2917
  attr_reader operator_loc: Location
2593
2918
  attr_reader value: Prism::node
2594
2919
 
2920
+ def save_name_loc: (_Repository repository) -> void
2921
+ def save_operator_loc: (_Repository repository) -> void
2922
+
2595
2923
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
2596
2924
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> OptionalParameterNode
2597
2925
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -2612,6 +2940,8 @@ module Prism
2612
2940
  attr_reader right: Prism::node
2613
2941
  attr_reader operator_loc: Location
2614
2942
 
2943
+ def save_operator_loc: (_Repository repository) -> void
2944
+
2615
2945
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
2616
2946
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> OrNode
2617
2947
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -2637,6 +2967,7 @@ module Prism
2637
2967
  attr_reader keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil
2638
2968
  attr_reader block: BlockParameterNode?
2639
2969
 
2970
+
2640
2971
  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
2972
  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
2973
  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? }
@@ -2658,6 +2989,9 @@ module Prism
2658
2989
  attr_reader opening_loc: Location
2659
2990
  attr_reader closing_loc: Location
2660
2991
 
2992
+ def save_opening_loc: (_Repository repository) -> void
2993
+ def save_closing_loc: (_Repository repository) -> void
2994
+
2661
2995
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? body, Location opening_loc, Location closing_loc) -> void
2662
2996
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location) -> ParenthesesNode
2663
2997
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Prism::node?, opening_loc: Location, closing_loc: Location }
@@ -2680,6 +3014,10 @@ module Prism
2680
3014
  attr_reader lparen_loc: Location
2681
3015
  attr_reader rparen_loc: Location
2682
3016
 
3017
+ def save_operator_loc: (_Repository repository) -> void
3018
+ def save_lparen_loc: (_Repository repository) -> void
3019
+ def save_rparen_loc: (_Repository repository) -> void
3020
+
2683
3021
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location operator_loc, Location lparen_loc, Location rparen_loc) -> void
2684
3022
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location) -> PinnedExpressionNode
2685
3023
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location }
@@ -2701,6 +3039,8 @@ module Prism
2701
3039
  attr_reader variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode
2702
3040
  attr_reader operator_loc: Location
2703
3041
 
3042
+ def save_operator_loc: (_Repository repository) -> void
3043
+
2704
3044
  def initialize: (Source source, Integer node_id, Location location, Integer flags, LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode variable, Location operator_loc) -> void
2705
3045
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, ?operator_loc: Location) -> PinnedVariableNode
2706
3046
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, operator_loc: Location }
@@ -2722,6 +3062,10 @@ module Prism
2722
3062
  attr_reader opening_loc: Location
2723
3063
  attr_reader closing_loc: Location
2724
3064
 
3065
+ def save_keyword_loc: (_Repository repository) -> void
3066
+ def save_opening_loc: (_Repository repository) -> void
3067
+ def save_closing_loc: (_Repository repository) -> void
3068
+
2725
3069
  def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2726
3070
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PostExecutionNode
2727
3071
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
@@ -2745,6 +3089,10 @@ module Prism
2745
3089
  attr_reader opening_loc: Location
2746
3090
  attr_reader closing_loc: Location
2747
3091
 
3092
+ def save_keyword_loc: (_Repository repository) -> void
3093
+ def save_opening_loc: (_Repository repository) -> void
3094
+ def save_closing_loc: (_Repository repository) -> void
3095
+
2748
3096
  def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2749
3097
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PreExecutionNode
2750
3098
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
@@ -2763,6 +3111,7 @@ module Prism
2763
3111
  attr_reader locals: Array[Symbol]
2764
3112
  attr_reader statements: StatementsNode
2765
3113
 
3114
+
2766
3115
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, StatementsNode statements) -> void
2767
3116
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?statements: StatementsNode) -> ProgramNode
2768
3117
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], statements: StatementsNode }
@@ -2787,6 +3136,8 @@ module Prism
2787
3136
  attr_reader right: Prism::node?
2788
3137
  attr_reader operator_loc: Location
2789
3138
 
3139
+ def save_operator_loc: (_Repository repository) -> void
3140
+
2790
3141
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
2791
3142
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> RangeNode
2792
3143
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
@@ -2811,6 +3162,7 @@ module Prism
2811
3162
  attr_reader numerator: Integer
2812
3163
  attr_reader denominator: Integer
2813
3164
 
3165
+
2814
3166
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer numerator, Integer denominator) -> void
2815
3167
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numerator: Integer, ?denominator: Integer) -> RationalNode
2816
3168
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numerator: Integer, denominator: Integer }
@@ -2827,6 +3179,7 @@ module Prism
2827
3179
  include _Node
2828
3180
 
2829
3181
 
3182
+
2830
3183
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2831
3184
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode
2832
3185
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2859,6 +3212,10 @@ module Prism
2859
3212
  attr_reader closing_loc: Location
2860
3213
  attr_reader unescaped: String
2861
3214
 
3215
+ def save_opening_loc: (_Repository repository) -> void
3216
+ def save_content_loc: (_Repository repository) -> void
3217
+ def save_closing_loc: (_Repository repository) -> void
3218
+
2862
3219
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2863
3220
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> RegularExpressionNode
2864
3221
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -2883,6 +3240,8 @@ module Prism
2883
3240
  attr_reader name: Symbol
2884
3241
  attr_reader name_loc: Location
2885
3242
 
3243
+ def save_name_loc: (_Repository repository) -> void
3244
+
2886
3245
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc) -> void
2887
3246
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location) -> RequiredKeywordParameterNode
2888
3247
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location }
@@ -2903,6 +3262,7 @@ module Prism
2903
3262
 
2904
3263
  attr_reader name: Symbol
2905
3264
 
3265
+
2906
3266
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
2907
3267
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> RequiredParameterNode
2908
3268
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -2922,6 +3282,8 @@ module Prism
2922
3282
  attr_reader keyword_loc: Location
2923
3283
  attr_reader rescue_expression: Prism::node
2924
3284
 
3285
+ def save_keyword_loc: (_Repository repository) -> void
3286
+
2925
3287
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location keyword_loc, Prism::node rescue_expression) -> void
2926
3288
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node) -> RescueModifierNode
2927
3289
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, keyword_loc: Location, rescue_expression: Prism::node }
@@ -2951,6 +3313,10 @@ module Prism
2951
3313
  attr_reader statements: StatementsNode?
2952
3314
  attr_reader subsequent: RescueNode?
2953
3315
 
3316
+ def save_keyword_loc: (_Repository repository) -> void
3317
+ def save_operator_loc: (_Repository repository) -> void
3318
+ def save_then_keyword_loc: (_Repository repository) -> void
3319
+
2954
3320
  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
2955
3321
  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
2956
3322
  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? }
@@ -2976,6 +3342,9 @@ module Prism
2976
3342
  attr_reader name_loc: Location?
2977
3343
  attr_reader operator_loc: Location
2978
3344
 
3345
+ def save_name_loc: (_Repository repository) -> void
3346
+ def save_operator_loc: (_Repository repository) -> void
3347
+
2979
3348
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2980
3349
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> RestParameterNode
2981
3350
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -2993,6 +3362,7 @@ module Prism
2993
3362
  include _Node
2994
3363
 
2995
3364
 
3365
+
2996
3366
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2997
3367
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode
2998
3368
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3011,6 +3381,8 @@ module Prism
3011
3381
  attr_reader keyword_loc: Location
3012
3382
  attr_reader arguments: ArgumentsNode?
3013
3383
 
3384
+ def save_keyword_loc: (_Repository repository) -> void
3385
+
3014
3386
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, ArgumentsNode? arguments) -> void
3015
3387
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?) -> ReturnNode
3016
3388
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, arguments: ArgumentsNode? }
@@ -3028,6 +3400,7 @@ module Prism
3028
3400
  include _Node
3029
3401
 
3030
3402
 
3403
+
3031
3404
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3032
3405
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode
3033
3406
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3050,6 +3423,7 @@ module Prism
3050
3423
 
3051
3424
  attr_reader write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode
3052
3425
 
3426
+
3053
3427
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode write) -> void
3054
3428
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode) -> ShareableConstantNode
3055
3429
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode }
@@ -3072,6 +3446,10 @@ module Prism
3072
3446
  attr_reader body: StatementsNode | BeginNode | nil
3073
3447
  attr_reader end_keyword_loc: Location
3074
3448
 
3449
+ def save_class_keyword_loc: (_Repository repository) -> void
3450
+ def save_operator_loc: (_Repository repository) -> void
3451
+ def save_end_keyword_loc: (_Repository repository) -> void
3452
+
3075
3453
  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
3076
3454
  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
3077
3455
  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 }
@@ -3091,6 +3469,7 @@ module Prism
3091
3469
  include _Node
3092
3470
 
3093
3471
 
3472
+
3094
3473
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3095
3474
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode
3096
3475
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3113,6 +3492,7 @@ module Prism
3113
3492
 
3114
3493
  attr_reader filepath: String
3115
3494
 
3495
+
3116
3496
  def initialize: (Source source, Integer node_id, Location location, Integer flags, String filepath) -> void
3117
3497
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?filepath: String) -> SourceFileNode
3118
3498
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, filepath: String }
@@ -3129,6 +3509,7 @@ module Prism
3129
3509
  include _Node
3130
3510
 
3131
3511
 
3512
+
3132
3513
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3133
3514
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode
3134
3515
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3147,6 +3528,8 @@ module Prism
3147
3528
  attr_reader operator_loc: Location
3148
3529
  attr_reader expression: Prism::node?
3149
3530
 
3531
+ def save_operator_loc: (_Repository repository) -> void
3532
+
3150
3533
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Prism::node? expression) -> void
3151
3534
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?expression: Prism::node?) -> SplatNode
3152
3535
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, expression: Prism::node? }
@@ -3165,6 +3548,7 @@ module Prism
3165
3548
 
3166
3549
  attr_reader body: Array[Prism::node]
3167
3550
 
3551
+
3168
3552
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] body) -> void
3169
3553
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Array[Prism::node]) -> StatementsNode
3170
3554
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Array[Prism::node] }
@@ -3196,6 +3580,10 @@ module Prism
3196
3580
  attr_reader closing_loc: Location?
3197
3581
  attr_reader unescaped: String
3198
3582
 
3583
+ def save_opening_loc: (_Repository repository) -> void
3584
+ def save_content_loc: (_Repository repository) -> void
3585
+ def save_closing_loc: (_Repository repository) -> void
3586
+
3199
3587
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped) -> void
3200
3588
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String) -> StringNode
3201
3589
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String }
@@ -3214,6 +3602,8 @@ module Prism
3214
3602
  #
3215
3603
  # super foo, bar
3216
3604
  # ^^^^^^^^^^^^^^
3605
+ #
3606
+ # If no arguments are provided (except for a block), it would be a `ForwardingSuperNode` instead.
3217
3607
  class SuperNode < Node
3218
3608
  include _Node
3219
3609
 
@@ -3223,6 +3613,10 @@ module Prism
3223
3613
  attr_reader rparen_loc: Location?
3224
3614
  attr_reader block: BlockNode | BlockArgumentNode | nil
3225
3615
 
3616
+ def save_keyword_loc: (_Repository repository) -> void
3617
+ def save_lparen_loc: (_Repository repository) -> void
3618
+ def save_rparen_loc: (_Repository repository) -> void
3619
+
3226
3620
  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
3227
3621
  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
3228
3622
  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 }
@@ -3253,6 +3647,10 @@ module Prism
3253
3647
  attr_reader closing_loc: Location?
3254
3648
  attr_reader unescaped: String
3255
3649
 
3650
+ def save_opening_loc: (_Repository repository) -> void
3651
+ def save_value_loc: (_Repository repository) -> void
3652
+ def save_closing_loc: (_Repository repository) -> void
3653
+
3256
3654
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped) -> void
3257
3655
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String) -> SymbolNode
3258
3656
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String }
@@ -3272,6 +3670,7 @@ module Prism
3272
3670
  include _Node
3273
3671
 
3274
3672
 
3673
+
3275
3674
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3276
3675
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode
3277
3676
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3290,6 +3689,8 @@ module Prism
3290
3689
  attr_reader names: Array[SymbolNode | InterpolatedSymbolNode]
3291
3690
  attr_reader keyword_loc: Location
3292
3691
 
3692
+ def save_keyword_loc: (_Repository repository) -> void
3693
+
3293
3694
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[SymbolNode | InterpolatedSymbolNode] names, Location keyword_loc) -> void
3294
3695
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location) -> UndefNode
3295
3696
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, names: Array[SymbolNode | InterpolatedSymbolNode], keyword_loc: Location }
@@ -3316,6 +3717,10 @@ module Prism
3316
3717
  attr_reader else_clause: ElseNode?
3317
3718
  attr_reader end_keyword_loc: Location?
3318
3719
 
3720
+ def save_keyword_loc: (_Repository repository) -> void
3721
+ def save_then_keyword_loc: (_Repository repository) -> void
3722
+ def save_end_keyword_loc: (_Repository repository) -> void
3723
+
3319
3724
  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
3320
3725
  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
3321
3726
  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? }
@@ -3345,6 +3750,10 @@ module Prism
3345
3750
  attr_reader predicate: Prism::node
3346
3751
  attr_reader statements: StatementsNode?
3347
3752
 
3753
+ def save_keyword_loc: (_Repository repository) -> void
3754
+ def save_do_keyword_loc: (_Repository repository) -> void
3755
+ def save_closing_loc: (_Repository repository) -> void
3756
+
3348
3757
  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
3349
3758
  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
3350
3759
  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? }
@@ -3370,6 +3779,9 @@ module Prism
3370
3779
  attr_reader then_keyword_loc: Location?
3371
3780
  attr_reader statements: StatementsNode?
3372
3781
 
3782
+ def save_keyword_loc: (_Repository repository) -> void
3783
+ def save_then_keyword_loc: (_Repository repository) -> void
3784
+
3373
3785
  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
3374
3786
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?) -> WhenNode
3375
3787
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, conditions: Array[Prism::node], then_keyword_loc: Location?, statements: StatementsNode? }
@@ -3398,6 +3810,10 @@ module Prism
3398
3810
  attr_reader predicate: Prism::node
3399
3811
  attr_reader statements: StatementsNode?
3400
3812
 
3813
+ def save_keyword_loc: (_Repository repository) -> void
3814
+ def save_do_keyword_loc: (_Repository repository) -> void
3815
+ def save_closing_loc: (_Repository repository) -> void
3816
+
3401
3817
  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
3402
3818
  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
3403
3819
  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? }
@@ -3424,6 +3840,10 @@ module Prism
3424
3840
  attr_reader closing_loc: Location
3425
3841
  attr_reader unescaped: String
3426
3842
 
3843
+ def save_opening_loc: (_Repository repository) -> void
3844
+ def save_content_loc: (_Repository repository) -> void
3845
+ def save_closing_loc: (_Repository repository) -> void
3846
+
3427
3847
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
3428
3848
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> XStringNode
3429
3849
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -3447,6 +3867,10 @@ module Prism
3447
3867
  attr_reader arguments: ArgumentsNode?
3448
3868
  attr_reader rparen_loc: Location?
3449
3869
 
3870
+ def save_keyword_loc: (_Repository repository) -> void
3871
+ def save_lparen_loc: (_Repository repository) -> void
3872
+ def save_rparen_loc: (_Repository repository) -> void
3873
+
3450
3874
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc) -> void
3451
3875
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?) -> YieldNode
3452
3876
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location? }