diff --git a/src/Tokenizer/Tokens.php b/src/Tokenizer/Tokens.php index 9b5e3475ef4..7e5e0a9ff09 100644 --- a/src/Tokenizer/Tokens.php +++ b/src/Tokenizer/Tokens.php @@ -1402,7 +1402,11 @@ private function changeCodeHash($codeHash) */ private function registerFoundToken($token) { - $tokenKind = $this->extractTokenKind($token); + // inlined extractTokenKind() call on the hot path + $tokenKind = $token instanceof Token + ? ($token->isArray() ? $token->getId() : $token->getContent()) + : (\is_array($token) ? $token[0] : $token) + ; if (!isset($this->foundTokenKinds[$tokenKind])) { $this->foundTokenKinds[$tokenKind] = 0; @@ -1418,7 +1422,11 @@ private function registerFoundToken($token) */ private function unregisterFoundToken($token) { - $tokenKind = $this->extractTokenKind($token); + // inlined extractTokenKind() call on the hot path + $tokenKind = $token instanceof Token + ? ($token->isArray() ? $token->getId() : $token->getContent()) + : (\is_array($token) ? $token[0] : $token) + ; if (!isset($this->foundTokenKinds[$tokenKind])) { return;