aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compile.c4
-rw-r--r--node.c6
-rw-r--r--node.h2
3 files changed, 7 insertions, 5 deletions
diff --git a/compile.c b/compile.c
index 7201447d97..aa5551d5cc 100644
--- a/compile.c
+++ b/compile.c
@@ -3801,7 +3801,7 @@ compile_keyword_arg(rb_iseq_t *iseq, LINK_ANCHOR *const ret,
assert(nd_type(node) == NODE_ARRAY);
if (!key_node) {
- if (flag && !root_node->nd_alen) *flag |= VM_CALL_KW_SPLAT;
+ if (flag && !root_node->nd_brace) *flag |= VM_CALL_KW_SPLAT;
return FALSE;
}
else if (nd_type(key_node) == NODE_LIT && RB_TYPE_P(key_node->nd_lit, T_SYMBOL)) {
@@ -4785,7 +4785,7 @@ check_keyword(const NODE *node)
node = node->nd_head;
}
- if (nd_type(node) == NODE_HASH && !node->nd_alen) return TRUE;
+ if (nd_type(node) == NODE_HASH && !node->nd_brace) return TRUE;
return FALSE;
}
diff --git a/node.c b/node.c
index b560d24a29..9196280d56 100644
--- a/node.c
+++ b/node.c
@@ -557,7 +557,7 @@ dump_node(VALUE buf, VALUE indent, int comment, const NODE * node)
return;
case NODE_HASH:
- if (!node->nd_alen) {
+ if (!node->nd_brace) {
ANN("keyword arguments");
ANN("format: nd_head");
ANN("example: a: 1, b: 2");
@@ -567,8 +567,8 @@ dump_node(VALUE buf, VALUE indent, int comment, const NODE * node)
ANN("format: { [nd_head] }");
ANN("example: { 1 => 2, 3 => 4 }");
}
- F_CUSTOM1(nd_alen, "keyword arguments or hash literal") {
- switch (node->nd_alen) {
+ F_CUSTOM1(nd_brace, "keyword arguments or hash literal") {
+ switch (node->nd_brace) {
case 0: A("0 (keyword argument)"); break;
case 1: A("1 (hash literal)"); break;
}
diff --git a/node.h b/node.h
index 4b16e23b3d..5b917daae4 100644
--- a/node.h
+++ b/node.h
@@ -266,6 +266,8 @@ typedef struct RNode {
#define nd_orig u2.id
#define nd_undef u2.node
+#define nd_brace u2.argc
+
#define NEW_NODE(t,a0,a1,a2,loc) rb_node_newnode((t),(VALUE)(a0),(VALUE)(a1),(VALUE)(a2),loc)
#define NEW_DEFN(i,a,d,loc) NEW_NODE(NODE_DEFN,0,i,NEW_SCOPE(a,d,loc),loc)