Joli\Jane\Guesser\Guess\MultipleType::createNormalizationStatement PHP Method

createNormalizationStatement() public method

public createNormalizationStatement ( Joli\Jane\Generator\Context\Context $context, PhpParser\Node\Expr $input )
$context Joli\Jane\Generator\Context\Context
$input PhpParser\Node\Expr
    public function createNormalizationStatement(Context $context, Expr $input)
    {
        $output = new Expr\Variable($context->getUniqueVariableName('value'));
        $statements = [new Expr\Assign($output, $input)];
        foreach ($this->getTypes() as $type) {
            list($typeStatements, $typeOutput) = $type->createNormalizationStatement($context, $input);
            $statements[] = new Stmt\If_($type->createNormalizationConditionStatement($input), ['stmts' => array_merge($typeStatements, [new Expr\Assign($output, $typeOutput)])]);
        }
        return [$statements, $output];
    }