summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-24 15:20:06 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-24 15:20:06 +0000
commit2aac24ebf45a01950f4a36abce227baf08b6dffb (patch)
treebd0ef53f060ed7f99a274360eef23bb699033cc0 /eval.c
parent0ed7029224267e4dfd976dcbbcbe4d203624cda1 (diff)
* eval.c (unknown_node): show more information. [ruby-dev:26196]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9300 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 b60fa41282..0140ed7d88 100644
--- a/eval.c
+++ b/eval.c
@@ -2814,7 +2814,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)", node);
+ }
+ else if (BUILTIN_TYPE(node) != T_NODE) {
+ rb_bug("not a node 0x%02lx (0x%lx)", BUILTIN_TYPE(node), node);
+ }
+ else {
+ rb_bug("unknown node type %d (0x%lx)", nd_type(node), node);
+ }
}
static VALUE