You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2022/02/03 19:37:33 UTC
[groovy] 01/04: GROOVY-10352: class model: load anno enum value as property expression
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch GROOVY_2_5_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 40b49a8b100d730844d11471a0c5b2ec6c14d288
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Thu Feb 3 12:59:42 2022 -0600
GROOVY-10352: class model: load anno enum value as property expression
---
src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java b/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
index 70d487c..7ecd263 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
@@ -301,14 +301,16 @@ public class Java5 implements VMPlugin {
return new ConstantExpression(value);
if (value instanceof Class)
- return new ClassExpression(ClassHelper.makeWithoutCaching((Class)value));
+ return new ClassExpression(ClassHelper.makeWithoutCaching((Class<?>)value));
+
+ if (value instanceof Enum )
+ return new PropertyExpression(new ClassExpression(ClassHelper.makeWithoutCaching(value.getClass())), value.toString());
if (value.getClass().isArray()) {
- ListExpression elementExprs = new ListExpression();
- int len = Array.getLength(value);
- for (int i = 0; i != len; ++i)
- elementExprs.addExpression(annotationValueToExpression(Array.get(value, i)));
- return elementExprs;
+ ListExpression values = new ListExpression();
+ for (int i = 0, n = Array.getLength(value); i < n; i += 1)
+ values.addExpression(annotationValueToExpression(Array.get(value, i)));
+ return values;
}
return null;