@@ -340,6 +340,15 @@ std::unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
340
340
return make_unique<parser::If>(parser.translateLocation (loc), std::move (predicate), std::move (ifTrue),
341
341
std::move (ifFalse));
342
342
}
343
+ case PM_INSTANCE_VARIABLE_AND_WRITE_NODE: {
344
+ return translateAssignment<pm_instance_variable_and_write_node, parser::AndAsgn, parser::IVarLhs>(node);
345
+ }
346
+ case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
347
+ return translateAssignment<pm_instance_variable_operator_write_node, parser::OpAsgn, parser::IVarLhs>(node);
348
+ }
349
+ case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
350
+ return translateAssignment<pm_instance_variable_or_write_node, parser::OrAsgn, parser::IVarLhs>(node);
351
+ }
343
352
case PM_INSTANCE_VARIABLE_READ_NODE: {
344
353
auto instanceVarNode = reinterpret_cast <pm_instance_variable_read_node *>(node);
345
354
pm_location_t *loc = &instanceVarNode->base .location ;
@@ -386,6 +395,15 @@ std::unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
386
395
387
396
return make_unique<parser::Kwrestarg>(parser.translateLocation (loc), gs.enterNameUTF8 (name));
388
397
}
398
+ case PM_LOCAL_VARIABLE_AND_WRITE_NODE: {
399
+ return translateAssignment<pm_local_variable_and_write_node, parser::AndAsgn, parser::LVarLhs>(node);
400
+ }
401
+ case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
402
+ return translateAssignment<pm_local_variable_operator_write_node, parser::OpAsgn, parser::LVarLhs>(node);
403
+ }
404
+ case PM_LOCAL_VARIABLE_OR_WRITE_NODE: {
405
+ return translateAssignment<pm_local_variable_or_write_node, parser::OrAsgn, parser::LVarLhs>(node);
406
+ }
389
407
case PM_LOCAL_VARIABLE_READ_NODE: {
390
408
auto localVarReadNode = reinterpret_cast <pm_local_variable_read_node *>(node);
391
409
pm_location_t *loc = &localVarReadNode->base .location ;
@@ -810,9 +828,6 @@ std::unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
810
828
case PM_INDEX_OPERATOR_WRITE_NODE:
811
829
case PM_INDEX_OR_WRITE_NODE:
812
830
case PM_INDEX_TARGET_NODE:
813
- case PM_INSTANCE_VARIABLE_AND_WRITE_NODE:
814
- case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE:
815
- case PM_INSTANCE_VARIABLE_OR_WRITE_NODE:
816
831
case PM_INSTANCE_VARIABLE_TARGET_NODE:
817
832
case PM_INTERPOLATED_MATCH_LAST_LINE_NODE:
818
833
case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE:
@@ -821,9 +836,6 @@ std::unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
821
836
case PM_IT_LOCAL_VARIABLE_READ_NODE:
822
837
case PM_IT_PARAMETERS_NODE:
823
838
case PM_LAMBDA_NODE:
824
- case PM_LOCAL_VARIABLE_AND_WRITE_NODE:
825
- case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE:
826
- case PM_LOCAL_VARIABLE_OR_WRITE_NODE:
827
839
case PM_MATCH_LAST_LINE_NODE:
828
840
case PM_MATCH_PREDICATE_NODE:
829
841
case PM_MATCH_REQUIRED_NODE:
0 commit comments