Function: eieio-build-class-alist
eieio-build-class-alist is a byte-compiled function defined in
eieio-opt.el.gz.
Signature
(eieio-build-class-alist &optional CLASS INSTANTIABLE-ONLY BUILDLIST)
Documentation
Return an alist of all currently active classes for completion purposes.
Optional argument CLASS is the class to start with. If INSTANTIABLE-ONLY is non-nil, only allow names of classes which are not abstract, otherwise allow all classes. Optional argument BUILDLIST is more list to attach and is used internally.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio-opt.el.gz
(defun eieio-build-class-alist (&optional class instantiable-only buildlist)
"Return an alist of all currently active classes for completion purposes.
Optional argument CLASS is the class to start with.
If INSTANTIABLE-ONLY is non-nil, only allow names of classes which
are not abstract, otherwise allow all classes.
Optional argument BUILDLIST is more list to attach and is used internally."
(let* ((cc (or class 'eieio-default-superclass))
(sublst (eieio--class-children (cl--find-class cc))))
(unless (assoc (symbol-name cc) buildlist)
(when (or (not instantiable-only) (not (class-abstract-p cc)))
;; FIXME: Completion tables don't need alists, and ede/generic.el needs
;; the symbols rather than their names.
(setq buildlist (cons (cons (symbol-name cc) 1) buildlist))))
(dolist (elem sublst)
(setq buildlist (eieio-build-class-alist
elem instantiable-only buildlist)))
buildlist))