Function: comp-cstr-type-p

comp-cstr-type-p is a byte-compiled function defined in comp-cstr.el.gz.

Signature

(comp-cstr-type-p CSTR TYPE)

Documentation

Return t if CSTR is certainly of type TYPE.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp-cstr.el.gz
(defun comp-cstr-type-p (cstr type)
  "Return t if CSTR is certainly of type TYPE."
  (when
      (with-comp-cstr-accessors
        (cl-case type
          (integer
           (if (or (valset cstr) (neg cstr))
               nil
             (or (equal (typeset cstr) '(integer))
                 (and (range cstr)
                      (or (null (typeset cstr))
                          (equal (typeset cstr) '(integer)))))))
          (t
           (if-let ((pred (get type 'cl-deftype-satisfies)))
               (and (null (range cstr))
                    (null (neg cstr))
                    (and (or (null (typeset cstr))
                             (equal (typeset cstr) `(,type)))
                         (cl-every pred (valset cstr))))
             (error "Unknown predicate for type %s" type)))))
    t))