This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new d342d993c0 GROOVY-11295: additional minor refactor
d342d993c0 is described below

commit d342d993c04d573a55b941cf2d408c54ee198bca
Author: Paul King <[email protected]>
AuthorDate: Thu Jan 25 14:09:13 2024 +1000

    GROOVY-11295: additional minor refactor
---
 src/main/java/org/codehaus/groovy/ast/tools/GeneralUtils.java | 9 +++++++++
 src/main/java/org/codehaus/groovy/classgen/EnumVisitor.java   | 8 +++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/tools/GeneralUtils.java 
b/src/main/java/org/codehaus/groovy/ast/tools/GeneralUtils.java
index bd6f18e152..1a09bf80d6 100644
--- a/src/main/java/org/codehaus/groovy/ast/tools/GeneralUtils.java
+++ b/src/main/java/org/codehaus/groovy/ast/tools/GeneralUtils.java
@@ -32,6 +32,7 @@ import org.codehaus.groovy.ast.PropertyNode;
 import org.codehaus.groovy.ast.Variable;
 import org.codehaus.groovy.ast.VariableScope;
 import org.codehaus.groovy.ast.expr.ArgumentListExpression;
+import org.codehaus.groovy.ast.expr.ArrayExpression;
 import org.codehaus.groovy.ast.expr.AttributeExpression;
 import org.codehaus.groovy.ast.expr.BinaryExpression;
 import org.codehaus.groovy.ast.expr.BooleanExpression;
@@ -51,6 +52,7 @@ import org.codehaus.groovy.ast.expr.MapExpression;
 import org.codehaus.groovy.ast.expr.MethodCallExpression;
 import org.codehaus.groovy.ast.expr.NotExpression;
 import org.codehaus.groovy.ast.expr.PropertyExpression;
+import org.codehaus.groovy.ast.expr.SpreadExpression;
 import org.codehaus.groovy.ast.expr.StaticMethodCallExpression;
 import org.codehaus.groovy.ast.expr.TernaryExpression;
 import org.codehaus.groovy.ast.expr.VariableExpression;
@@ -130,6 +132,9 @@ public class GeneralUtils {
         return 
args(Arrays.stream(names).map(GeneralUtils::varX).toArray(Expression[]::new));
     }
 
+    public static ArrayExpression arrayX(final ClassNode elementType, 
List<Expression> initExpressions) {
+        return new ArrayExpression(elementType, initExpressions);
+    }
     public static CastExpression asX(final ClassNode type, final Expression 
expression) {
         return CastExpression.asExpression(type, expression);
     }
@@ -838,6 +843,10 @@ public class GeneralUtils {
         return new ExpressionStatement(expr);
     }
 
+    public static SpreadExpression spreadX(final Expression expr) {
+        return new SpreadExpression(expr);
+    }
+
     public static SwitchStatement switchS(final Expression expr) {
         return new SwitchStatement(expr);
     }
diff --git a/src/main/java/org/codehaus/groovy/classgen/EnumVisitor.java 
b/src/main/java/org/codehaus/groovy/classgen/EnumVisitor.java
index 7d2a8b542a..6ac3c48b7e 100644
--- a/src/main/java/org/codehaus/groovy/classgen/EnumVisitor.java
+++ b/src/main/java/org/codehaus/groovy/classgen/EnumVisitor.java
@@ -29,14 +29,12 @@ import org.codehaus.groovy.ast.InnerClassNode;
 import org.codehaus.groovy.ast.MethodNode;
 import org.codehaus.groovy.ast.Parameter;
 import org.codehaus.groovy.ast.expr.ArgumentListExpression;
-import org.codehaus.groovy.ast.expr.ArrayExpression;
 import org.codehaus.groovy.ast.expr.ClassExpression;
 import org.codehaus.groovy.ast.expr.ConstructorCallExpression;
 import org.codehaus.groovy.ast.expr.Expression;
 import org.codehaus.groovy.ast.expr.ListExpression;
 import org.codehaus.groovy.ast.expr.MapEntryExpression;
 import org.codehaus.groovy.ast.expr.MethodCallExpression;
-import org.codehaus.groovy.ast.expr.SpreadExpression;
 import org.codehaus.groovy.ast.expr.VariableExpression;
 import org.codehaus.groovy.ast.stmt.Statement;
 import org.codehaus.groovy.control.CompilationUnit;
@@ -181,7 +179,7 @@ public class EnumVisitor extends ClassCodeVisitorSupport {
         {
             // create valueOf
             Parameter stringParameter = param(ClassHelper.STRING_TYPE, "name");
-            MethodNode valueOfMethod = new MethodNode("valueOf", ACC_PUBLIC | 
ACC_STATIC, enumRef, new Parameter[]{stringParameter}, ClassNode.EMPTY_ARRAY, 
null);
+            MethodNode valueOfMethod = new MethodNode("valueOf", ACC_PUBLIC | 
ACC_STATIC, enumRef, params(stringParameter), ClassNode.EMPTY_ARRAY, null);
             valueOfMethod.setCode(block(returnS(
                 callX(ClassHelper.Enum_Type, "valueOf", 
args(classX(enumClass), varX("name")))
             )));
@@ -206,7 +204,7 @@ public class EnumVisitor extends ClassCodeVisitorSupport {
         Parameter[] parameter = 
params(param(ClassHelper.OBJECT_TYPE.makeArray(), "para"));
         MethodNode initMethod = new MethodNode("$INIT", ACC_FINAL | ACC_PUBLIC 
| ACC_STATIC | ACC_SYNTHETIC, enumRef, parameter, ClassNode.EMPTY_ARRAY, null);
         initMethod.setSynthetic(true);
-        ConstructorCallExpression cce = ctorThisX(args(new 
SpreadExpression(varX("para"))));
+        ConstructorCallExpression cce = ctorThisX(args(spreadX(varX("para"))));
         initMethod.setCode(block(returnS(cce)));
         addGeneratedMethod(enumClass, initMethod);
 
@@ -286,7 +284,7 @@ public class EnumVisitor extends ClassCodeVisitorSupport {
                 enumClass.addField(maxValue);
             }
 
-            block.add(assignS(fieldX(values), new ArrayExpression(enumClass, 
arrayInit)));
+            block.add(assignS(fieldX(values), arrayX(enumClass, arrayInit)));
             enumClass.addField(values);
         }
         enumClass.addStaticInitializerStatements(block, true);

Reply via email to