diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-05-25 15:37:05 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-05-25 15:37:05 +0000 |
| commit | 1e136a934028ebf0bd66b16d76b1857655d1d21e (patch) | |
| tree | a783b516179617d90d4b10edb9f51b7039456d1b /compile.c | |
| parent | bc1a2af520fd8d642c4260ee80c5bd1e530cc29f (diff) | |
| download | ruby-1e136a934028ebf0bd66b16d76b1857655d1d21e.tar.gz ruby-1e136a934028ebf0bd66b16d76b1857655d1d21e.tar.xz ruby-1e136a934028ebf0bd66b16d76b1857655d1d21e.zip | |
* eval.c (ruby_exec_internal): do nothing if no code.
* compile.c (rb_iseq_compile): check node if NULL before check
nd_type. [ruby-talk:252956]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
| -rw-r--r-- | compile.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -144,7 +144,10 @@ rb_iseq_compile(VALUE self, NODE *node) rb_iseq_t *iseq; GetISeqPtr(self, iseq); - if (nd_type(node) == NODE_SCOPE) { + if (node == 0) { + COMPILE(ret, "nil", node); + } + else if (nd_type(node) == NODE_SCOPE) { /* iseq type of top, method, class, block */ set_local_table(iseq, node->nd_tbl); set_arguments(iseq, ret, node->nd_args); @@ -197,9 +200,6 @@ rb_iseq_compile(VALUE self, NODE *node) else if (iseq->type == ISEQ_TYPE_DEFINED_GUARD) { COMPILE(ret, "defined guard", node); } - else if (node == 0) { - COMPILE(ret, "nil", node); - } else { rb_bug("unknown scope"); } |
