summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-06-10 14:57:37 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-06-10 14:57:37 +0000
commit7ef346736fa6321babeade8a991498bc261b4a31 (patch)
tree9ebecb16ef9f0ecf85339a8ce4d5704dd2092b4f /eval.c
parent13432e64292a14b73b514f339fc4ffb504f734bc (diff)
downloadruby-7ef346736fa6321babeade8a991498bc261b4a31.tar.gz
ruby-7ef346736fa6321babeade8a991498bc261b4a31.tar.xz
ruby-7ef346736fa6321babeade8a991498bc261b4a31.zip
* eval.c (unknown_node): show more information. [ruby-dev:26196]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index ad0229dee..c6b756eb5 100644
--- a/eval.c
+++ b/eval.c
@@ -2796,7 +2796,15 @@ unknown_node(node)
NODE *volatile node;
{
ruby_current_node = 0;
- rb_bug("unknown node type %d", nd_type(node));
+ if (node->flags == 0) {
+ rb_bug("terminated node (0x%lx)", (long)node);
+ }
+ else if (BUILTIN_TYPE(node) != T_NODE) {
+ rb_bug("not a node 0x%02lx (0x%lx)", BUILTIN_TYPE(node), (long)node);
+ }
+ else {
+ rb_bug("unknown node type %d (0x%lx)", nd_type(node), (long)node);
+ }
}
static VALUE