summaryrefslogtreecommitdiff
path: root/vm_insnhelper.h
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-30 05:38:50 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-30 05:38:50 +0000
commit3b20c2188046d33a0d3b2c2f711193dd5e02a19c (patch)
tree53e2022077e5829f34a175e913025657f8dd3d62 /vm_insnhelper.h
parent089462f592b630110827fea6624f1890411627e0 (diff)
* 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.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/vm_insnhelper.h b/vm_insnhelper.h
index 979c342..31ef216 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 { \