Function: semantic-brute-find-innermost-tag-by-position
semantic-brute-find-innermost-tag-by-position is a byte-compiled
function defined in find.el.gz.
Signature
(semantic-brute-find-innermost-tag-by-position POSITION STREAMORBUFFER &optional NOMEDIAN)
Documentation
Find a list of tags covering POSITION within STREAMORBUFFER.
POSITION is a number, or marker. If NOMEDIAN is non-nil, don't do the median calculation, and return nil. This function will find the topmost item, and recurse until no more details are available of findable.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/find.el.gz
(defun semantic-brute-find-innermost-tag-by-position
(position streamorbuffer &optional nomedian)
"Find a list of tags covering POSITION within STREAMORBUFFER.
POSITION is a number, or marker. If NOMEDIAN is non-nil, don't do
the median calculation, and return nil.
This function will find the topmost item, and recurse until no more
details are available of findable."
(let* ((returnme nil)
(current (semantic-brute-find-tag-by-position
position streamorbuffer nomedian))
(nextstream (and current
(if (eq (semantic-tag-class current) 'type)
(semantic-tag-type-members current)
nil))))
(while nextstream
(setq returnme (cons current returnme))
(setq current (semantic-brute-find-tag-by-position
position nextstream nomedian))
(setq nextstream (and current
;; NOTE TO SELF:
;; Looking at this after several years away,
;; what does this do???
(if (eq (semantic-tag-class current) 'token)
(semantic-tag-type-members current)
nil))))
(nreverse (cons current returnme))))