Paul King created GROOVY-11944:
----------------------------------
Summary: implement getTagList() and add description() view for
runtime Groovydoc
Key: GROOVY-11944
URL: https://issues.apache.org/jira/browse/GROOVY-11944
Project: Groovy
Issue Type: Improvement
Reporter: Paul King
h2. Scope
* Implement getTagList(). Parse block tags (@param, @return, @throws,
@exception, @since, @author, @version, @deprecated, @see, plus any custom @foo)
from the raw comment. Each becomes a GroovydocTag whose name is the tag word
(without the leading @) and whose content is the remaining text of that tag,
joined across continuation lines and with leading comment markers stripped.
* Add a getDescription() method on Groovydoc. It returns the description
portion of the comment: everything before the first block tag, with the leading
/@ (or /), the per-line leading asterisks, and the trailing */ removed. Inline
tags such as \{@link ...}, \{@code ...}, \{@value ...} stay in place as source
text.
* Leave value() untouched. The raw source form is a published contract. Block
tags parsed out into getTagList() also still appear in value() unchanged. This
mirrors the Javadoc Doclet API split between getRawCommentText, commentText,
and tags, and avoids breaking any existing callers who call value() expecting
the full comment.
* Document the "raw source form" invariant in the @Groovydoc annotation's
javadoc: the value() is the unprocessed source comment, no Markdown rendering,
no \{@snippet} expansion, no \{@value} substitution. Consumers (IDEs, tools)
interpret it.
* Cache the parsed tag list lazily on the Groovydoc wrapper so repeated
getTagList() calls don't reparse.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)