parser_dump: no print "local variables" if no local variables

This commit is contained in:
Yukihiro Matsumoto
2012-06-11 14:50:51 +09:00
parent dd550ca0d4
commit 8f020f28c6
+10 -6
View File
@@ -5050,15 +5050,19 @@ parser_dump(mrb_state *mrb, node *tree, int offset)
case NODE_SCOPE:
printf("NODE_SCOPE:\n");
dump_prefix(offset+1);
printf("local variables:\n");
{
node *n2 = tree->car;
while (n2) {
dump_prefix(offset+2);
printf("%s\n", mrb_sym2name(mrb, (mrb_sym)n2->car));
n2 = n2->cdr;
if (n2) {
dump_prefix(offset+1);
printf("local variables:\n");
while (n2) {
dump_prefix(offset+2);
printf("%s ", mrb_sym2name(mrb, (mrb_sym)n2->car));
n2 = n2->cdr;
}
printf("\n");
}
}
tree = tree->cdr;