summaryrefslogtreecommitdiffstats
path: root/include/ruby/node.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-17 12:25:47 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-17 12:25:47 +0000
commitd8e600c60c1f97f6b5f9b301c52dade25bab5dbe (patch)
tree9f8d1c255a53e591b22b132f3dbf0f30ffd9dbeb /include/ruby/node.h
parent0dfdf0dd9f0ed7bdebbc006dd76bb7fdd22b1207 (diff)
downloadruby-d8e600c60c1f97f6b5f9b301c52dade25bab5dbe.tar.gz
ruby-d8e600c60c1f97f6b5f9b301c52dade25bab5dbe.tar.xz
ruby-d8e600c60c1f97f6b5f9b301c52dade25bab5dbe.zip
* eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),
insnhelper.ci (vm_call_method): fix to save safelevel for method node. * include/ruby/node.h: ditto. * bootstraptest/test_method.rb: add a test for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby/node.h')
-rw-r--r--include/ruby/node.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/ruby/node.h b/include/ruby/node.h
index 73c499b61..e3722e0c4 100644
--- a/include/ruby/node.h
+++ b/include/ruby/node.h
@@ -484,6 +484,10 @@ enum ruby_node_flags {
#define NOEX_SUPER 0x20
#define NOEX_VCALL 0x40
+#define NOEX_SAFE(n) (((n) >> 8) & 0x0F)
+#define NOEX_WITH(n, s) ((s << 8) | n)
+#define NOEX_WITH_SAFE(n) NOEX_WITH(n, rb_safe_level())
+
VALUE rb_parser_new(void);
VALUE rb_parser_end_seen_p(VALUE);