From ce8859c5563493a94f57d3b630e7b9c1d3cd656f Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 25 Nov 1998 03:31:19 +0000 Subject: *** empty log message *** git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1dev@344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- node.h | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) (limited to 'node.h') diff --git a/node.h b/node.h index cfd325cc65..c1923fba75 100644 --- a/node.h +++ b/node.h @@ -78,6 +78,8 @@ enum node_type { NODE_DREGX, NODE_DREGX_ONCE, NODE_ARGS, + NODE_ARGSCAT, + NODE_RESTARGS, NODE_BLOCK_ARG, NODE_BLOCK_PASS, NODE_DEFN, @@ -141,9 +143,11 @@ typedef struct RNode { #define nd_set_type(n,t) \ RNODE(n)->flags=((RNODE(n)->flags&~FL_UMASK)|(((t)<flags>>18)&0x3fff) +#define NODE_LSHIFT (FL_USHIFT+8) +#define NODE_LMASK ((1<<(sizeof(NODE*)*CHAR_BIT-NODE_LSHIFT))-1) +#define nd_line(n) (((RNODE(n))->flags>>NODE_LSHIFT)&NODE_LMASK) #define nd_set_line(n,l) \ - RNODE(n)->flags=((RNODE(n)->flags&~(-1<<18))|(((l)&0x7fff)<<18)) + RNODE(n)->flags=((RNODE(n)->flags&~(-1<