}
return new OpElementAsgnNode(position, receiverNode, operatorName, argsNode, valueNode);
}
public Node new_attrassign(ISourcePosition position, Node receiver, String name, Node args) {
if (!(args instanceof ArrayNode)) return new AttrAssignNode(position, receiver, name, args);
ArrayNode argsNode = (ArrayNode) args;
switch (argsNode.size()) {
case 1:
return new AttrAssignOneArgNode(position, receiver, name, argsNode);
case 2:
return new AttrAssignTwoArgNode(position, receiver, name, argsNode);
case 3:
return new AttrAssignThreeArgNode(position, receiver, name, argsNode);
default:
return new AttrAssignNode(position, receiver, name, argsNode);
}
}