[ 
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} &ndash; validates regex 
patterns and
+ *       group counts at compile time</li>
+ *   <li>{@link groovy.typecheckers.FormatStringChecker} &ndash; 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} &ndash; null-safety analysis 
using
+ *       {@code @Nullable} / {@code @NonNull} / {@code @MonotonicNonNull} 
annotations,
+ *       with an optional strict flow-sensitive mode</li>
+ *   <li>{@link groovy.typecheckers.ModifiesChecker} &ndash; 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)

Reply via email to