Nelmio\Alice\FixtureBuilder\ExpressionLanguage\Parser\TokenParser\Chainable\TolerantFunctionTokenParser::parse PHP Метод

parse() публичный Метод

public parse ( Token $token ) : FunctionCallValue | ListValue
$token Nelmio\Alice\FixtureBuilder\ExpressionLanguage\Token
Результат Nelmio\Alice\Definition\Value\FunctionCallValue | Nelmio\Alice\Definition\Value\ListValue
    public function parse(Token $token)
    {
        parent::parse($token);
        $split = preg_split(self::REGEX, $token->getValue(), 2, PREG_SPLIT_DELIM_CAPTURE + PREG_SPLIT_NO_EMPTY);
        $splitSize = count($split);
        if (1 === $splitSize) {
            return $this->functionTokenParser->parse($token);
        }
        if (3 !== count($split) && 4 !== count($split)) {
            throw ExpressionLanguageExceptionFactory::createForCouldNotLexValue($token->getValue());
        }
        $values = [$this->parser->parse($split[0] . $split[1])];
        if (3 === $splitSize) {
            $values[] = $this->parser->parse('<' . $split[2]);
        }
        if (4 === $splitSize) {
            $values[] = $this->parser->parse($split[2]);
            $values[] = $this->parser->parse('<' . $split[3]);
        }
        return $this->mergeValues($values);
    }