summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/parse.y
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-02-28 10:56:34 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-02-28 10:56:34 +0900
commit22eb41ab209b3fa467b2efdb664eac156e5669d1 (patch)
tree8b4cbc399e221bee02d8247d29d9223efeec680d /mrbgems/mruby-compiler/core/parse.y
parentc52bbe1b4e97d6580cced6c1b3819bd2e9289cc8 (diff)
downloadmruby-22eb41ab209b3fa467b2efdb664eac156e5669d1.tar.gz
mruby-22eb41ab209b3fa467b2efdb664eac156e5669d1.zip
Fix NODE_DREGX dump; ref #3471
Diffstat (limited to 'mrbgems/mruby-compiler/core/parse.y')
-rw-r--r--mrbgems/mruby-compiler/core/parse.y10
1 files changed, 8 insertions, 2 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index 2b34e4b7f..1203393bf 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -6338,8 +6338,14 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
dump_recur(mrb, tree->car, offset+1);
dump_prefix(tree, offset);
printf("tail: %s\n", (char*)tree->cdr->cdr->car);
- dump_prefix(tree, offset);
- printf("opt: %s\n", (char*)tree->cdr->cdr->cdr);
+ if (tree->cdr->cdr->cdr->car) {
+ dump_prefix(tree, offset);
+ printf("opt: %s\n", (char*)tree->cdr->cdr->cdr->car);
+ }
+ if (tree->cdr->cdr->cdr->cdr) {
+ dump_prefix(tree, offset);
+ printf("enc: %s\n", (char*)tree->cdr->cdr->cdr->cdr);
+ }
break;
case NODE_SYM: