[
https://issues.apache.org/jira/browse/GROOVY-12039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18083231#comment-18083231
]
ASF GitHub Bot commented on GROOVY-12039:
-----------------------------------------
Copilot commented on code in PR #2564:
URL: https://github.com/apache/groovy/pull/2564#discussion_r3296441526
##########
subprojects/groovy-typecheckers/src/main/groovy/groovy/typecheckers/MonadicChecker.groovy:
##########
@@ -61,6 +62,7 @@ import static org.objectweb.asm.Opcodes.ACC_BRIDGE
*
* Activate with {@code
@CompileStatic(extensions='groovy.typecheckers.MonadicChecker')}.
Review Comment:
`MonadicChecker` is marked `@Incubating` but its class GroovyDoc currently
lacks an `@since` tag, unlike the other checkers in this package. Adding
`@since 6.0.0` would make the API documentation consistent and clarifies when
this extension became available.
##########
subprojects/groovy-typecheckers/src/main/groovy/groovy/typecheckers/package-info.groovy:
##########
@@ -18,11 +18,40 @@
*/
/**
- * Custom type checking extensions for compile-time validation.
+ * Custom type checking extensions for compile-time validation, activated via
+ * {@code @TypeChecked(extensions = '...')} or {@code
@CompileStatic(extensions = '...')}.
*
* <p>
- * FormatStringChecker, NullChecker, RegexChecker, PurityChecker extend type
checking
- * capabilities for DSLs and domain-specific validation.
+ * Stable checkers:
* </p>
+ * <ul>
+ * <li>{@link groovy.typecheckers.RegexChecker} – validates regex
patterns and
+ * group counts at compile time</li>
+ * <li>{@link groovy.typecheckers.FormatStringChecker} – validates
+ * {@code printf} / {@code String.format} specifiers against argument
types,
+ * paired with the {@link groovy.typecheckers.FormatMethod
@FormatMethod} marker
+ * annotation for user-defined format methods</li>
+ * </ul>
+ * <p>
+ * Incubating in 6.0.0 (semantics may evolve in a subsequent 6.x release):
+ * </p>
+ * <ul>
+ * <li>{@link groovy.typecheckers.NullChecker} – null-safety analysis
using
+ * {@code @Nullable} / {@code @NonNull} / {@code @MonotonicNonNull}
annotations,
+ * with an optional strict flow-sensitive mode</li>
+ * <li>{@link groovy.typecheckers.ModifiesChecker} – verifies method
bodies
+ * comply with their {@code groovy.contracts.@Modifies} frame
conditions</li>
Review Comment:
The package-level Javadoc refers to "{@code groovy.contracts.@Modifies}"
which is not a valid fully-qualified annotation name (the annotation is
`groovy.contracts.Modifies`). This renders incorrectly in the generated docs
and may confuse users; please adjust the reference (e.g., `{@link
groovy.contracts.Modifies @Modifies}` or `{@code @groovy.contracts.Modifies}`).
> Graduate RegexChecker and FormatStringChecker from incubating to stable
> -----------------------------------------------------------------------
>
> Key: GROOVY-12039
> URL: https://issues.apache.org/jira/browse/GROOVY-12039
> Project: Groovy
> Issue Type: Task
> Reporter: Paul King
> Priority: Major
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)