pQuery\TokenizerBase::expect PHP Метод

expect() защищенный Метод

Expect a specific token or character. Adds error if token doesn't match.
protected expect ( string | integer $token, boolean | integer $do_next = true, boolean | integer $try_next = false, boolean | integer $next_on_match = 1 ) : boolean
$token string | integer Character or token to expect
$do_next boolean | integer Go to next character before evaluating. 1 for next char, true to ignore whitespace
$try_next boolean | integer Try next character if current doesn't match. 1 for next char, true to ignore whitespace
$next_on_match boolean | integer Go to next character after evaluating. 1 for next char, true to ignore whitespace
Результат boolean
    protected function expect($token, $do_next = true, $try_next = false, $next_on_match = 1)
    {
        if ($do_next) {
            if ($do_next === 1) {
                $this->next();
            } else {
                $this->next_no_whitespace();
            }
        }
        if (is_int($token)) {
            if ($this->token !== $token && (!$try_next || ($try_next === 1 && $this->next() !== $token || $try_next === true && $this->next_no_whitespace() !== $token))) {
                $this->addError('Unexpected "' . $this->getTokenString() . '"');
                return false;
            }
        } else {
            if ($this->doc[$this->pos] !== $token && (!$try_next || ($try_next === 1 && $this->next() !== self::TOK_NULL || $try_next === true && $this->next_no_whitespace() !== self::TOK_NULL) && $this->doc[$this->pos] !== $token)) {
                $this->addError('Expected "' . $token . '", but found "' . $this->getTokenString() . '"');
                return false;
            }
        }
        if ($next_on_match) {
            if ($next_on_match === 1) {
                $this->next();
            } else {
                $this->next_no_whitespace();
            }
        }
        return true;
    }