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}`).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]