node.c (dump_node): add an explanation of NODE_HASH's nd_alen

The field has a flag to represent if it is a keyword argument (that has
no braces, e.g., `foo(k:1)`) or hash literal (that has braces, e.g.,
`foo({k:1})`).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2017-11-09 01:50:58 +00:00
Родитель f09ad1dc5d
Коммит 2b60e342bd
1 изменённых файлов: 7 добавлений и 0 удалений

7
node.c
Просмотреть файл

@ -585,6 +585,13 @@ dump_node(VALUE buf, VALUE indent, int comment, 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) {
case 0: A("0 (keyword argument)"); break;
case 1: A("1 (hash literal)"); break;
default: A_ID(node->nd_alen);
}
}
LAST_NODE;
F_NODE(nd_head, "contents");
return;