diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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 |