Function: semantic-analyze-refs-proto

semantic-analyze-refs-proto is a byte-compiled function defined in refs.el.gz.

Signature

(semantic-analyze-refs-proto ARG &rest ARGS)

Implementations

(semantic-analyze-refs-proto (REFS semantic-analyze-references) &optional IN-BUFFER) in `semantic/analyze/refs.el'.

Return the prototypes derived in the reference analyzer REFS. Optional argument IN-BUFFER indicates that the returned tag should be in an active buffer.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/analyze/refs.el.gz
(cl-defmethod semantic-analyze-refs-proto ((refs semantic-analyze-references) &optional in-buffer)
  "Return the prototypes derived in the reference analyzer REFS.
Optional argument IN-BUFFER indicates that the returned tag
should be in an active buffer."
  (let ((allhits (oref refs rawsearchdata))
	(tag (oref refs tag))
	(proto nil))
    (semanticdb-find-result-mapc
     (lambda (T DB)
       "Examine T in the database DB, and sort it."
       (let* ((ans (semanticdb-normalize-one-tag DB T))
	      (aT (cdr ans))
	      (aDB (car ans))
	      )
	 (when (and (semantic-tag-prototype-p aT)
		    (semantic-tag-similar-p tag aT
					    :prototype-flag
					    :parent
					    :typemodifiers
					    :default-value))
	   (when in-buffer (save-excursion (semantic-go-to-tag aT aDB)))
	   (push aT proto))))
     allhits)
    proto))