case 24:
// line 372 "DefaultRubyParser.y"
{
support.checkExpression(((Node)yyVals[0+yyTop]));
if (((MultipleAsgnNode)yyVals[-2+yyTop]).getHeadNode() != null) {
((MultipleAsgnNode)yyVals[-2+yyTop]).setValueNode(new ToAryNode(getPosition(((MultipleAsgnNode)yyVals[-2+yyTop])), ((Node)yyVals[0+yyTop])));
} else {
((MultipleAsgnNode)yyVals[-2+yyTop]).setValueNode(support.newArrayNode(getPosition(((MultipleAsgnNode)yyVals[-2+yyTop])), ((Node)yyVals[0+yyTop])));
}
yyVal = ((MultipleAsgnNode)yyVals[-2+yyTop]);
}
break;
case 25:
// line 381 "DefaultRubyParser.y"
{
support.checkExpression(((Node)yyVals[0+yyTop]));
String asgnOp = (String) ((Token)yyVals[-1+yyTop]).getValue();
if (asgnOp.equals("||")) {
((AssignableNode)yyVals[-2+yyTop]).setValueNode(((Node)yyVals[0+yyTop]));
yyVal = new OpAsgnOrNode(support.union(((AssignableNode)yyVals[-2+yyTop]), ((Node)yyVals[0+yyTop])), support.gettable2(((AssignableNode)yyVals[-2+yyTop])), ((AssignableNode)yyVals[-2+yyTop]));
} else if (asgnOp.equals("&&")) {
((AssignableNode)yyVals[-2+yyTop]).setValueNode(((Node)yyVals[0+yyTop]));
yyVal = new OpAsgnAndNode(support.union(((AssignableNode)yyVals[-2+yyTop]), ((Node)yyVals[0+yyTop])), support.gettable2(((AssignableNode)yyVals[-2+yyTop])), ((AssignableNode)yyVals[-2+yyTop]));
} else {
((AssignableNode)yyVals[-2+yyTop]).setValueNode(support.getOperatorCallNode(support.gettable2(((AssignableNode)yyVals[-2+yyTop])), asgnOp, ((Node)yyVals[0+yyTop])));
((AssignableNode)yyVals[-2+yyTop]).setPosition(support.union(((AssignableNode)yyVals[-2+yyTop]), ((Node)yyVals[0+yyTop])));
yyVal = ((AssignableNode)yyVals[-2+yyTop]);
}
}
break;
case 26:
// line 397 "DefaultRubyParser.y"
{
yyVal = support.new_opElementAsgnNode(getPosition(((Node)yyVals[-5+yyTop])), ((Node)yyVals[-5+yyTop]), (String) ((Token)yyVals[-1+yyTop]).getValue(), ((Node)yyVals[-3+yyTop]), ((Node)yyVals[0+yyTop]));
}
break;
case 27:
// line 401 "DefaultRubyParser.y"
{
yyVal = new OpAsgnNode(getPosition(((Node)yyVals[-4+yyTop])), ((Node)yyVals[-4+yyTop]), ((Node)yyVals[0+yyTop]), (String) ((Token)yyVals[-2+yyTop]).getValue(), (String) ((Token)yyVals[-1+yyTop]).getValue());
}
break;
case 28:
// line 404 "DefaultRubyParser.y"
{
yyVal = new OpAsgnNode(getPosition(((Node)yyVals[-4+yyTop])), ((Node)yyVals[-4+yyTop]), ((Node)yyVals[0+yyTop]), (String) ((Token)yyVals[-2+yyTop]).getValue(), (String) ((Token)yyVals[-1+yyTop]).getValue());
}
break;
case 29:
// line 407 "DefaultRubyParser.y"
{
yyVal = new OpAsgnNode(getPosition(((Node)yyVals[-4+yyTop])), ((Node)yyVals[-4+yyTop]), ((Node)yyVals[0+yyTop]), (String) ((Token)yyVals[-2+yyTop]).getValue(), (String) ((Token)yyVals[-1+yyTop]).getValue());
}
break;
case 30:
// line 410 "DefaultRubyParser.y"
{
support.backrefAssignError(((Node)yyVals[-2+yyTop]));
}
break;
case 31:
// line 413 "DefaultRubyParser.y"
{
yyVal = support.node_assign(((Node)yyVals[-2+yyTop]), new SValueNode(getPosition(((Node)yyVals[-2+yyTop])), ((Node)yyVals[0+yyTop])));
}
break;
case 32:
// line 416 "DefaultRubyParser.y"
{
if (((MultipleAsgnNode)yyVals[-2+yyTop]).getHeadNode() != null) {
((MultipleAsgnNode)yyVals[-2+yyTop]).setValueNode(new ToAryNode(getPosition(((MultipleAsgnNode)yyVals[-2+yyTop])), ((Node)yyVals[0+yyTop])));
} else {
((MultipleAsgnNode)yyVals[-2+yyTop]).setValueNode(support.newArrayNode(getPosition(((MultipleAsgnNode)yyVals[-2+yyTop])), ((Node)yyVals[0+yyTop])));
}
yyVal = ((MultipleAsgnNode)yyVals[-2+yyTop]);
}