Nextras\Orm\Entity\Reflection\ModifierParser::lex PHP Метод

lex() приватный Метод

private lex ( $input, ReflectionClass $reflectionClass )
$reflectionClass ReflectionClass
    private function lex($input, ReflectionClass $reflectionClass)
    {
        try {
            $tokens = $this->tokenizer->tokenize($input);
        } catch (TokenizerException $e) {
            throw new InvalidModifierDefinitionException('Unable to tokenize the modifier.', 0, $e);
        }
        $tokens = array_filter($tokens, function ($pair) {
            return $pair[2] !== self::TOKEN_WHITESPACE && $pair[2] !== null;
        });
        $tokens = array_values($tokens);
        $expanded = [];
        foreach ($tokens as $token) {
            if ($token[2] === self::TOKEN_STRING) {
                $token[0] = stripslashes(substr($token[0], 1, -1));
                $expanded[] = $token;
            } elseif ($token[2] === self::TOKEN_KEYWORD) {
                $values = $this->processKeyword($token[0], $reflectionClass);
                if (is_array($values)) {
                    $count = count($values) - 1;
                    foreach ($values as $i => $value) {
                        $expanded[] = [$value, $token[1], $token[2]];
                        if ($i !== $count) {
                            $expanded[] = [',', -1, self::TOKEN_SEPARATOR];
                        }
                    }
                } else {
                    $expanded[] = [$values, $token[1], $token[2]];
                }
            } else {
                $expanded[] = $token;
            }
        }
        return $expanded;
    }