diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-03-30 05:38:50 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-03-30 05:38:50 +0000 |
commit | 3b20c2188046d33a0d3b2c2f711193dd5e02a19c (patch) | |
tree | 53e2022077e5829f34a175e913025657f8dd3d62 /vm_insnhelper.h | |
parent | 089462f592b630110827fea6624f1890411627e0 (diff) | |
download | ruby-3b20c2188046d33a0d3b2c2f711193dd5e02a19c.tar.gz |
* vm_insnhelper.h (COPY_CREF): should copy
the NODE_FL_CREF_PUSHED_BY_EVAL flag to hide constants from
methods defined by class_eval. [ruby-dev:43365]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.h')
-rw-r--r-- | vm_insnhelper.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vm_insnhelper.h b/vm_insnhelper.h index 979c3427bc..31ef216027 100644 --- a/vm_insnhelper.h +++ b/vm_insnhelper.h @@ -154,6 +154,9 @@ extern VALUE ruby_vm_const_missing_count; (c1)->nd_clss = __tmp_c2->nd_clss; \ (c1)->nd_visi = __tmp_c2->nd_visi;\ (c1)->nd_next = __tmp_c2->nd_next; \ + if (__tmp_c2->flags & NODE_FL_CREF_PUSHED_BY_EVAL) { \ + (c1)->flags |= NODE_FL_CREF_PUSHED_BY_EVAL; \ + } \ } while (0) #define CALL_METHOD(num, blockptr, flag, id, me, recv) do { \ |