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)

Reply via email to