public AssignExprNode loadAssignmentExpression(string path) { string opstr = oilcan.getStringValue(path + ".op", ""); AssignExprNode.OPERATOR op = AssignExprNode.OPERATOR.EQUAL; switch (opstr) { case "equal": op = AssignExprNode.OPERATOR.EQUAL; break; case "multequal": op = AssignExprNode.OPERATOR.MULTEQUAL; break; case "divequal": op = AssignExprNode.OPERATOR.DIVEQUAL; break; case "modequal": op = AssignExprNode.OPERATOR.MODEQUAL; break; case "addequal": op = AssignExprNode.OPERATOR.ADDEQUAL; break; case "subequal": op = AssignExprNode.OPERATOR.SUBEQUAL; break; case "lshiftequal": op = AssignExprNode.OPERATOR.LSHIFTEQUAL; break; case "rshiftequal": op = AssignExprNode.OPERATOR.RSHIFTEQUAL; break; case "andequal": op = AssignExprNode.OPERATOR.ANDEQUAL; break; case "xorequal": op = AssignExprNode.OPERATOR.XOREQUAL; break; case "orequal": op = AssignExprNode.OPERATOR.OREQUAL; break; default: break; } ExprNode lhs = loadExpression(path + ".lhs"); ExprNode rhs = loadExpression(path + ".rhs"); AssignExprNode enode = new AssignExprNode(op, lhs, rhs); return(enode); }
//------------------------------------------------- public AssignExprNode makeAssignExpressionNode(AssignExprNode.OPERATOR oper, ExprNode lhs, ExprNode rhs) { AssignExprNode node = new AssignExprNode(oper, lhs, rhs); return(node); }