summaryrefslogtreecommitdiff
path: root/node.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-04 19:17:33 (GMT)
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-04 19:17:33 (GMT)
commit72f2d2a00d8ae3861a15ca92bf9322951a22b6cf (patch)
tree3f74f159fcc7abf2e87ff7295e6400651a26a8c4 /node.h
parent71364da03fcae2e0fb7b2641b6ac1e507ee03da6 (diff)
* parse.y (rb_compose_ivar2): function to create a new ivar2
symbol from a symbol and a class. back-ported from matzruby. * parse.y (rb_decompose_ivar2): reverse function of rb_compose_ivar2(). * marshal.c (w_symbol): support class local instance variables. * marshal.c (r_object0): ditto. * compile.c (defined_expr): ditto. * compile.c (iseq_compile_each): ditto. * insns.def: add two new instructions: getinstancevariable2 and setinstancevariable2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'node.h')
-rw-r--r--node.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/node.h b/node.h
index 7deab96..453f59f 100644
--- a/node.h
+++ b/node.h
@@ -48,6 +48,7 @@ enum node_type {
NODE_DASGN_CURR,
NODE_GASGN,
NODE_IASGN,
+ NODE_IASGN2,
NODE_CDECL,
NODE_CVASGN,
NODE_CVDECL,
@@ -70,6 +71,7 @@ enum node_type {
NODE_DVAR,
NODE_GVAR,
NODE_IVAR,
+ NODE_IVAR2,
NODE_CONST,
NODE_CVAR,
NODE_NTH_REF,
@@ -282,6 +284,7 @@ typedef struct RNode {
#define NEW_DASGN(v,val) NEW_NODE(NODE_DASGN,v,val,0)
#define NEW_DASGN_CURR(v,val) NEW_NODE(NODE_DASGN_CURR,v,val,0)
#define NEW_IASGN(v,val) NEW_NODE(NODE_IASGN,v,val,0)
+#define NEW_IASGN2(v,val) NEW_NODE(NODE_IASGN2,v,val,0)
#define NEW_CDECL(v,val,path) NEW_NODE(NODE_CDECL,v,val,path)
#define NEW_CVASGN(v,val) NEW_NODE(NODE_CVASGN,v,val,0)
#define NEW_CVDECL(v,val) NEW_NODE(NODE_CVDECL,v,val,0)
@@ -294,6 +297,7 @@ typedef struct RNode {
#define NEW_LVAR(v) NEW_NODE(NODE_LVAR,v,0,local_cnt(v))
#define NEW_DVAR(v) NEW_NODE(NODE_DVAR,v,0,0)
#define NEW_IVAR(v) NEW_NODE(NODE_IVAR,v,0,0)
+#define NEW_IVAR2(v) NEW_NODE(NODE_IVAR2,v,0,0)
#define NEW_CONST(v) NEW_NODE(NODE_CONST,v,0,0)
#define NEW_CVAR(v) NEW_NODE(NODE_CVAR,v,0,0)
#define NEW_NTH_REF(n) NEW_NODE(NODE_NTH_REF,0,n,local_cnt('~'))