Function: semantic--analyze-refs-full-lookup-simple
semantic--analyze-refs-full-lookup-simple is a byte-compiled function
defined in refs.el.gz.
Signature
(semantic--analyze-refs-full-lookup-simple TAG &optional NOERROR)
Documentation
Perform a simple lookup for occurrences of TAG in the current project.
TAG should be the tag currently under point. Optional NOERROR means don't throw errors on failure to find something. This only compares the tag name, and does not infer any matches in namespaces, or parts of some other data structure. Only works for tags in the global namespace.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/analyze/refs.el.gz
(defun semantic--analyze-refs-full-lookup-simple (tag &optional noerror)
"Perform a simple lookup for occurrences of TAG in the current project.
TAG should be the tag currently under point.
Optional NOERROR means don't throw errors on failure to find something.
This only compares the tag name, and does not infer any matches in namespaces,
or parts of some other data structure.
Only works for tags in the global namespace."
(let* ((name (semantic-tag-name tag))
(brute (semanticdb-find-tags-collector
(lambda (table tags)
(semanticdb-find-tags-by-name-method table name tags)
)
nil ;; This may need to be the entire project??
nil t))
)
(when (and (not brute) (not noerror))
;; An error, because tag under point ought to be found.
(error "Cannot find any references to %s in wide search" name))
(let* ((classmatch (semantic-tag-class tag))
(RES
(semanticdb-find-tags-collector
(lambda (_table tags)
(semantic-find-tags-by-class classmatch tags)
;; @todo - Add parent check also.
)
brute nil)))
(when (and (not RES) (not noerror))
(error "Cannot find any definitions for %s in wide search"
(semantic-tag-name tag)))
;; Return the matching tags and databases.
RES)))