parse.y: attr_receiver

* parse.y (aryset_gen): use `attr_receiver()`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2014-06-06 07:54:37 +00:00
parent bb3f036336
commit 118f0d1da5

View File

@ -444,6 +444,7 @@ static NODE *aryset_gen(struct parser_params*,NODE*,NODE*);
#define aryset(node1,node2) aryset_gen(parser, (node1), (node2)) #define aryset(node1,node2) aryset_gen(parser, (node1), (node2))
static NODE *attrset_gen(struct parser_params*,NODE*,ID); static NODE *attrset_gen(struct parser_params*,NODE*,ID);
#define attrset(node,id) attrset_gen(parser, (node), (id)) #define attrset(node,id) attrset_gen(parser, (node), (id))
static inline NODE *attr_receiver(NODE *recv);
static void rb_backref_error_gen(struct parser_params*,NODE*); static void rb_backref_error_gen(struct parser_params*,NODE*);
#define rb_backref_error(n) rb_backref_error_gen(parser,(n)) #define rb_backref_error(n) rb_backref_error_gen(parser,(n))
@ -8824,8 +8825,7 @@ new_bv_gen(struct parser_params *parser, ID name)
static NODE * static NODE *
aryset_gen(struct parser_params *parser, NODE *recv, NODE *idx) aryset_gen(struct parser_params *parser, NODE *recv, NODE *idx)
{ {
if (recv && nd_type(recv) == NODE_SELF) recv = attr_receiver(recv);
recv = (NODE *)1;
return NEW_ATTRASGN(recv, tASET, idx); return NEW_ATTRASGN(recv, tASET, idx);
} }