This is an automated email from the ASF dual-hosted git repository. emilles pushed a commit to branch GROOVY-6526 in repository https://gitbox.apache.org/repos/asf/groovy.git
commit c07e93dc6f6dc1b663191641267e0330564f020b Author: Eric Milles <[email protected]> AuthorDate: Thu Mar 5 11:01:33 2026 -0600 minor items --- .../org/codehaus/groovy/ast/AnnotationNode.java | 24 +++++++++++----------- .../ast/visitor/AnnotationProcessorVisitor.java | 2 -- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/ast/AnnotationNode.java b/src/main/java/org/codehaus/groovy/ast/AnnotationNode.java index d43197be20..94b772f615 100644 --- a/src/main/java/org/codehaus/groovy/ast/AnnotationNode.java +++ b/src/main/java/org/codehaus/groovy/ast/AnnotationNode.java @@ -126,7 +126,7 @@ public class AnnotationNode extends ASTNode { throw new IllegalStateException("cannot check target at this time"); // GROOVY-6526: check class for @Target - int allowedTargets = classNode.getNodeMetaData(Target.class, (k) -> { + int allowedTargets = classNode.redirect().getNodeMetaData(Target.class, (k) -> { for (AnnotationNode an : classNode.getAnnotations()) { if ("java.lang.annotation.Target".equals(an.getClassNode().getName()) && an.getMember("value") instanceof ListExpression list) { @@ -165,7 +165,7 @@ public class AnnotationNode extends ASTNode { throw new IllegalStateException("cannot check retention at this time"); // GROOVY-6526: check class for @Retention - return classNode.getNodeMetaData(Retention.class, (k) -> { + return classNode.redirect().getNodeMetaData(Retention.class, (k) -> { for (AnnotationNode an : classNode.getAnnotations()) { if ("java.lang.annotation.Retention".equals(an.getClassNode().getName())) { if (an.getMember("value") instanceof PropertyExpression pe) { @@ -245,17 +245,17 @@ public class AnnotationNode extends ASTNode { } public static String targetToName(final int target) { + if ((target & 1) == 1) return "TYPE"; // GROOVY-7151 return switch (target) { - case TYPE_TARGET -> "TYPE"; - case CONSTRUCTOR_TARGET -> "CONSTRUCTOR"; - case METHOD_TARGET -> "METHOD"; - case FIELD_TARGET -> "FIELD"; - case PARAMETER_TARGET -> "PARAMETER"; - case LOCAL_VARIABLE_TARGET -> "LOCAL_VARIABLE"; - case ANNOTATION_TARGET -> "ANNOTATION"; - case PACKAGE_TARGET -> "PACKAGE"; - case TYPE_PARAMETER_TARGET -> "TYPE_PARAMETER"; - case TYPE_USE_TARGET -> "TYPE_USE"; + case CONSTRUCTOR_TARGET -> "CONSTRUCTOR"; + case METHOD_TARGET -> "METHOD"; + case FIELD_TARGET -> "FIELD"; + case PARAMETER_TARGET -> "PARAMETER"; + case LOCAL_VARIABLE_TARGET -> "LOCAL_VARIABLE"; + case ANNOTATION_TARGET -> "ANNOTATION"; + case PACKAGE_TARGET -> "PACKAGE"; + case TYPE_PARAMETER_TARGET -> "TYPE_PARAMETER"; + case TYPE_USE_TARGET -> "TYPE_USE"; case RECORD_COMPONENT_TARGET -> "RECORD_COMPONENT"; default -> "unknown target"; }; diff --git a/subprojects/groovy-contracts/src/main/java/org/apache/groovy/contracts/ast/visitor/AnnotationProcessorVisitor.java b/subprojects/groovy-contracts/src/main/java/org/apache/groovy/contracts/ast/visitor/AnnotationProcessorVisitor.java index 56d59233df..bcdd4ab96e 100644 --- a/subprojects/groovy-contracts/src/main/java/org/apache/groovy/contracts/ast/visitor/AnnotationProcessorVisitor.java +++ b/subprojects/groovy-contracts/src/main/java/org/apache/groovy/contracts/ast/visitor/AnnotationProcessorVisitor.java @@ -199,8 +199,6 @@ public class AnnotationProcessorVisitor extends BaseVisitor { if (!AnnotationUtils.hasAnnotationOfType(methodNode, annotationNode.getClassNode().getName())) { AnnotationNode markerAnnotation = new AnnotationNode(annotationNode.getClassNode()); replaceCondition(markerAnnotation, valueExpression); - markerAnnotation.setRuntimeRetention(true); - markerAnnotation.setSourceRetention(false); methodNode.addAnnotation(markerAnnotation); } }
