summaryrefslogtreecommitdiff
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
commitdececad56c69e1944a95a10037cdba5fa673f0c2 (patch)
tree9ebecb16ef9f0ecf85339a8ce4d5704dd2092b4f /eval.c
parent647330d72351e809145ee2d6359dfea1d4655386 (diff)
* eval.c (unknown_node): show more information. [ruby-dev:26196]
git-svn-id: svn+ssh://ci.ruby-lang.org/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 ad0229deeb..c6b756eb52 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