Function: semantic-documentation-for-tag-java-mode
semantic-documentation-for-tag-java-mode is a byte-compiled function
defined in java.el.gz.
Signature
(semantic-documentation-for-tag-java-mode &optional TAG NOSNARF)
Documentation
Find documentation from TAG and return it as a clean string.
Java have documentation set in a comment preceding TAG's definition.
Attempt to strip out comment syntactic sugar, unless optional argument
NOSNARF is non-nil.
If NOSNARF is lex, then return the semantic lex token.
Override semantic-documentation-for-tag in java-mode buffers.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/java.el.gz
(define-mode-local-override semantic-documentation-for-tag
java-mode (&optional tag nosnarf)
"Find documentation from TAG and return it as a clean string.
Java have documentation set in a comment preceding TAG's definition.
Attempt to strip out comment syntactic sugar, unless optional argument
NOSNARF is non-nil.
If NOSNARF is `lex', then return the semantic lex token."
(when (or tag (setq tag (semantic-current-tag)))
(with-current-buffer (semantic-tag-buffer tag)
(save-excursion
;; Move the point at token start
(goto-char (semantic-tag-start tag))
(semantic-java-skip-spaces-forward)
;; If the point already at "/**" (this occurs after a doc fix)
(if (looking-at "/\\*\\*")
nil
;; Skip previous spaces
(semantic-java-skip-spaces-backward)
;; Ensure point is after "*/" (javadoc block comment end)
(condition-case nil
(backward-char 2)
(error nil))
(when (looking-at "\\*/")
;; Move the point backward across the comment
(forward-char 2) ; return just after "*/"
(forward-comment -1) ; to skip the entire block
))
;; Verify the point is at "/**" (javadoc block comment start)
(if (looking-at "/\\*\\*")
(let ((p (point))
(c (semantic-doc-snarf-comment-for-tag 'lex)))
(when c
;; Verify that the token just following the doc
;; comment is the current one!
(goto-char (semantic-lex-token-end c))
(semantic-java-skip-spaces-forward)
(when (eq tag (semantic-current-tag))
(goto-char p)
(semantic-doc-snarf-comment-for-tag nosnarf)))))
))))