yarp 0.10.0 → 0.12.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.
@@ -10,8 +10,13 @@ module YARP
10
10
  # visited. This is useful for consumers that want to mutate the tree, as you
11
11
  # can change subtrees in place without effecting the rest of the tree.
12
12
  class MutationVisitor < BasicVisitor
13
- # Copy a AliasNode node
14
- def visit_alias_node(node)
13
+ # Copy a AliasGlobalVariableNode node
14
+ def visit_alias_global_variable_node(node)
15
+ node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
16
+ end
17
+
18
+ # Copy a AliasMethodNode node
19
+ def visit_alias_method_node(node)
15
20
  node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
16
21
  end
17
22
 
@@ -65,6 +70,11 @@ module YARP
65
70
  node.copy(expression: visit(node.expression))
66
71
  end
67
72
 
73
+ # Copy a BlockLocalVariableNode node
74
+ def visit_block_local_variable_node(node)
75
+ node.copy
76
+ end
77
+
68
78
  # Copy a BlockNode node
69
79
  def visit_block_node(node)
70
80
  node.copy(parameters: visit(node.parameters), body: visit(node.body))
@@ -77,7 +87,7 @@ module YARP
77
87
 
78
88
  # Copy a BlockParametersNode node
79
89
  def visit_block_parameters_node(node)
80
- node.copy(parameters: visit(node.parameters))
90
+ node.copy(parameters: visit(node.parameters), locals: visit_all(node.locals))
81
91
  end
82
92
 
83
93
  # Copy a BreakNode node
@@ -85,24 +95,24 @@ module YARP
85
95
  node.copy(arguments: visit(node.arguments))
86
96
  end
87
97
 
98
+ # Copy a CallAndWriteNode node
99
+ def visit_call_and_write_node(node)
100
+ node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), value: visit(node.value))
101
+ end
102
+
88
103
  # Copy a CallNode node
89
104
  def visit_call_node(node)
90
105
  node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
91
106
  end
92
107
 
93
- # Copy a CallOperatorAndWriteNode node
94
- def visit_call_operator_and_write_node(node)
95
- node.copy(target: visit(node.target), value: visit(node.value))
96
- end
97
-
98
- # Copy a CallOperatorOrWriteNode node
99
- def visit_call_operator_or_write_node(node)
100
- node.copy(target: visit(node.target), value: visit(node.value))
101
- end
102
-
103
108
  # Copy a CallOperatorWriteNode node
104
109
  def visit_call_operator_write_node(node)
105
- node.copy(target: visit(node.target), value: visit(node.value))
110
+ node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), value: visit(node.value))
111
+ end
112
+
113
+ # Copy a CallOrWriteNode node
114
+ def visit_call_or_write_node(node)
115
+ node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), value: visit(node.value))
106
116
  end
107
117
 
108
118
  # Copy a CapturePatternNode node
@@ -330,6 +340,11 @@ module YARP
330
340
  node.copy(numeric: visit(node.numeric))
331
341
  end
332
342
 
343
+ # Copy a ImplicitNode node
344
+ def visit_implicit_node(node)
345
+ node.copy(value: visit(node.value))
346
+ end
347
+
333
348
  # Copy a InNode node
334
349
  def visit_in_node(node)
335
350
  node.copy(pattern: visit(node.pattern), statements: visit(node.statements))
@@ -370,6 +385,11 @@ module YARP
370
385
  node.copy
371
386
  end
372
387
 
388
+ # Copy a InterpolatedMatchLastLineNode node
389
+ def visit_interpolated_match_last_line_node(node)
390
+ node.copy(parts: visit_all(node.parts))
391
+ end
392
+
373
393
  # Copy a InterpolatedRegularExpressionNode node
374
394
  def visit_interpolated_regular_expression_node(node)
375
395
  node.copy(parts: visit_all(node.parts))
@@ -440,6 +460,11 @@ module YARP
440
460
  node.copy(value: visit(node.value))
441
461
  end
442
462
 
463
+ # Copy a MatchLastLineNode node
464
+ def visit_match_last_line_node(node)
465
+ node.copy
466
+ end
467
+
443
468
  # Copy a MatchPredicateNode node
444
469
  def visit_match_predicate_node(node)
445
470
  node.copy(value: visit(node.value), pattern: visit(node.pattern))
@@ -450,6 +475,11 @@ module YARP
450
475
  node.copy(value: visit(node.value), pattern: visit(node.pattern))
451
476
  end
452
477
 
478
+ # Copy a MatchWriteNode node
479
+ def visit_match_write_node(node)
480
+ node.copy(call: visit(node.call))
481
+ end
482
+
453
483
  # Copy a MissingNode node
454
484
  def visit_missing_node(node)
455
485
  node.copy
@@ -460,6 +490,11 @@ module YARP
460
490
  node.copy(constant_path: visit(node.constant_path), body: visit(node.body))
461
491
  end
462
492
 
493
+ # Copy a MultiTargetNode node
494
+ def visit_multi_target_node(node)
495
+ node.copy(targets: visit_all(node.targets))
496
+ end
497
+
463
498
  # Copy a MultiWriteNode node
464
499
  def visit_multi_write_node(node)
465
500
  node.copy(targets: visit_all(node.targets), value: visit(node.value))
@@ -497,7 +532,7 @@ module YARP
497
532
 
498
533
  # Copy a ParametersNode node
499
534
  def visit_parameters_node(node)
500
- node.copy(requireds: visit_all(node.requireds), optionals: visit_all(node.optionals), posts: visit_all(node.posts), rest: visit(node.rest), keywords: visit_all(node.keywords), keyword_rest: visit(node.keyword_rest), block: visit(node.block))
535
+ node.copy(requireds: visit_all(node.requireds), optionals: visit_all(node.optionals), rest: visit(node.rest), posts: visit_all(node.posts), keywords: visit_all(node.keywords), keyword_rest: visit(node.keyword_rest), block: visit(node.block))
501
536
  end
502
537
 
503
538
  # Copy a ParenthesesNode node