private function checkType(): bool
    {
        if (!@$this->matches['type']) {
            throw (new CodeError(static::CODE_TAG_MISSING_TYPE, self::MESSAGE_TAG_MISSING_TYPE, $this->stackPos))
                ->setPayload([$this->matches['var']])
                ->setToken($this->token);
        }

        if (strtolower($this->matches['type']) === 'mixed') {
            throw (new CodeWarning(static::CODE_TAG_MIXED_TYPE, self::MESSAGE_TAG_MIXED_TYPE, $this->stackPos))
                ->setToken($this->token);
        }


        return true;
    }