Function: eieio--generic-subclass-specializers

eieio--generic-subclass-specializers is a byte-compiled function defined in eieio-core.el.gz.

Signature

(eieio--generic-subclass-specializers TAG &rest _)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio-core.el.gz
;;;; Dispatch for arguments which are classes.

;; Since EIEIO does not support metaclasses, users can't easily use the
;; "dispatch on argument type" for class arguments.  That's why EIEIO's
;; `defmethod' added the :static qualifier.  For cl-generic, such a qualifier
;; would not make much sense (e.g. to which argument should it apply?).
;; Instead, we add a new "subclass" specializer.

(defun eieio--generic-subclass-specializers (tag &rest _)
  (when (cl--class-p tag)
    (when (eieio--class-p tag)
      (setq tag (eieio--full-class-object tag))) ;Autoload, if applicable.
    (mapcar (lambda (class) `(subclass ,class))
            (cl--class-allparents tag))))