Function: eieio--class-precedence-dfs

eieio--class-precedence-dfs is a byte-compiled function defined in eieio-core.el.gz.

Signature

(eieio--class-precedence-dfs CLASS)

Documentation

Return all parents of CLASS in depth-first order.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio-core.el.gz
;;;
;; Method Invocation Order: Depth First

(defun eieio--class-precedence-dfs (class)
  "Return all parents of CLASS in depth-first order."
  (let* ((parents (cl--class-parents class))
	 (classes (copy-sequence
		   (apply #'append
			  (list class)
			  (mapcar
			   (lambda (parent)
			     (cons parent
				   (eieio--class-precedence-dfs parent)))
			   parents))))
	 (tail classes))
    ;; Remove duplicates.
    (while tail
      (setcdr tail (delq (car tail) (cdr tail)))
      (setq tail (cdr tail)))
    classes))