Function: child-of-class-p

child-of-class-p is a byte-compiled function defined in eieio.el.gz.

Signature

(child-of-class-p CHILD CLASS)

Documentation

Return non-nil if CHILD class is a subclass of CLASS.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio.el.gz
(defun child-of-class-p (child class)
  "Return non-nil if CHILD class is a subclass of CLASS."
  (setq child (eieio--full-class-object child))
  (cl-check-type child eieio--class)
  ;; `eieio-default-superclass' is never mentioned in eieio--class-parents,
  ;; so we have to special case it here.
  (or (eq class 'eieio-default-superclass)
      (let ((p nil))
        (setq class (eieio--class-object class))
        (cl-check-type class eieio--class)
        (while (and child (not (eq child class)))
          (setq p (append p (eieio--class-parents child))
                child (pop p)))
        (if child t))))