PHPSA\Compiler\Expression\Operators\Concat::compile PHP Метод

compile() защищенный Метод

protected compile ( PhpParser\Node\Expr\BinaryOp\Concat $expr, Context $context ) : CompiledExpression
$expr PhpParser\Node\Expr\BinaryOp\Concat
$context PHPSA\Context
Результат PHPSA\CompiledExpression
    protected function compile($expr, Context $context)
    {
        $expressionCompiler = $context->getExpressionCompiler();
        $leftExpression = $expressionCompiler->compile($expr->left);
        $rightExpression = $expressionCompiler->compile($expr->right);
        switch ($leftExpression->getType()) {
            case CompiledExpression::STRING:
            case CompiledExpression::NUMBER:
            case CompiledExpression::INTEGER:
            case CompiledExpression::DOUBLE:
            case CompiledExpression::BOOLEAN:
                switch ($rightExpression->getType()) {
                    case CompiledExpression::STRING:
                    case CompiledExpression::NUMBER:
                    case CompiledExpression::INTEGER:
                    case CompiledExpression::DOUBLE:
                    case CompiledExpression::BOOLEAN:
                        return new CompiledExpression(CompiledExpression::STRING, $leftExpression->getValue() . $rightExpression->getValue());
                }
        }
        return new CompiledExpression();
    }
Concat