Ditto for NODE_DOT2 and NODE_DOT3
authorNobuyoshi Nakada <[email protected]>
Mon, 27 May 2024 09:06:40 +0000 (27 18:06 +0900)
committerNobuyoshi Nakada <[email protected]>
Sun, 2 Jun 2024 00:43:33 +0000 (2 09:43 +0900)
parse.y

diff --git a/parse.y b/parse.y
index 5e7b79d..94288b2 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -14295,8 +14295,18 @@ cond0(struct parser_params *p, NODE *node, enum cond_type type, const YYLTYPE *l
         if (!top) break;
         RNODE_DOT2(node)->nd_beg = range_op(p, RNODE_DOT2(node)->nd_beg, loc);
         RNODE_DOT2(node)->nd_end = range_op(p, RNODE_DOT2(node)->nd_end, loc);
-        if (nd_type_p(node, NODE_DOT2)) nd_set_type(node,NODE_FLIP2);
-        else if (nd_type_p(node, NODE_DOT3)) nd_set_type(node, NODE_FLIP3);
+        switch (nd_type(node)) {
+          case NODE_DOT2:
+            nd_set_type(node,NODE_FLIP2);
+            rb_node_flip2_t *flip2 = RNODE_FLIP2(node); /* for debug info */
+            (void)flip2;
+            break;
+          case NODE_DOT3:
+            nd_set_type(node, NODE_FLIP3);
+            rb_node_flip3_t *flip3 = RNODE_FLIP3(node); /* for debug info */
+            (void)flip3;
+            break;
+        }
         break;
 
       case NODE_SYM: