protected function isIdentifier(&$length, &$content)
    {
        static $identifierDelimiters = [
            '"' => '"',
            '[' => ']',
            '`' => '`',
        ];

        if (!isset($identifierDelimiters[$this->substring(1)])) {
            return false;
        }

        $delimiter = $identifierDelimiters[$this->substring(1)];
        $offset = $this->offset;
        while (true) {
            $offset = $this->indexAfter($delimiter, $offset + 1);
            if ($delimiter === ']' || $this->substring(1, true, $offset) !== $delimiter) {
                break;
            }
        }
        $length = $offset - $this->offset;
        $content = $this->substring($length - 2, true, $this->offset + 1);
        if ($delimiter !== ']') {
            $content = strtr($content, ["$delimiter$delimiter" => $delimiter]);
        }

        return true;
    }
protected function isIdentifier(&$length, &$content)
    {
        static $identifierDelimiters = [
            '"' => '"',
            '[' => ']',
            '`' => '`',
        ];

        if (!isset($identifierDelimiters[$this->substring(1)])) {
            return false;
        }

        $delimiter = $identifierDelimiters[$this->substring(1)];
        $offset = $this->offset;
        while (true) {
            $offset = $this->indexAfter($delimiter, $offset + 1);
            if ($delimiter === ']' || $this->substring(1, true, $offset) !== $delimiter) {
                break;
            }
        }
        $length = $offset - $this->offset;
        $content = $this->substring($length - 2, true, $this->offset + 1);
        if ($delimiter !== ']') {
            $content = strtr($content, ["$delimiter$delimiter" => $delimiter]);
        }

        return true;
    }
{@inheritdoc}