Beispiel #1
0
        public AssignLogicStatement(LogicAssignmentTarget assignmentTarget, string op, LogicExpression expression)
        {
            this.AssignmentTarget = assignmentTarget;

            switch (op)
            {
            case "=":
                this.Expression = expression;
                break;

            case "+=":
                this.Expression = new AdditionLogicExpression(
                    this.AssignmentTarget.GetReadExpression(),
                    "+",
                    expression);
                break;

            case "-=":
                this.Expression = new AdditionLogicExpression(
                    this.AssignmentTarget.GetReadExpression(),
                    "-",
                    expression);
                break;

            case "*=":
                this.Expression = new MultiplyLogicExpression(
                    this.AssignmentTarget.GetReadExpression(),
                    "*",
                    expression);
                break;

            case "/=":
                this.Expression = new MultiplyLogicExpression(
                    this.AssignmentTarget.GetReadExpression(),
                    "/",
                    expression);
                break;

            default:
                throw new InvalidOperationException();
            }
        }
        public AssignLogicStatement(LogicAssignmentTarget assignmentTarget, string op, LogicExpression expression)
        {
            this.AssignmentTarget = assignmentTarget;

            switch (op)
            {
                case "=":
                    this.Expression = expression;
                    break;
                case "+=":
                    this.Expression = new AdditionLogicExpression(
                        this.AssignmentTarget.GetReadExpression(),
                        "+",
                        expression);
                    break;
                case "-=":
                    this.Expression = new AdditionLogicExpression(
                        this.AssignmentTarget.GetReadExpression(),
                        "-",
                        expression);
                    break;
                case "*=":
                    this.Expression = new MultiplyLogicExpression(
                        this.AssignmentTarget.GetReadExpression(),
                        "*",
                        expression);
                    break;
                case "/=":
                    this.Expression = new MultiplyLogicExpression(
                        this.AssignmentTarget.GetReadExpression(),
                        "/",
                        expression);
                    break;
                default:
                    throw new InvalidOperationException();
            }
        }