From 25072d2e878ea6093f04c67e90c5cef33d70080a Mon Sep 17 00:00:00 2001 From: yui-knk Date: Sat, 14 Oct 2023 08:46:12 +0900 Subject: [PATCH] Fix node type casts Use new node type set by nd_set_type. --- parse.y | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/parse.y b/parse.y index 86b24e49d3..84ab7905ec 100644 --- a/parse.y +++ b/parse.y @@ -12826,7 +12826,7 @@ symbol_append(struct parser_params *p, NODE *symbols, NODE *symbol) break; case NODE_STR: nd_set_type(symbol, NODE_LIT); - RB_OBJ_WRITTEN(p->ast, Qnil, RNODE_STR(symbol)->nd_lit = rb_str_intern(RNODE_STR(symbol)->nd_lit)); + RB_OBJ_WRITTEN(p->ast, Qnil, RNODE_LIT(symbol)->nd_lit = rb_str_intern(RNODE_LIT(symbol)->nd_lit)); break; default: compile_error(p, "unexpected node as symbol: %s", parser_node_name(type)); @@ -12852,7 +12852,7 @@ new_regexp(struct parser_params *p, NODE *node, int options, const YYLTYPE *loc) VALUE src = RNODE_STR(node)->nd_lit; nd_set_type(node, NODE_LIT); nd_set_loc(node, loc); - RB_OBJ_WRITTEN(p->ast, Qnil, RNODE_STR(node)->nd_lit = reg_compile(p, src, options)); + RB_OBJ_WRITTEN(p->ast, Qnil, RNODE_LIT(node)->nd_lit = reg_compile(p, src, options)); } break; default: @@ -12892,7 +12892,7 @@ new_regexp(struct parser_params *p, NODE *node, int options, const YYLTYPE *loc) if (!RNODE_DREGX(node)->nd_next) { VALUE src = RNODE_DREGX(node)->nd_lit; nd_set_type(node, NODE_LIT); - RB_OBJ_WRITTEN(p->ast, Qnil, RNODE_DREGX(node)->nd_lit = reg_compile(p, src, options)); + RB_OBJ_WRITTEN(p->ast, Qnil, RNODE_LIT(node)->nd_lit = reg_compile(p, src, options)); } if (options & RE_OPTION_ONCE) { node = NEW_ONCE(node, loc); @@ -13595,7 +13595,7 @@ shareable_literal_constant(struct parser_params *p, enum shareability shareable, case NODE_STR: lit = rb_fstring(RNODE_STR(value)->nd_lit); nd_set_type(value, NODE_LIT); - RB_OBJ_WRITE(p->ast, &RNODE_STR(value)->nd_lit, lit); + RB_OBJ_WRITE(p->ast, &RNODE_LIT(value)->nd_lit, lit); return value; case NODE_ZLIST: