Function: semantic-analyze-refs-impl

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

Signature

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

Implementations

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

Return the implementations 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
;;; METHODS
;;
;; These accessor methods will calculate the useful bits from the context, and cache values
;; into the context.
(cl-defmethod semantic-analyze-refs-impl ((refs semantic-analyze-references) &optional in-buffer)
  "Return the implementations 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))
	(impl 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 (not (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 impl))))
     allhits)
    impl))