diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-07 12:55:10 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-07 12:55:10 +0000 |
commit | 933a3eb07e315e801cbddd804af81cc03f47d2a1 (patch) | |
tree | fe61f2db6074f5b1ef37f314c1aacb379bea0ca6 | |
parent | f3aa3cd8259304375ff250b4980db49ac024e747 (diff) | |
download | ruby-933a3eb07e315e801cbddd804af81cc03f47d2a1.tar.gz |
node.c: fix SEGV of `->(a:){}` when --dump=parsetree
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | node.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -378,8 +378,13 @@ dump_node(VALUE buf, VALUE indent, int comment, const NODE * node) ANN("format: [nd_vid](current dvar) = [nd_value]"); ANN("example: 1.times { x = foo }"); F_ID(nd_vid, "local variable"); - LAST_NODE; - F_NODE(nd_value, "rvalue"); + if (node->nd_value == NODE_SPECIAL_REQUIRED_KEYWORD) { + F_MSG(nd_value, "rvalue", "NODE_SPECIAL_REQUIRED_KEYWORD (required keyword argument)"); + } + else { + LAST_NODE; + F_NODE(nd_value, "rvalue"); + } return; case NODE_IASGN: ANN("instance variable assignment"); |