Esempio n. 1
0
    // TODO plus vs minus vs OR
    public object visitAdditionExpression(Expression.Addition expr)
    {
        expr.Left.Accept(this);
        expr.Right.Accept(this);

        var op = Util.OpToIntegerInstruction(expr.Operation);

        current.Body.Add(op);
        return(null);
    }
Esempio n. 2
0
    // TODO plus vs minus vs OR
    public object visitAdditionExpression(Expression.Addition expr)
    {
        var left  = expr.Left.Accept(this);
        var right = expr.Right.Accept(this);

        if (left != right)
        {
            throw new Exception("Cannot add different types");
        }

        return(left);
    }