Function: comp--direct-subtypes

comp--direct-subtypes is a byte-compiled function defined in comp-cstr.el.gz.

Signature

(comp--direct-subtypes TYPE)

Documentation

Return all the direct subtypes of TYPE.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp-cstr.el.gz
(defun comp--direct-subtypes (type)
  "Return all the direct subtypes of TYPE."
  ;; TODO: memoize.
  (let ((subtypes ()))
    (dolist (j (comp-cstr-ctxt-typeof-types comp-ctxt))
      (let ((occur (memq type j)))
        (when occur
          (while (not (eq j occur))
            (let ((candidate (pop j)))
              (when (and (not (memq candidate subtypes))
                         (memq type (comp--direct-supertypes candidate)))
                (push candidate subtypes)))))))
    (cl-sort subtypes #'comp--sym-lessp)))