PHPSA\Compiler\Expression\AssignOp\Minus::compile PHP Method

compile() protected method

{left-expr} -= {right-expr}
protected compile ( PhpParser\Node\Expr\AssignOp\Minus $expr, Context $context ) : CompiledExpression
$expr PhpParser\Node\Expr\AssignOp\Minus
$context PHPSA\Context
return PHPSA\CompiledExpression
    protected function compile($expr, Context $context)
    {
        $left = $context->getExpressionCompiler()->compile($expr->var);
        $expExpression = $context->getExpressionCompiler()->compile($expr->expr);
        switch ($left->getType()) {
            case CompiledExpression::INTEGER:
            case CompiledExpression::DOUBLE:
            case CompiledExpression::NUMBER:
            case CompiledExpression::BOOLEAN:
                switch ($expExpression->getType()) {
                    case CompiledExpression::INTEGER:
                    case CompiledExpression::DOUBLE:
                    case CompiledExpression::NUMBER:
                    case CompiledExpression::BOOLEAN:
                        return CompiledExpression::fromZvalValue($left->getValue() - $expExpression->getValue());
                }
        }
        return new CompiledExpression();
    }
Minus