summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ast.c1
-rw-r--r--compile.c12
-rw-r--r--ext/objspace/objspace.c1
-rw-r--r--node_dump.c6
-rw-r--r--parse.y9
-rw-r--r--rubyparser.h2
6 files changed, 2 insertions, 29 deletions
diff --git a/ast.c b/ast.c
index 622547965f..fd0920225f 100644
--- a/ast.c
+++ b/ast.c
@@ -507,7 +507,6 @@ node_children(rb_ast_t *ast, const NODE *node)
case NODE_ZSUPER:
return rb_ary_new_from_node_args(ast, 0);
case NODE_LIST:
- case NODE_VALUES:
return dump_array(ast, RNODE_LIST(node));
case NODE_ZLIST:
return rb_ary_new_from_node_args(ast, 0);
diff --git a/compile.c b/compile.c
index 4850ba9b2c..483d2f118d 100644
--- a/compile.c
+++ b/compile.c
@@ -9724,18 +9724,6 @@ iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const no
}
break;
}
- case NODE_VALUES:{
- const NODE *n = node;
- if (popped) {
- COMPILE_ERROR(ERROR_ARGS "NODE_VALUES: must not be popped");
- }
- while (n) {
- CHECK(COMPILE(ret, "values item", RNODE_VALUES(n)->nd_head));
- n = RNODE_VALUES(n)->nd_next;
- }
- ADD_INSN1(ret, node, newarray, INT2FIX(RNODE_VALUES(node)->nd_alen));
- break;
- }
case NODE_HASH:
CHECK(compile_hash(iseq, ret, node, FALSE, popped) >= 0);
break;
diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c
index 0c8045acea..ae869a3ed4 100644
--- a/ext/objspace/objspace.c
+++ b/ext/objspace/objspace.c
@@ -434,7 +434,6 @@ count_nodes(int argc, VALUE *argv, VALUE os)
COUNT_NODE(NODE_ZSUPER);
COUNT_NODE(NODE_LIST);
COUNT_NODE(NODE_ZLIST);
- COUNT_NODE(NODE_VALUES);
COUNT_NODE(NODE_HASH);
COUNT_NODE(NODE_RETURN);
COUNT_NODE(NODE_YIELD);
diff --git a/node_dump.c b/node_dump.c
index e9e5c950c7..3a5c74e986 100644
--- a/node_dump.c
+++ b/node_dump.c
@@ -579,12 +579,6 @@ dump_node(VALUE buf, VALUE indent, int comment, const NODE * node)
ANN("list constructor");
ANN("format: [ [nd_head], [nd_next].. ] (length: [nd_alen])");
ANN("example: [1, 2, 3]");
- goto ary;
- case NODE_VALUES:
- ANN("return arguments");
- ANN("format: [ [nd_head], [nd_next].. ] (length: [nd_alen])");
- ANN("example: return 1, 2, 3");
- ary:
dump_array(buf, indent, comment, node);
return;
diff --git a/parse.y b/parse.y
index 2c5641473a..6110f801fc 100644
--- a/parse.y
+++ b/parse.y
@@ -14142,13 +14142,8 @@ ret_args(struct parser_params *p, NODE *node)
{
if (node) {
no_blockarg(p, node);
- if (nd_type_p(node, NODE_LIST)) {
- if (RNODE_LIST(node)->nd_next == 0) {
- node = RNODE_LIST(node)->nd_head;
- }
- else {
- nd_set_type(node, NODE_VALUES);
- }
+ if (nd_type_p(node, NODE_LIST) && !RNODE_LIST(node)->nd_next) {
+ node = RNODE_LIST(node)->nd_head;
}
}
return node;
diff --git a/rubyparser.h b/rubyparser.h
index e491b7421e..b36470bf69 100644
--- a/rubyparser.h
+++ b/rubyparser.h
@@ -71,7 +71,6 @@ enum node_type {
NODE_ZSUPER,
NODE_LIST,
NODE_ZLIST,
- NODE_VALUES,
NODE_HASH,
NODE_RETURN,
NODE_YIELD,
@@ -986,7 +985,6 @@ typedef struct RNode_ERROR {
#define RNODE_ZSUPER(node) ((struct RNode_ZSUPER *)(node))
#define RNODE_LIST(node) ((struct RNode_LIST *)(node))
#define RNODE_ZLIST(node) ((struct RNode_ZLIST *)(node))
-#define RNODE_VALUES(node) ((struct RNode_VALUES *)(node))
#define RNODE_HASH(node) ((struct RNode_HASH *)(node))
#define RNODE_RETURN(node) ((struct RNode_RETURN *)(node))
#define RNODE_YIELD(node) ((struct RNode_YIELD *)(node))