prism 1.4.0 → 1.8.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -1
  3. data/Makefile +14 -6
  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 +4 -25
  11. data/docs/ripper_translation.md +1 -1
  12. data/docs/ruby_api.md +1 -0
  13. data/ext/prism/api_node.c +9 -3
  14. data/ext/prism/extconf.rb +1 -1
  15. data/ext/prism/extension.c +24 -3
  16. data/ext/prism/extension.h +1 -1
  17. data/include/prism/ast.h +360 -70
  18. data/include/prism/diagnostic.h +7 -0
  19. data/include/prism/options.h +49 -3
  20. data/include/prism/parser.h +3 -0
  21. data/include/prism/regexp.h +2 -2
  22. data/include/prism/util/pm_buffer.h +8 -0
  23. data/include/prism/util/pm_integer.h +4 -0
  24. data/include/prism/util/pm_list.h +6 -0
  25. data/include/prism/util/pm_string.h +12 -2
  26. data/include/prism/version.h +2 -2
  27. data/include/prism.h +40 -15
  28. data/lib/prism/compiler.rb +457 -152
  29. data/lib/prism/desugar_compiler.rb +1 -0
  30. data/lib/prism/dispatcher.rb +16 -0
  31. data/lib/prism/dot_visitor.rb +10 -1
  32. data/lib/prism/dsl.rb +5 -2
  33. data/lib/prism/ffi.rb +28 -10
  34. data/lib/prism/inspect_visitor.rb +4 -0
  35. data/lib/prism/lex_compat.rb +18 -75
  36. data/lib/prism/lex_ripper.rb +64 -0
  37. data/lib/prism/mutation_compiler.rb +3 -0
  38. data/lib/prism/node.rb +1663 -350
  39. data/lib/prism/node_ext.rb +4 -1
  40. data/lib/prism/pack.rb +2 -0
  41. data/lib/prism/parse_result/comments.rb +1 -0
  42. data/lib/prism/parse_result/errors.rb +1 -0
  43. data/lib/prism/parse_result/newlines.rb +1 -0
  44. data/lib/prism/parse_result.rb +3 -15
  45. data/lib/prism/pattern.rb +1 -0
  46. data/lib/prism/polyfill/scan_byte.rb +14 -0
  47. data/lib/prism/polyfill/warn.rb +36 -0
  48. data/lib/prism/reflection.rb +4 -1
  49. data/lib/prism/relocation.rb +1 -0
  50. data/lib/prism/serialize.rb +30 -22
  51. data/lib/prism/string_query.rb +1 -0
  52. data/lib/prism/translation/parser/builder.rb +1 -0
  53. data/lib/prism/translation/parser/compiler.rb +63 -41
  54. data/lib/prism/translation/parser/lexer.rb +29 -21
  55. data/lib/prism/translation/parser.rb +25 -4
  56. data/lib/prism/translation/parser_current.rb +26 -0
  57. data/lib/prism/translation/parser_versions.rb +36 -0
  58. data/lib/prism/translation/ripper/lexer.rb +46 -0
  59. data/lib/prism/translation/ripper/sexp.rb +1 -0
  60. data/lib/prism/translation/ripper.rb +44 -5
  61. data/lib/prism/translation/ruby_parser.rb +341 -23
  62. data/lib/prism/translation.rb +7 -3
  63. data/lib/prism/visitor.rb +458 -153
  64. data/lib/prism.rb +23 -1
  65. data/prism.gemspec +9 -7
  66. data/rbi/prism/dsl.rbi +6 -6
  67. data/rbi/prism/node.rbi +42 -17
  68. data/rbi/prism/translation/parser_versions.rbi +23 -0
  69. data/sig/prism/dispatcher.rbs +3 -0
  70. data/sig/prism/dsl.rbs +5 -5
  71. data/sig/prism/node.rbs +463 -38
  72. data/sig/prism/node_ext.rbs +84 -17
  73. data/sig/prism/parse_result/comments.rbs +38 -0
  74. data/sig/prism/parse_result.rbs +4 -0
  75. data/sig/prism/reflection.rbs +1 -1
  76. data/sig/prism.rbs +4 -0
  77. data/src/diagnostic.c +13 -1
  78. data/src/encoding.c +172 -67
  79. data/src/node.c +11 -0
  80. data/src/options.c +17 -7
  81. data/src/prettyprint.c +18 -0
  82. data/src/prism.c +1533 -2038
  83. data/src/serialize.c +9 -1
  84. data/src/token_type.c +38 -36
  85. data/src/util/pm_constant_pool.c +1 -1
  86. data/src/util/pm_string.c +6 -8
  87. metadata +11 -9
  88. data/lib/prism/translation/parser33.rb +0 -12
  89. data/lib/prism/translation/parser34.rb +0 -12
  90. data/lib/prism/translation/parser35.rb +0 -12
  91. data/rbi/prism/translation/parser33.rbi +0 -6
  92. data/rbi/prism/translation/parser34.rbi +0 -6
  93. data/rbi/prism/translation/parser35.rbi +0 -6
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,15 @@ 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 each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
20
+ def self.fields: () -> Array[Prism::Reflection::Field]
21
+ def type: () -> Symbol
22
+ def self.type: () -> Symbol
23
+
24
24
  def source_lines: () -> Array[String]
25
25
  alias script_lines source_lines
26
26
  def slice: () -> String
@@ -29,26 +29,51 @@ module Prism
29
29
  def to_dot: () -> String
30
30
  def tunnel: (Integer line, Integer column) -> Array[Prism::node]
31
31
  def breadth_first_search: () { (Prism::node) -> bool } -> Prism::node?
32
- def deprecated: (*String) -> void
33
32
  def newline!: (Array[untyped]) -> void
34
- end
35
33
 
36
- type node_singleton = singleton(Node) & _NodeSingleton
34
+ def save: (_Repository repository) -> void
35
+ def save_location: (_Repository repository) -> void
36
+
37
+ def leading_comments: () -> Array[comment]
38
+ def trailing_comments: () -> Array[comment]
39
+ def comments: () -> Array[comment]
40
+
41
+ def start_offset: () -> Integer
42
+ def start_character_offset: () -> Integer
43
+ def start_code_units_offset: (Encoding encoding) -> Integer
44
+ def cached_start_code_units_offset: (_CodeUnitsCache cache) -> Integer
45
+
46
+ def end_offset: () -> Integer
47
+ def end_character_offset: () -> Integer
48
+ def end_code_units_offset: (Encoding encoding) -> Integer
49
+ def cached_end_code_units_offset: (_CodeUnitsCache cache) -> Integer
50
+
51
+ def start_line: () -> Integer
52
+ def end_line: () -> Integer
53
+
54
+ def start_column: () -> Integer
55
+ def start_character_column: () -> Integer
56
+ def start_code_units_column: (Encoding encoding) -> Integer
57
+ def cached_start_code_units_column: (_CodeUnitsCache cache) -> Integer
58
+
59
+ def end_column: () -> Integer
60
+ def end_character_column: () -> Integer
61
+ def end_code_units_column: (Encoding encoding) -> Integer
62
+ def cached_end_code_units_column: (_CodeUnitsCache cache) -> Integer
63
+ end
37
64
 
38
65
  # Methods implemented by every subclass of Node
39
66
  interface _Node
40
- def accept: (_Visitor) -> void
41
- def child_nodes: () -> Array[Prism::node?]
42
67
  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
68
  def inspect: () -> String
47
- def type: () -> Symbol
48
69
  end
49
70
 
50
71
  type node = Node & _Node
51
72
 
73
+ interface _Repository
74
+ def enter: (Integer node_id, Symbol field_name) -> void
75
+ end
76
+
52
77
 
53
78
  # Represents the use of the `alias` keyword to alias a global variable.
54
79
  #
@@ -61,6 +86,8 @@ module Prism
61
86
  attr_reader old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode
62
87
  attr_reader keyword_loc: Location
63
88
 
89
+ def save_keyword_loc: (_Repository repository) -> void
90
+
64
91
  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
92
  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
93
  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 +108,8 @@ module Prism
81
108
  attr_reader old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode
82
109
  attr_reader keyword_loc: Location
83
110
 
111
+ def save_keyword_loc: (_Repository repository) -> void
112
+
84
113
  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
114
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: SymbolNode | InterpolatedSymbolNode, ?old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, ?keyword_loc: Location) -> AliasMethodNode
86
115
  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 +130,8 @@ module Prism
101
130
  attr_reader right: Prism::node
102
131
  attr_reader operator_loc: Location
103
132
 
133
+ def save_operator_loc: (_Repository repository) -> void
134
+
104
135
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
105
136
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AlternationPatternNode
106
137
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -121,6 +152,8 @@ module Prism
121
152
  attr_reader right: Prism::node
122
153
  attr_reader operator_loc: Location
123
154
 
155
+ def save_operator_loc: (_Repository repository) -> void
156
+
124
157
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
125
158
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AndNode
126
159
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -145,6 +178,7 @@ module Prism
145
178
 
146
179
  attr_reader arguments: Array[Prism::node]
147
180
 
181
+
148
182
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] arguments) -> void
149
183
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: Array[Prism::node]) -> ArgumentsNode
150
184
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: Array[Prism::node] }
@@ -166,6 +200,9 @@ module Prism
166
200
  attr_reader opening_loc: Location?
167
201
  attr_reader closing_loc: Location?
168
202
 
203
+ def save_opening_loc: (_Repository repository) -> void
204
+ def save_closing_loc: (_Repository repository) -> void
205
+
169
206
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] elements, Location? opening_loc, Location? closing_loc) -> void
170
207
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayNode
171
208
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[Prism::node], opening_loc: Location?, closing_loc: Location? }
@@ -195,16 +232,19 @@ module Prism
195
232
  class ArrayPatternNode < Node
196
233
  include _Node
197
234
 
198
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
235
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
199
236
  attr_reader requireds: Array[Prism::node]
200
237
  attr_reader rest: Prism::node?
201
238
  attr_reader posts: Array[Prism::node]
202
239
  attr_reader opening_loc: Location?
203
240
  attr_reader closing_loc: Location?
204
241
 
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? }
242
+ def save_opening_loc: (_Repository repository) -> void
243
+ def save_closing_loc: (_Repository repository) -> void
244
+
245
+ 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
246
+ 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
247
+ 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
248
  def opening: () -> String?
209
249
  def closing: () -> String?
210
250
  def type: () -> :array_pattern_node
@@ -223,6 +263,8 @@ module Prism
223
263
  attr_reader value: Prism::node
224
264
  attr_reader operator_loc: Location?
225
265
 
266
+ def save_operator_loc: (_Repository repository) -> void
267
+
226
268
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node key, Prism::node value, Location? operator_loc) -> void
227
269
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?key: Prism::node, ?value: Prism::node, ?operator_loc: Location?) -> AssocNode
228
270
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, key: Prism::node, value: Prism::node, operator_loc: Location? }
@@ -242,6 +284,8 @@ module Prism
242
284
  attr_reader value: Prism::node?
243
285
  attr_reader operator_loc: Location
244
286
 
287
+ def save_operator_loc: (_Repository repository) -> void
288
+
245
289
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? value, Location operator_loc) -> void
246
290
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node?, ?operator_loc: Location) -> AssocSplatNode
247
291
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node?, operator_loc: Location }
@@ -260,6 +304,7 @@ module Prism
260
304
 
261
305
  attr_reader name: Symbol
262
306
 
307
+
263
308
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
264
309
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BackReferenceReadNode
265
310
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -284,6 +329,9 @@ module Prism
284
329
  attr_reader ensure_clause: EnsureNode?
285
330
  attr_reader end_keyword_loc: Location?
286
331
 
332
+ def save_begin_keyword_loc: (_Repository repository) -> void
333
+ def save_end_keyword_loc: (_Repository repository) -> void
334
+
287
335
  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
336
  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
337
  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 +352,8 @@ module Prism
304
352
  attr_reader expression: Prism::node?
305
353
  attr_reader operator_loc: Location
306
354
 
355
+ def save_operator_loc: (_Repository repository) -> void
356
+
307
357
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? expression, Location operator_loc) -> void
308
358
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node?, ?operator_loc: Location) -> BlockArgumentNode
309
359
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node?, operator_loc: Location }
@@ -324,6 +374,7 @@ module Prism
324
374
 
325
375
  attr_reader name: Symbol
326
376
 
377
+
327
378
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
328
379
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BlockLocalVariableNode
329
380
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -345,6 +396,9 @@ module Prism
345
396
  attr_reader opening_loc: Location
346
397
  attr_reader closing_loc: Location
347
398
 
399
+ def save_opening_loc: (_Repository repository) -> void
400
+ def save_closing_loc: (_Repository repository) -> void
401
+
348
402
  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
403
  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
404
  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 +423,9 @@ module Prism
369
423
  attr_reader name_loc: Location?
370
424
  attr_reader operator_loc: Location
371
425
 
426
+ def save_name_loc: (_Repository repository) -> void
427
+ def save_operator_loc: (_Repository repository) -> void
428
+
372
429
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
373
430
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> BlockParameterNode
374
431
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -394,6 +451,9 @@ module Prism
394
451
  attr_reader opening_loc: Location?
395
452
  attr_reader closing_loc: Location?
396
453
 
454
+ def save_opening_loc: (_Repository repository) -> void
455
+ def save_closing_loc: (_Repository repository) -> void
456
+
397
457
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ParametersNode? parameters, Array[BlockLocalVariableNode] locals, Location? opening_loc, Location? closing_loc) -> void
398
458
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parameters: ParametersNode?, ?locals: Array[BlockLocalVariableNode], ?opening_loc: Location?, ?closing_loc: Location?) -> BlockParametersNode
399
459
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parameters: ParametersNode?, locals: Array[BlockLocalVariableNode], opening_loc: Location?, closing_loc: Location? }
@@ -414,6 +474,8 @@ module Prism
414
474
  attr_reader arguments: ArgumentsNode?
415
475
  attr_reader keyword_loc: Location
416
476
 
477
+ def save_keyword_loc: (_Repository repository) -> void
478
+
417
479
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
418
480
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> BreakNode
419
481
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
@@ -443,6 +505,10 @@ module Prism
443
505
  attr_reader operator_loc: Location
444
506
  attr_reader value: Prism::node
445
507
 
508
+ def save_call_operator_loc: (_Repository repository) -> void
509
+ def save_message_loc: (_Repository repository) -> void
510
+ def save_operator_loc: (_Repository repository) -> void
511
+
446
512
  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
513
  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
514
  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 +554,23 @@ module Prism
488
554
  attr_reader opening_loc: Location?
489
555
  attr_reader arguments: ArgumentsNode?
490
556
  attr_reader closing_loc: Location?
557
+ attr_reader equal_loc: Location?
491
558
  attr_reader block: BlockNode | BlockArgumentNode | nil
492
559
 
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 }
560
+ def save_call_operator_loc: (_Repository repository) -> void
561
+ def save_message_loc: (_Repository repository) -> void
562
+ def save_opening_loc: (_Repository repository) -> void
563
+ def save_closing_loc: (_Repository repository) -> void
564
+ def save_equal_loc: (_Repository repository) -> void
565
+
566
+ 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
567
+ 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
568
+ 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
569
  def call_operator: () -> String?
497
570
  def message: () -> String?
498
571
  def opening: () -> String?
499
572
  def closing: () -> String?
573
+ def equal: () -> String?
500
574
  def type: () -> :call_node
501
575
  | ...
502
576
  def self.type: () -> :call_node
@@ -523,6 +597,10 @@ module Prism
523
597
  attr_reader binary_operator_loc: Location
524
598
  attr_reader value: Prism::node
525
599
 
600
+ def save_call_operator_loc: (_Repository repository) -> void
601
+ def save_message_loc: (_Repository repository) -> void
602
+ def save_binary_operator_loc: (_Repository repository) -> void
603
+
526
604
  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
605
  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
606
  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 +631,10 @@ module Prism
553
631
  attr_reader operator_loc: Location
554
632
  attr_reader value: Prism::node
555
633
 
634
+ def save_call_operator_loc: (_Repository repository) -> void
635
+ def save_message_loc: (_Repository repository) -> void
636
+ def save_operator_loc: (_Repository repository) -> void
637
+
556
638
  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
639
  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
640
  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 +671,9 @@ module Prism
589
671
  attr_reader name: Symbol
590
672
  attr_reader message_loc: Location
591
673
 
674
+ def save_call_operator_loc: (_Repository repository) -> void
675
+ def save_message_loc: (_Repository repository) -> void
676
+
592
677
  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
678
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location) -> CallTargetNode
594
679
  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 +695,8 @@ module Prism
610
695
  attr_reader target: LocalVariableTargetNode
611
696
  attr_reader operator_loc: Location
612
697
 
698
+ def save_operator_loc: (_Repository repository) -> void
699
+
613
700
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, LocalVariableTargetNode target, Location operator_loc) -> void
614
701
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: LocalVariableTargetNode, ?operator_loc: Location) -> CapturePatternNode
615
702
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, target: LocalVariableTargetNode, operator_loc: Location }
@@ -634,6 +721,9 @@ module Prism
634
721
  attr_reader case_keyword_loc: Location
635
722
  attr_reader end_keyword_loc: Location
636
723
 
724
+ def save_case_keyword_loc: (_Repository repository) -> void
725
+ def save_end_keyword_loc: (_Repository repository) -> void
726
+
637
727
  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
728
  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
729
  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 +749,9 @@ module Prism
659
749
  attr_reader case_keyword_loc: Location
660
750
  attr_reader end_keyword_loc: Location
661
751
 
752
+ def save_case_keyword_loc: (_Repository repository) -> void
753
+ def save_end_keyword_loc: (_Repository repository) -> void
754
+
662
755
  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
756
  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
757
  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 +778,10 @@ module Prism
685
778
  attr_reader end_keyword_loc: Location
686
779
  attr_reader name: Symbol
687
780
 
781
+ def save_class_keyword_loc: (_Repository repository) -> void
782
+ def save_inheritance_operator_loc: (_Repository repository) -> void
783
+ def save_end_keyword_loc: (_Repository repository) -> void
784
+
688
785
  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
786
  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
787
  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 +805,9 @@ module Prism
708
805
  attr_reader operator_loc: Location
709
806
  attr_reader value: Prism::node
710
807
 
808
+ def save_name_loc: (_Repository repository) -> void
809
+ def save_operator_loc: (_Repository repository) -> void
810
+
711
811
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
712
812
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableAndWriteNode
713
813
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -730,6 +830,9 @@ module Prism
730
830
  attr_reader value: Prism::node
731
831
  attr_reader binary_operator: Symbol
732
832
 
833
+ def save_name_loc: (_Repository repository) -> void
834
+ def save_binary_operator_loc: (_Repository repository) -> void
835
+
733
836
  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
837
  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
838
  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 +853,9 @@ module Prism
750
853
  attr_reader operator_loc: Location
751
854
  attr_reader value: Prism::node
752
855
 
856
+ def save_name_loc: (_Repository repository) -> void
857
+ def save_operator_loc: (_Repository repository) -> void
858
+
753
859
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
754
860
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableOrWriteNode
755
861
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -768,6 +874,7 @@ module Prism
768
874
 
769
875
  attr_reader name: Symbol
770
876
 
877
+
771
878
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
772
879
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode
773
880
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -785,6 +892,7 @@ module Prism
785
892
 
786
893
  attr_reader name: Symbol
787
894
 
895
+
788
896
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
789
897
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode
790
898
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -805,6 +913,9 @@ module Prism
805
913
  attr_reader value: Prism::node
806
914
  attr_reader operator_loc: Location
807
915
 
916
+ def save_name_loc: (_Repository repository) -> void
917
+ def save_operator_loc: (_Repository repository) -> void
918
+
808
919
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
809
920
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ClassVariableWriteNode
810
921
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -826,6 +937,9 @@ module Prism
826
937
  attr_reader operator_loc: Location
827
938
  attr_reader value: Prism::node
828
939
 
940
+ def save_name_loc: (_Repository repository) -> void
941
+ def save_operator_loc: (_Repository repository) -> void
942
+
829
943
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
830
944
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantAndWriteNode
831
945
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -848,6 +962,9 @@ module Prism
848
962
  attr_reader value: Prism::node
849
963
  attr_reader binary_operator: Symbol
850
964
 
965
+ def save_name_loc: (_Repository repository) -> void
966
+ def save_binary_operator_loc: (_Repository repository) -> void
967
+
851
968
  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
969
  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
970
  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 +985,9 @@ module Prism
868
985
  attr_reader operator_loc: Location
869
986
  attr_reader value: Prism::node
870
987
 
988
+ def save_name_loc: (_Repository repository) -> void
989
+ def save_operator_loc: (_Repository repository) -> void
990
+
871
991
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
872
992
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantOrWriteNode
873
993
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -888,6 +1008,8 @@ module Prism
888
1008
  attr_reader operator_loc: Location
889
1009
  attr_reader value: Prism::node
890
1010
 
1011
+ def save_operator_loc: (_Repository repository) -> void
1012
+
891
1013
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
892
1014
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathAndWriteNode
893
1015
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -909,6 +1031,9 @@ module Prism
909
1031
  attr_reader delimiter_loc: Location
910
1032
  attr_reader name_loc: Location
911
1033
 
1034
+ def save_delimiter_loc: (_Repository repository) -> void
1035
+ def save_name_loc: (_Repository repository) -> void
1036
+
912
1037
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
913
1038
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathNode
914
1039
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
@@ -930,6 +1055,8 @@ module Prism
930
1055
  attr_reader value: Prism::node
931
1056
  attr_reader binary_operator: Symbol
932
1057
 
1058
+ def save_binary_operator_loc: (_Repository repository) -> void
1059
+
933
1060
  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
1061
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantPathOperatorWriteNode
935
1062
  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 +1076,8 @@ module Prism
949
1076
  attr_reader operator_loc: Location
950
1077
  attr_reader value: Prism::node
951
1078
 
1079
+ def save_operator_loc: (_Repository repository) -> void
1080
+
952
1081
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
953
1082
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathOrWriteNode
954
1083
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -970,6 +1099,9 @@ module Prism
970
1099
  attr_reader delimiter_loc: Location
971
1100
  attr_reader name_loc: Location
972
1101
 
1102
+ def save_delimiter_loc: (_Repository repository) -> void
1103
+ def save_name_loc: (_Repository repository) -> void
1104
+
973
1105
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc) -> void
974
1106
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathTargetNode
975
1107
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location }
@@ -996,6 +1128,8 @@ module Prism
996
1128
  attr_reader operator_loc: Location
997
1129
  attr_reader value: Prism::node
998
1130
 
1131
+ def save_operator_loc: (_Repository repository) -> void
1132
+
999
1133
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantPathNode target, Location operator_loc, Prism::node value) -> void
1000
1134
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathWriteNode
1001
1135
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node }
@@ -1014,6 +1148,7 @@ module Prism
1014
1148
 
1015
1149
  attr_reader name: Symbol
1016
1150
 
1151
+
1017
1152
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1018
1153
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode
1019
1154
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1031,6 +1166,7 @@ module Prism
1031
1166
 
1032
1167
  attr_reader name: Symbol
1033
1168
 
1169
+
1034
1170
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1035
1171
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode
1036
1172
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1051,6 +1187,9 @@ module Prism
1051
1187
  attr_reader value: Prism::node
1052
1188
  attr_reader operator_loc: Location
1053
1189
 
1190
+ def save_name_loc: (_Repository repository) -> void
1191
+ def save_operator_loc: (_Repository repository) -> void
1192
+
1054
1193
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1055
1194
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ConstantWriteNode
1056
1195
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1081,6 +1220,14 @@ module Prism
1081
1220
  attr_reader equal_loc: Location?
1082
1221
  attr_reader end_keyword_loc: Location?
1083
1222
 
1223
+ def save_name_loc: (_Repository repository) -> void
1224
+ def save_def_keyword_loc: (_Repository repository) -> void
1225
+ def save_operator_loc: (_Repository repository) -> void
1226
+ def save_lparen_loc: (_Repository repository) -> void
1227
+ def save_rparen_loc: (_Repository repository) -> void
1228
+ def save_equal_loc: (_Repository repository) -> void
1229
+ def save_end_keyword_loc: (_Repository repository) -> void
1230
+
1084
1231
  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
1232
  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
1233
  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 +1254,10 @@ module Prism
1107
1254
  attr_reader rparen_loc: Location?
1108
1255
  attr_reader keyword_loc: Location
1109
1256
 
1257
+ def save_lparen_loc: (_Repository repository) -> void
1258
+ def save_rparen_loc: (_Repository repository) -> void
1259
+ def save_keyword_loc: (_Repository repository) -> void
1260
+
1110
1261
  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
1262
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location) -> DefinedNode
1112
1263
  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 +1280,9 @@ module Prism
1129
1280
  attr_reader statements: StatementsNode?
1130
1281
  attr_reader end_keyword_loc: Location?
1131
1282
 
1283
+ def save_else_keyword_loc: (_Repository repository) -> void
1284
+ def save_end_keyword_loc: (_Repository repository) -> void
1285
+
1132
1286
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc) -> void
1133
1287
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?) -> ElseNode
1134
1288
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location? }
@@ -1150,6 +1304,9 @@ module Prism
1150
1304
  attr_reader statements: StatementsNode?
1151
1305
  attr_reader closing_loc: Location
1152
1306
 
1307
+ def save_opening_loc: (_Repository repository) -> void
1308
+ def save_closing_loc: (_Repository repository) -> void
1309
+
1153
1310
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, StatementsNode? statements, Location closing_loc) -> void
1154
1311
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location) -> EmbeddedStatementsNode
1155
1312
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, statements: StatementsNode?, closing_loc: Location }
@@ -1170,6 +1327,8 @@ module Prism
1170
1327
  attr_reader operator_loc: Location
1171
1328
  attr_reader variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode
1172
1329
 
1330
+ def save_operator_loc: (_Repository repository) -> void
1331
+
1173
1332
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode variable) -> void
1174
1333
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode) -> EmbeddedVariableNode
1175
1334
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode }
@@ -1194,6 +1353,9 @@ module Prism
1194
1353
  attr_reader statements: StatementsNode?
1195
1354
  attr_reader end_keyword_loc: Location
1196
1355
 
1356
+ def save_ensure_keyword_loc: (_Repository repository) -> void
1357
+ def save_end_keyword_loc: (_Repository repository) -> void
1358
+
1197
1359
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc) -> void
1198
1360
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location) -> EnsureNode
1199
1361
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location }
@@ -1212,6 +1374,7 @@ module Prism
1212
1374
  include _Node
1213
1375
 
1214
1376
 
1377
+
1215
1378
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1216
1379
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode
1217
1380
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1230,19 +1393,25 @@ module Prism
1230
1393
  #
1231
1394
  # foo in Foo(*bar, baz, *qux)
1232
1395
  # ^^^^^^^^^^^^^^^^^^^^
1396
+ #
1397
+ # foo => *bar, baz, *qux
1398
+ # ^^^^^^^^^^^^^^^
1233
1399
  class FindPatternNode < Node
1234
1400
  include _Node
1235
1401
 
1236
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
1402
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
1237
1403
  attr_reader left: SplatNode
1238
1404
  attr_reader requireds: Array[Prism::node]
1239
1405
  attr_reader right: SplatNode | MissingNode
1240
1406
  attr_reader opening_loc: Location?
1241
1407
  attr_reader closing_loc: Location?
1242
1408
 
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? }
1409
+ def save_opening_loc: (_Repository repository) -> void
1410
+ def save_closing_loc: (_Repository repository) -> void
1411
+
1412
+ 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
1413
+ 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
1414
+ 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
1415
  def opening: () -> String?
1247
1416
  def closing: () -> String?
1248
1417
  def type: () -> :find_pattern_node
@@ -1263,6 +1432,8 @@ module Prism
1263
1432
  attr_reader right: Prism::node?
1264
1433
  attr_reader operator_loc: Location
1265
1434
 
1435
+ def save_operator_loc: (_Repository repository) -> void
1436
+
1266
1437
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
1267
1438
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> FlipFlopNode
1268
1439
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
@@ -1281,6 +1452,7 @@ module Prism
1281
1452
 
1282
1453
  attr_reader value: Float
1283
1454
 
1455
+
1284
1456
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Float value) -> void
1285
1457
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode
1286
1458
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Float }
@@ -1304,6 +1476,11 @@ module Prism
1304
1476
  attr_reader do_keyword_loc: Location?
1305
1477
  attr_reader end_keyword_loc: Location
1306
1478
 
1479
+ def save_for_keyword_loc: (_Repository repository) -> void
1480
+ def save_in_keyword_loc: (_Repository repository) -> void
1481
+ def save_do_keyword_loc: (_Repository repository) -> void
1482
+ def save_end_keyword_loc: (_Repository repository) -> void
1483
+
1307
1484
  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
1485
  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
1486
  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 +1503,7 @@ module Prism
1326
1503
  include _Node
1327
1504
 
1328
1505
 
1506
+
1329
1507
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1330
1508
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode
1331
1509
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1343,6 +1521,7 @@ module Prism
1343
1521
  include _Node
1344
1522
 
1345
1523
 
1524
+
1346
1525
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1347
1526
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode
1348
1527
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1351,15 +1530,21 @@ module Prism
1351
1530
  def self.type: () -> :forwarding_parameter_node
1352
1531
  end
1353
1532
 
1354
- # Represents the use of the `super` keyword without parentheses or arguments.
1533
+ # Represents the use of the `super` keyword without parentheses or arguments, but which might have a block.
1355
1534
  #
1356
1535
  # super
1357
1536
  # ^^^^^
1537
+ #
1538
+ # super { 123 }
1539
+ # ^^^^^^^^^^^^^
1540
+ #
1541
+ # If it has any other arguments, it would be a `SuperNode` instead.
1358
1542
  class ForwardingSuperNode < Node
1359
1543
  include _Node
1360
1544
 
1361
1545
  attr_reader block: BlockNode?
1362
1546
 
1547
+
1363
1548
  def initialize: (Source source, Integer node_id, Location location, Integer flags, BlockNode? block) -> void
1364
1549
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode
1365
1550
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, block: BlockNode? }
@@ -1380,6 +1565,9 @@ module Prism
1380
1565
  attr_reader operator_loc: Location
1381
1566
  attr_reader value: Prism::node
1382
1567
 
1568
+ def save_name_loc: (_Repository repository) -> void
1569
+ def save_operator_loc: (_Repository repository) -> void
1570
+
1383
1571
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1384
1572
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableAndWriteNode
1385
1573
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1402,6 +1590,9 @@ module Prism
1402
1590
  attr_reader value: Prism::node
1403
1591
  attr_reader binary_operator: Symbol
1404
1592
 
1593
+ def save_name_loc: (_Repository repository) -> void
1594
+ def save_binary_operator_loc: (_Repository repository) -> void
1595
+
1405
1596
  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
1597
  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
1598
  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 +1613,9 @@ module Prism
1422
1613
  attr_reader operator_loc: Location
1423
1614
  attr_reader value: Prism::node
1424
1615
 
1616
+ def save_name_loc: (_Repository repository) -> void
1617
+ def save_operator_loc: (_Repository repository) -> void
1618
+
1425
1619
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1426
1620
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableOrWriteNode
1427
1621
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1440,6 +1634,7 @@ module Prism
1440
1634
 
1441
1635
  attr_reader name: Symbol
1442
1636
 
1637
+
1443
1638
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1444
1639
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode
1445
1640
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1457,6 +1652,7 @@ module Prism
1457
1652
 
1458
1653
  attr_reader name: Symbol
1459
1654
 
1655
+
1460
1656
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1461
1657
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode
1462
1658
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1477,6 +1673,9 @@ module Prism
1477
1673
  attr_reader value: Prism::node
1478
1674
  attr_reader operator_loc: Location
1479
1675
 
1676
+ def save_name_loc: (_Repository repository) -> void
1677
+ def save_operator_loc: (_Repository repository) -> void
1678
+
1480
1679
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1481
1680
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> GlobalVariableWriteNode
1482
1681
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1497,6 +1696,9 @@ module Prism
1497
1696
  attr_reader elements: Array[AssocNode | AssocSplatNode]
1498
1697
  attr_reader closing_loc: Location
1499
1698
 
1699
+ def save_opening_loc: (_Repository repository) -> void
1700
+ def save_closing_loc: (_Repository repository) -> void
1701
+
1500
1702
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[AssocNode | AssocSplatNode] elements, Location closing_loc) -> void
1501
1703
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location) -> HashNode
1502
1704
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location }
@@ -1514,18 +1716,27 @@ module Prism
1514
1716
  #
1515
1717
  # foo => { a: 1, b: 2, **c }
1516
1718
  # ^^^^^^^^^^^^^^^^^^^
1719
+ #
1720
+ # foo => Bar[a: 1, b: 2]
1721
+ # ^^^^^^^^^^^^^^^
1722
+ #
1723
+ # foo in { a: 1, b: 2 }
1724
+ # ^^^^^^^^^^^^^^
1517
1725
  class HashPatternNode < Node
1518
1726
  include _Node
1519
1727
 
1520
- attr_reader constant: ConstantReadNode | ConstantPathNode | nil
1728
+ attr_reader constant: ConstantPathNode | ConstantReadNode | nil
1521
1729
  attr_reader elements: Array[AssocNode]
1522
1730
  attr_reader rest: AssocSplatNode | NoKeywordsParameterNode | nil
1523
1731
  attr_reader opening_loc: Location?
1524
1732
  attr_reader closing_loc: Location?
1525
1733
 
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? }
1734
+ def save_opening_loc: (_Repository repository) -> void
1735
+ def save_closing_loc: (_Repository repository) -> void
1736
+
1737
+ 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
1738
+ 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
1739
+ 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
1740
  def opening: () -> String?
1530
1741
  def closing: () -> String?
1531
1742
  def type: () -> :hash_pattern_node
@@ -1553,6 +1764,10 @@ module Prism
1553
1764
  attr_reader subsequent: ElseNode | IfNode | nil
1554
1765
  attr_reader end_keyword_loc: Location?
1555
1766
 
1767
+ def save_if_keyword_loc: (_Repository repository) -> void
1768
+ def save_then_keyword_loc: (_Repository repository) -> void
1769
+ def save_end_keyword_loc: (_Repository repository) -> void
1770
+
1556
1771
  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
1772
  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
1773
  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 +1788,7 @@ module Prism
1573
1788
 
1574
1789
  attr_reader numeric: FloatNode | IntegerNode | RationalNode
1575
1790
 
1791
+
1576
1792
  def initialize: (Source source, Integer node_id, Location location, Integer flags, FloatNode | IntegerNode | RationalNode numeric) -> void
1577
1793
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numeric: FloatNode | IntegerNode | RationalNode) -> ImaginaryNode
1578
1794
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numeric: FloatNode | IntegerNode | RationalNode }
@@ -1596,6 +1812,7 @@ module Prism
1596
1812
 
1597
1813
  attr_reader value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode
1598
1814
 
1815
+
1599
1816
  def initialize: (Source source, Integer node_id, Location location, Integer flags, LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode value) -> void
1600
1817
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode) -> ImplicitNode
1601
1818
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode }
@@ -1621,6 +1838,7 @@ module Prism
1621
1838
  include _Node
1622
1839
 
1623
1840
 
1841
+
1624
1842
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
1625
1843
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode
1626
1844
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -1641,6 +1859,9 @@ module Prism
1641
1859
  attr_reader in_loc: Location
1642
1860
  attr_reader then_loc: Location?
1643
1861
 
1862
+ def save_in_loc: (_Repository repository) -> void
1863
+ def save_then_loc: (_Repository repository) -> void
1864
+
1644
1865
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node pattern, StatementsNode? statements, Location in_loc, Location? then_loc) -> void
1645
1866
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?) -> InNode
1646
1867
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, pattern: Prism::node, statements: StatementsNode?, in_loc: Location, then_loc: Location? }
@@ -1672,6 +1893,11 @@ module Prism
1672
1893
  attr_reader operator_loc: Location
1673
1894
  attr_reader value: Prism::node
1674
1895
 
1896
+ def save_call_operator_loc: (_Repository repository) -> void
1897
+ def save_opening_loc: (_Repository repository) -> void
1898
+ def save_closing_loc: (_Repository repository) -> void
1899
+ def save_operator_loc: (_Repository repository) -> void
1900
+
1675
1901
  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
1902
  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
1903
  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 +1932,11 @@ module Prism
1706
1932
  attr_reader binary_operator_loc: Location
1707
1933
  attr_reader value: Prism::node
1708
1934
 
1935
+ def save_call_operator_loc: (_Repository repository) -> void
1936
+ def save_opening_loc: (_Repository repository) -> void
1937
+ def save_closing_loc: (_Repository repository) -> void
1938
+ def save_binary_operator_loc: (_Repository repository) -> void
1939
+
1709
1940
  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
1941
  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
1942
  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 +1969,11 @@ module Prism
1738
1969
  attr_reader operator_loc: Location
1739
1970
  attr_reader value: Prism::node
1740
1971
 
1972
+ def save_call_operator_loc: (_Repository repository) -> void
1973
+ def save_opening_loc: (_Repository repository) -> void
1974
+ def save_closing_loc: (_Repository repository) -> void
1975
+ def save_operator_loc: (_Repository repository) -> void
1976
+
1741
1977
  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
1978
  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
1979
  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 +2012,9 @@ module Prism
1776
2012
  attr_reader closing_loc: Location
1777
2013
  attr_reader block: BlockArgumentNode?
1778
2014
 
2015
+ def save_opening_loc: (_Repository repository) -> void
2016
+ def save_closing_loc: (_Repository repository) -> void
2017
+
1779
2018
  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
2019
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: BlockArgumentNode?) -> IndexTargetNode
1781
2020
  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 +2037,9 @@ module Prism
1798
2037
  attr_reader operator_loc: Location
1799
2038
  attr_reader value: Prism::node
1800
2039
 
2040
+ def save_name_loc: (_Repository repository) -> void
2041
+ def save_operator_loc: (_Repository repository) -> void
2042
+
1801
2043
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1802
2044
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableAndWriteNode
1803
2045
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1820,6 +2062,9 @@ module Prism
1820
2062
  attr_reader value: Prism::node
1821
2063
  attr_reader binary_operator: Symbol
1822
2064
 
2065
+ def save_name_loc: (_Repository repository) -> void
2066
+ def save_binary_operator_loc: (_Repository repository) -> void
2067
+
1823
2068
  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
2069
  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
2070
  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 +2085,9 @@ module Prism
1840
2085
  attr_reader operator_loc: Location
1841
2086
  attr_reader value: Prism::node
1842
2087
 
2088
+ def save_name_loc: (_Repository repository) -> void
2089
+ def save_operator_loc: (_Repository repository) -> void
2090
+
1843
2091
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
1844
2092
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableOrWriteNode
1845
2093
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -1858,6 +2106,7 @@ module Prism
1858
2106
 
1859
2107
  attr_reader name: Symbol
1860
2108
 
2109
+
1861
2110
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1862
2111
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode
1863
2112
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1875,6 +2124,7 @@ module Prism
1875
2124
 
1876
2125
  attr_reader name: Symbol
1877
2126
 
2127
+
1878
2128
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
1879
2129
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode
1880
2130
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -1895,6 +2145,9 @@ module Prism
1895
2145
  attr_reader value: Prism::node
1896
2146
  attr_reader operator_loc: Location
1897
2147
 
2148
+ def save_name_loc: (_Repository repository) -> void
2149
+ def save_operator_loc: (_Repository repository) -> void
2150
+
1898
2151
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value, Location operator_loc) -> void
1899
2152
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> InstanceVariableWriteNode
1900
2153
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location }
@@ -1918,6 +2171,7 @@ module Prism
1918
2171
 
1919
2172
  attr_reader value: Integer
1920
2173
 
2174
+
1921
2175
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer value) -> void
1922
2176
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Integer) -> IntegerNode
1923
2177
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Integer }
@@ -1949,6 +2203,9 @@ module Prism
1949
2203
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1950
2204
  attr_reader closing_loc: Location
1951
2205
 
2206
+ def save_opening_loc: (_Repository repository) -> void
2207
+ def save_closing_loc: (_Repository repository) -> void
2208
+
1952
2209
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1953
2210
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedMatchLastLineNode
1954
2211
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -1982,6 +2239,9 @@ module Prism
1982
2239
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
1983
2240
  attr_reader closing_loc: Location
1984
2241
 
2242
+ def save_opening_loc: (_Repository repository) -> void
2243
+ def save_closing_loc: (_Repository repository) -> void
2244
+
1985
2245
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
1986
2246
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedRegularExpressionNode
1987
2247
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -2003,12 +2263,15 @@ module Prism
2003
2263
  def mutable?: () -> bool
2004
2264
 
2005
2265
  attr_reader opening_loc: Location?
2006
- attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode]
2266
+ attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode]
2007
2267
  attr_reader closing_loc: Location?
2008
2268
 
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? }
2269
+ def save_opening_loc: (_Repository repository) -> void
2270
+ def save_closing_loc: (_Repository repository) -> void
2271
+
2272
+ 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
2273
+ 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
2274
+ 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
2275
  def opening: () -> String?
2013
2276
  def closing: () -> String?
2014
2277
  def type: () -> :interpolated_string_node
@@ -2027,6 +2290,9 @@ module Prism
2027
2290
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2028
2291
  attr_reader closing_loc: Location?
2029
2292
 
2293
+ def save_opening_loc: (_Repository repository) -> void
2294
+ def save_closing_loc: (_Repository repository) -> void
2295
+
2030
2296
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location? closing_loc) -> void
2031
2297
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?) -> InterpolatedSymbolNode
2032
2298
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location? }
@@ -2048,6 +2314,9 @@ module Prism
2048
2314
  attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
2049
2315
  attr_reader closing_loc: Location
2050
2316
 
2317
+ def save_opening_loc: (_Repository repository) -> void
2318
+ def save_closing_loc: (_Repository repository) -> void
2319
+
2051
2320
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc) -> void
2052
2321
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedXStringNode
2053
2322
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location }
@@ -2066,6 +2335,7 @@ module Prism
2066
2335
  include _Node
2067
2336
 
2068
2337
 
2338
+
2069
2339
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2070
2340
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode
2071
2341
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2082,6 +2352,7 @@ module Prism
2082
2352
  include _Node
2083
2353
 
2084
2354
 
2355
+
2085
2356
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2086
2357
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode
2087
2358
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2101,6 +2372,7 @@ module Prism
2101
2372
 
2102
2373
  attr_reader elements: Array[AssocNode | AssocSplatNode]
2103
2374
 
2375
+
2104
2376
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[AssocNode | AssocSplatNode] elements) -> void
2105
2377
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode]) -> KeywordHashNode
2106
2378
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[AssocNode | AssocSplatNode] }
@@ -2123,6 +2395,9 @@ module Prism
2123
2395
  attr_reader name_loc: Location?
2124
2396
  attr_reader operator_loc: Location
2125
2397
 
2398
+ def save_name_loc: (_Repository repository) -> void
2399
+ def save_operator_loc: (_Repository repository) -> void
2400
+
2126
2401
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2127
2402
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> KeywordRestParameterNode
2128
2403
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -2146,6 +2421,10 @@ module Prism
2146
2421
  attr_reader parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil
2147
2422
  attr_reader body: StatementsNode | BeginNode | nil
2148
2423
 
2424
+ def save_operator_loc: (_Repository repository) -> void
2425
+ def save_opening_loc: (_Repository repository) -> void
2426
+ def save_closing_loc: (_Repository repository) -> void
2427
+
2149
2428
  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
2429
  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
2430
  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 +2449,9 @@ module Prism
2170
2449
  attr_reader name: Symbol
2171
2450
  attr_reader depth: Integer
2172
2451
 
2452
+ def save_name_loc: (_Repository repository) -> void
2453
+ def save_operator_loc: (_Repository repository) -> void
2454
+
2173
2455
  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
2456
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableAndWriteNode
2175
2457
  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 +2475,9 @@ module Prism
2193
2475
  attr_reader binary_operator: Symbol
2194
2476
  attr_reader depth: Integer
2195
2477
 
2478
+ def save_name_loc: (_Repository repository) -> void
2479
+ def save_binary_operator_loc: (_Repository repository) -> void
2480
+
2196
2481
  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
2482
  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
2483
  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 +2499,9 @@ module Prism
2214
2499
  attr_reader name: Symbol
2215
2500
  attr_reader depth: Integer
2216
2501
 
2502
+ def save_name_loc: (_Repository repository) -> void
2503
+ def save_operator_loc: (_Repository repository) -> void
2504
+
2217
2505
  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
2506
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableOrWriteNode
2219
2507
  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 +2521,7 @@ module Prism
2233
2521
  attr_reader name: Symbol
2234
2522
  attr_reader depth: Integer
2235
2523
 
2524
+
2236
2525
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2237
2526
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableReadNode
2238
2527
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
@@ -2245,12 +2534,16 @@ module Prism
2245
2534
  #
2246
2535
  # foo, bar = baz
2247
2536
  # ^^^ ^^^
2537
+ #
2538
+ # foo => baz
2539
+ # ^^^
2248
2540
  class LocalVariableTargetNode < Node
2249
2541
  include _Node
2250
2542
 
2251
2543
  attr_reader name: Symbol
2252
2544
  attr_reader depth: Integer
2253
2545
 
2546
+
2254
2547
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Integer depth) -> void
2255
2548
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableTargetNode
2256
2549
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer }
@@ -2272,6 +2565,9 @@ module Prism
2272
2565
  attr_reader value: Prism::node
2273
2566
  attr_reader operator_loc: Location
2274
2567
 
2568
+ def save_name_loc: (_Repository repository) -> void
2569
+ def save_operator_loc: (_Repository repository) -> void
2570
+
2275
2571
  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
2572
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> LocalVariableWriteNode
2277
2573
  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 +2601,10 @@ module Prism
2305
2601
  attr_reader closing_loc: Location
2306
2602
  attr_reader unescaped: String
2307
2603
 
2604
+ def save_opening_loc: (_Repository repository) -> void
2605
+ def save_content_loc: (_Repository repository) -> void
2606
+ def save_closing_loc: (_Repository repository) -> void
2607
+
2308
2608
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2309
2609
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> MatchLastLineNode
2310
2610
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -2327,6 +2627,8 @@ module Prism
2327
2627
  attr_reader pattern: Prism::node
2328
2628
  attr_reader operator_loc: Location
2329
2629
 
2630
+ def save_operator_loc: (_Repository repository) -> void
2631
+
2330
2632
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2331
2633
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchPredicateNode
2332
2634
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
@@ -2347,6 +2649,8 @@ module Prism
2347
2649
  attr_reader pattern: Prism::node
2348
2650
  attr_reader operator_loc: Location
2349
2651
 
2652
+ def save_operator_loc: (_Repository repository) -> void
2653
+
2350
2654
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node value, Prism::node pattern, Location operator_loc) -> void
2351
2655
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchRequiredNode
2352
2656
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location }
@@ -2366,6 +2670,7 @@ module Prism
2366
2670
  attr_reader call: CallNode
2367
2671
  attr_reader targets: Array[LocalVariableTargetNode]
2368
2672
 
2673
+
2369
2674
  def initialize: (Source source, Integer node_id, Location location, Integer flags, CallNode call, Array[LocalVariableTargetNode] targets) -> void
2370
2675
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) -> MatchWriteNode
2371
2676
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, call: CallNode, targets: Array[LocalVariableTargetNode] }
@@ -2379,6 +2684,7 @@ module Prism
2379
2684
  include _Node
2380
2685
 
2381
2686
 
2687
+
2382
2688
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2383
2689
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode
2384
2690
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2401,6 +2707,9 @@ module Prism
2401
2707
  attr_reader end_keyword_loc: Location
2402
2708
  attr_reader name: Symbol
2403
2709
 
2710
+ def save_module_keyword_loc: (_Repository repository) -> void
2711
+ def save_end_keyword_loc: (_Repository repository) -> void
2712
+
2404
2713
  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
2714
  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
2715
  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 +2738,9 @@ module Prism
2429
2738
  attr_reader lparen_loc: Location?
2430
2739
  attr_reader rparen_loc: Location?
2431
2740
 
2741
+ def save_lparen_loc: (_Repository repository) -> void
2742
+ def save_rparen_loc: (_Repository repository) -> void
2743
+
2432
2744
  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
2745
  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
2746
  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 +2766,10 @@ module Prism
2454
2766
  attr_reader operator_loc: Location
2455
2767
  attr_reader value: Prism::node
2456
2768
 
2769
+ def save_lparen_loc: (_Repository repository) -> void
2770
+ def save_rparen_loc: (_Repository repository) -> void
2771
+ def save_operator_loc: (_Repository repository) -> void
2772
+
2457
2773
  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
2774
  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
2775
  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 +2791,8 @@ module Prism
2475
2791
  attr_reader arguments: ArgumentsNode?
2476
2792
  attr_reader keyword_loc: Location
2477
2793
 
2794
+ def save_keyword_loc: (_Repository repository) -> void
2795
+
2478
2796
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ArgumentsNode? arguments, Location keyword_loc) -> void
2479
2797
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> NextNode
2480
2798
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location }
@@ -2492,6 +2810,7 @@ module Prism
2492
2810
  include _Node
2493
2811
 
2494
2812
 
2813
+
2495
2814
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2496
2815
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode
2497
2816
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2511,6 +2830,9 @@ module Prism
2511
2830
  attr_reader operator_loc: Location
2512
2831
  attr_reader keyword_loc: Location
2513
2832
 
2833
+ def save_operator_loc: (_Repository repository) -> void
2834
+ def save_keyword_loc: (_Repository repository) -> void
2835
+
2514
2836
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Location keyword_loc) -> void
2515
2837
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?keyword_loc: Location) -> NoKeywordsParameterNode
2516
2838
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, keyword_loc: Location }
@@ -2530,6 +2852,7 @@ module Prism
2530
2852
 
2531
2853
  attr_reader maximum: Integer
2532
2854
 
2855
+
2533
2856
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer maximum) -> void
2534
2857
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode
2535
2858
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, maximum: Integer }
@@ -2547,6 +2870,7 @@ module Prism
2547
2870
 
2548
2871
  attr_reader number: Integer
2549
2872
 
2873
+
2550
2874
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer number) -> void
2551
2875
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode
2552
2876
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, number: Integer }
@@ -2569,6 +2893,8 @@ module Prism
2569
2893
  attr_reader name_loc: Location
2570
2894
  attr_reader value: Prism::node
2571
2895
 
2896
+ def save_name_loc: (_Repository repository) -> void
2897
+
2572
2898
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Prism::node value) -> void
2573
2899
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node) -> OptionalKeywordParameterNode
2574
2900
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node }
@@ -2592,6 +2918,9 @@ module Prism
2592
2918
  attr_reader operator_loc: Location
2593
2919
  attr_reader value: Prism::node
2594
2920
 
2921
+ def save_name_loc: (_Repository repository) -> void
2922
+ def save_operator_loc: (_Repository repository) -> void
2923
+
2595
2924
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value) -> void
2596
2925
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> OptionalParameterNode
2597
2926
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node }
@@ -2612,6 +2941,8 @@ module Prism
2612
2941
  attr_reader right: Prism::node
2613
2942
  attr_reader operator_loc: Location
2614
2943
 
2944
+ def save_operator_loc: (_Repository repository) -> void
2945
+
2615
2946
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node left, Prism::node right, Location operator_loc) -> void
2616
2947
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> OrNode
2617
2948
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location }
@@ -2637,6 +2968,7 @@ module Prism
2637
2968
  attr_reader keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil
2638
2969
  attr_reader block: BlockParameterNode?
2639
2970
 
2971
+
2640
2972
  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
2973
  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
2974
  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 +2990,9 @@ module Prism
2658
2990
  attr_reader opening_loc: Location
2659
2991
  attr_reader closing_loc: Location
2660
2992
 
2993
+ def save_opening_loc: (_Repository repository) -> void
2994
+ def save_closing_loc: (_Repository repository) -> void
2995
+
2661
2996
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? body, Location opening_loc, Location closing_loc) -> void
2662
2997
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location) -> ParenthesesNode
2663
2998
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Prism::node?, opening_loc: Location, closing_loc: Location }
@@ -2680,6 +3015,10 @@ module Prism
2680
3015
  attr_reader lparen_loc: Location
2681
3016
  attr_reader rparen_loc: Location
2682
3017
 
3018
+ def save_operator_loc: (_Repository repository) -> void
3019
+ def save_lparen_loc: (_Repository repository) -> void
3020
+ def save_rparen_loc: (_Repository repository) -> void
3021
+
2683
3022
  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
3023
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location) -> PinnedExpressionNode
2685
3024
  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 +3040,8 @@ module Prism
2701
3040
  attr_reader variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode
2702
3041
  attr_reader operator_loc: Location
2703
3042
 
3043
+ def save_operator_loc: (_Repository repository) -> void
3044
+
2704
3045
  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
3046
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, ?operator_loc: Location) -> PinnedVariableNode
2706
3047
  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 +3063,10 @@ module Prism
2722
3063
  attr_reader opening_loc: Location
2723
3064
  attr_reader closing_loc: Location
2724
3065
 
3066
+ def save_keyword_loc: (_Repository repository) -> void
3067
+ def save_opening_loc: (_Repository repository) -> void
3068
+ def save_closing_loc: (_Repository repository) -> void
3069
+
2725
3070
  def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2726
3071
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PostExecutionNode
2727
3072
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
@@ -2745,6 +3090,10 @@ module Prism
2745
3090
  attr_reader opening_loc: Location
2746
3091
  attr_reader closing_loc: Location
2747
3092
 
3093
+ def save_keyword_loc: (_Repository repository) -> void
3094
+ def save_opening_loc: (_Repository repository) -> void
3095
+ def save_closing_loc: (_Repository repository) -> void
3096
+
2748
3097
  def initialize: (Source source, Integer node_id, Location location, Integer flags, StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc) -> void
2749
3098
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PreExecutionNode
2750
3099
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location }
@@ -2763,6 +3112,7 @@ module Prism
2763
3112
  attr_reader locals: Array[Symbol]
2764
3113
  attr_reader statements: StatementsNode
2765
3114
 
3115
+
2766
3116
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Symbol] locals, StatementsNode statements) -> void
2767
3117
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?statements: StatementsNode) -> ProgramNode
2768
3118
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], statements: StatementsNode }
@@ -2787,6 +3137,8 @@ module Prism
2787
3137
  attr_reader right: Prism::node?
2788
3138
  attr_reader operator_loc: Location
2789
3139
 
3140
+ def save_operator_loc: (_Repository repository) -> void
3141
+
2790
3142
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node? left, Prism::node? right, Location operator_loc) -> void
2791
3143
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> RangeNode
2792
3144
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location }
@@ -2811,6 +3163,7 @@ module Prism
2811
3163
  attr_reader numerator: Integer
2812
3164
  attr_reader denominator: Integer
2813
3165
 
3166
+
2814
3167
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Integer numerator, Integer denominator) -> void
2815
3168
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numerator: Integer, ?denominator: Integer) -> RationalNode
2816
3169
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numerator: Integer, denominator: Integer }
@@ -2827,6 +3180,7 @@ module Prism
2827
3180
  include _Node
2828
3181
 
2829
3182
 
3183
+
2830
3184
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2831
3185
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode
2832
3186
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -2859,6 +3213,10 @@ module Prism
2859
3213
  attr_reader closing_loc: Location
2860
3214
  attr_reader unescaped: String
2861
3215
 
3216
+ def save_opening_loc: (_Repository repository) -> void
3217
+ def save_content_loc: (_Repository repository) -> void
3218
+ def save_closing_loc: (_Repository repository) -> void
3219
+
2862
3220
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
2863
3221
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> RegularExpressionNode
2864
3222
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -2883,6 +3241,8 @@ module Prism
2883
3241
  attr_reader name: Symbol
2884
3242
  attr_reader name_loc: Location
2885
3243
 
3244
+ def save_name_loc: (_Repository repository) -> void
3245
+
2886
3246
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name, Location name_loc) -> void
2887
3247
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location) -> RequiredKeywordParameterNode
2888
3248
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location }
@@ -2903,6 +3263,7 @@ module Prism
2903
3263
 
2904
3264
  attr_reader name: Symbol
2905
3265
 
3266
+
2906
3267
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol name) -> void
2907
3268
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> RequiredParameterNode
2908
3269
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol }
@@ -2922,6 +3283,8 @@ module Prism
2922
3283
  attr_reader keyword_loc: Location
2923
3284
  attr_reader rescue_expression: Prism::node
2924
3285
 
3286
+ def save_keyword_loc: (_Repository repository) -> void
3287
+
2925
3288
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Prism::node expression, Location keyword_loc, Prism::node rescue_expression) -> void
2926
3289
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node) -> RescueModifierNode
2927
3290
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, keyword_loc: Location, rescue_expression: Prism::node }
@@ -2951,6 +3314,10 @@ module Prism
2951
3314
  attr_reader statements: StatementsNode?
2952
3315
  attr_reader subsequent: RescueNode?
2953
3316
 
3317
+ def save_keyword_loc: (_Repository repository) -> void
3318
+ def save_operator_loc: (_Repository repository) -> void
3319
+ def save_then_keyword_loc: (_Repository repository) -> void
3320
+
2954
3321
  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
3322
  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
3323
  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 +3343,9 @@ module Prism
2976
3343
  attr_reader name_loc: Location?
2977
3344
  attr_reader operator_loc: Location
2978
3345
 
3346
+ def save_name_loc: (_Repository repository) -> void
3347
+ def save_operator_loc: (_Repository repository) -> void
3348
+
2979
3349
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Symbol? name, Location? name_loc, Location operator_loc) -> void
2980
3350
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> RestParameterNode
2981
3351
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location }
@@ -2993,6 +3363,7 @@ module Prism
2993
3363
  include _Node
2994
3364
 
2995
3365
 
3366
+
2996
3367
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
2997
3368
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode
2998
3369
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3011,6 +3382,8 @@ module Prism
3011
3382
  attr_reader keyword_loc: Location
3012
3383
  attr_reader arguments: ArgumentsNode?
3013
3384
 
3385
+ def save_keyword_loc: (_Repository repository) -> void
3386
+
3014
3387
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, ArgumentsNode? arguments) -> void
3015
3388
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?) -> ReturnNode
3016
3389
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, arguments: ArgumentsNode? }
@@ -3028,6 +3401,7 @@ module Prism
3028
3401
  include _Node
3029
3402
 
3030
3403
 
3404
+
3031
3405
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3032
3406
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode
3033
3407
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3050,6 +3424,7 @@ module Prism
3050
3424
 
3051
3425
  attr_reader write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode
3052
3426
 
3427
+
3053
3428
  def initialize: (Source source, Integer node_id, Location location, Integer flags, ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode write) -> void
3054
3429
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode) -> ShareableConstantNode
3055
3430
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode }
@@ -3072,6 +3447,10 @@ module Prism
3072
3447
  attr_reader body: StatementsNode | BeginNode | nil
3073
3448
  attr_reader end_keyword_loc: Location
3074
3449
 
3450
+ def save_class_keyword_loc: (_Repository repository) -> void
3451
+ def save_operator_loc: (_Repository repository) -> void
3452
+ def save_end_keyword_loc: (_Repository repository) -> void
3453
+
3075
3454
  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
3455
  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
3456
  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 +3470,7 @@ module Prism
3091
3470
  include _Node
3092
3471
 
3093
3472
 
3473
+
3094
3474
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3095
3475
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode
3096
3476
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3113,6 +3493,7 @@ module Prism
3113
3493
 
3114
3494
  attr_reader filepath: String
3115
3495
 
3496
+
3116
3497
  def initialize: (Source source, Integer node_id, Location location, Integer flags, String filepath) -> void
3117
3498
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?filepath: String) -> SourceFileNode
3118
3499
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, filepath: String }
@@ -3129,6 +3510,7 @@ module Prism
3129
3510
  include _Node
3130
3511
 
3131
3512
 
3513
+
3132
3514
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3133
3515
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode
3134
3516
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3147,6 +3529,8 @@ module Prism
3147
3529
  attr_reader operator_loc: Location
3148
3530
  attr_reader expression: Prism::node?
3149
3531
 
3532
+ def save_operator_loc: (_Repository repository) -> void
3533
+
3150
3534
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location operator_loc, Prism::node? expression) -> void
3151
3535
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?expression: Prism::node?) -> SplatNode
3152
3536
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, expression: Prism::node? }
@@ -3165,6 +3549,7 @@ module Prism
3165
3549
 
3166
3550
  attr_reader body: Array[Prism::node]
3167
3551
 
3552
+
3168
3553
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[Prism::node] body) -> void
3169
3554
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Array[Prism::node]) -> StatementsNode
3170
3555
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Array[Prism::node] }
@@ -3196,6 +3581,10 @@ module Prism
3196
3581
  attr_reader closing_loc: Location?
3197
3582
  attr_reader unescaped: String
3198
3583
 
3584
+ def save_opening_loc: (_Repository repository) -> void
3585
+ def save_content_loc: (_Repository repository) -> void
3586
+ def save_closing_loc: (_Repository repository) -> void
3587
+
3199
3588
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped) -> void
3200
3589
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String) -> StringNode
3201
3590
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String }
@@ -3214,6 +3603,8 @@ module Prism
3214
3603
  #
3215
3604
  # super foo, bar
3216
3605
  # ^^^^^^^^^^^^^^
3606
+ #
3607
+ # If no arguments are provided (except for a block), it would be a `ForwardingSuperNode` instead.
3217
3608
  class SuperNode < Node
3218
3609
  include _Node
3219
3610
 
@@ -3223,6 +3614,10 @@ module Prism
3223
3614
  attr_reader rparen_loc: Location?
3224
3615
  attr_reader block: BlockNode | BlockArgumentNode | nil
3225
3616
 
3617
+ def save_keyword_loc: (_Repository repository) -> void
3618
+ def save_lparen_loc: (_Repository repository) -> void
3619
+ def save_rparen_loc: (_Repository repository) -> void
3620
+
3226
3621
  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
3622
  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
3623
  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 +3648,10 @@ module Prism
3253
3648
  attr_reader closing_loc: Location?
3254
3649
  attr_reader unescaped: String
3255
3650
 
3651
+ def save_opening_loc: (_Repository repository) -> void
3652
+ def save_value_loc: (_Repository repository) -> void
3653
+ def save_closing_loc: (_Repository repository) -> void
3654
+
3256
3655
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped) -> void
3257
3656
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String) -> SymbolNode
3258
3657
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String }
@@ -3272,6 +3671,7 @@ module Prism
3272
3671
  include _Node
3273
3672
 
3274
3673
 
3674
+
3275
3675
  def initialize: (Source source, Integer node_id, Location location, Integer flags) -> void
3276
3676
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode
3277
3677
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location }
@@ -3290,6 +3690,8 @@ module Prism
3290
3690
  attr_reader names: Array[SymbolNode | InterpolatedSymbolNode]
3291
3691
  attr_reader keyword_loc: Location
3292
3692
 
3693
+ def save_keyword_loc: (_Repository repository) -> void
3694
+
3293
3695
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Array[SymbolNode | InterpolatedSymbolNode] names, Location keyword_loc) -> void
3294
3696
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location) -> UndefNode
3295
3697
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, names: Array[SymbolNode | InterpolatedSymbolNode], keyword_loc: Location }
@@ -3316,6 +3718,10 @@ module Prism
3316
3718
  attr_reader else_clause: ElseNode?
3317
3719
  attr_reader end_keyword_loc: Location?
3318
3720
 
3721
+ def save_keyword_loc: (_Repository repository) -> void
3722
+ def save_then_keyword_loc: (_Repository repository) -> void
3723
+ def save_end_keyword_loc: (_Repository repository) -> void
3724
+
3319
3725
  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
3726
  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
3727
  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 +3751,10 @@ module Prism
3345
3751
  attr_reader predicate: Prism::node
3346
3752
  attr_reader statements: StatementsNode?
3347
3753
 
3754
+ def save_keyword_loc: (_Repository repository) -> void
3755
+ def save_do_keyword_loc: (_Repository repository) -> void
3756
+ def save_closing_loc: (_Repository repository) -> void
3757
+
3348
3758
  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
3759
  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
3760
  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 +3780,9 @@ module Prism
3370
3780
  attr_reader then_keyword_loc: Location?
3371
3781
  attr_reader statements: StatementsNode?
3372
3782
 
3783
+ def save_keyword_loc: (_Repository repository) -> void
3784
+ def save_then_keyword_loc: (_Repository repository) -> void
3785
+
3373
3786
  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
3787
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?) -> WhenNode
3375
3788
  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 +3811,10 @@ module Prism
3398
3811
  attr_reader predicate: Prism::node
3399
3812
  attr_reader statements: StatementsNode?
3400
3813
 
3814
+ def save_keyword_loc: (_Repository repository) -> void
3815
+ def save_do_keyword_loc: (_Repository repository) -> void
3816
+ def save_closing_loc: (_Repository repository) -> void
3817
+
3401
3818
  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
3819
  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
3820
  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 +3841,10 @@ module Prism
3424
3841
  attr_reader closing_loc: Location
3425
3842
  attr_reader unescaped: String
3426
3843
 
3844
+ def save_opening_loc: (_Repository repository) -> void
3845
+ def save_content_loc: (_Repository repository) -> void
3846
+ def save_closing_loc: (_Repository repository) -> void
3847
+
3427
3848
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped) -> void
3428
3849
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> XStringNode
3429
3850
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String }
@@ -3447,6 +3868,10 @@ module Prism
3447
3868
  attr_reader arguments: ArgumentsNode?
3448
3869
  attr_reader rparen_loc: Location?
3449
3870
 
3871
+ def save_keyword_loc: (_Repository repository) -> void
3872
+ def save_lparen_loc: (_Repository repository) -> void
3873
+ def save_rparen_loc: (_Repository repository) -> void
3874
+
3450
3875
  def initialize: (Source source, Integer node_id, Location location, Integer flags, Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc) -> void
3451
3876
  def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?) -> YieldNode
3452
3877
  def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location? }