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

sunlan 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 6f97a5bc6e Trivial refactor: eliminate duplicated code
6f97a5bc6e is described below

commit 6f97a5bc6ef82887b84fccc4e08372b93739e582
Author: Daniel Sun <sun...@apache.org>
AuthorDate: Sun Jun 1 05:03:46 2025 +0900

    Trivial refactor: eliminate duplicated code
---
 .../groovy/classgen/asm/BinaryExpressionHelper.java    | 18 +-----------------
 .../org/codehaus/groovy/classgen/asm/CompileStack.java |  4 ++--
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/BinaryExpressionHelper.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/BinaryExpressionHelper.java
index 041f257d37..274a6a9bcd 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/BinaryExpressionHelper.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/BinaryExpressionHelper.java
@@ -110,21 +110,16 @@ import static 
org.codehaus.groovy.syntax.Types.RIGHT_SHIFT;
 import static org.codehaus.groovy.syntax.Types.RIGHT_SHIFT_EQUAL;
 import static org.codehaus.groovy.syntax.Types.RIGHT_SHIFT_UNSIGNED;
 import static org.codehaus.groovy.syntax.Types.RIGHT_SHIFT_UNSIGNED_EQUAL;
-import static org.objectweb.asm.Opcodes.ACONST_NULL;
 import static org.objectweb.asm.Opcodes.ALOAD;
 import static org.objectweb.asm.Opcodes.ASTORE;
 import static org.objectweb.asm.Opcodes.CHECKCAST;
-import static org.objectweb.asm.Opcodes.DCONST_0;
 import static org.objectweb.asm.Opcodes.DUP;
 import static org.objectweb.asm.Opcodes.DUP_X1;
-import static org.objectweb.asm.Opcodes.FCONST_0;
 import static org.objectweb.asm.Opcodes.GOTO;
-import static org.objectweb.asm.Opcodes.ICONST_0;
 import static org.objectweb.asm.Opcodes.IFEQ;
 import static org.objectweb.asm.Opcodes.IFNE;
 import static org.objectweb.asm.Opcodes.IF_ACMPEQ;
 import static org.objectweb.asm.Opcodes.INSTANCEOF;
-import static org.objectweb.asm.Opcodes.LCONST_0;
 import static org.objectweb.asm.Opcodes.POP;
 
 public class BinaryExpressionHelper {
@@ -413,24 +408,13 @@ public class BinaryExpressionHelper {
         }
 
         // evaluate RHS and store its value
-
         if (lhsType.isArray() && rightExpression instanceof ListExpression) { 
// array = [ ... ]
             Expression array = new ArrayExpression(lhsType.getComponentType(), 
((ListExpression) rightExpression).getExpressions());
             array.setSourcePosition(rightExpression);
             array.setType(lhsType);
             array.visit(acg);
         } else if (rightExpression instanceof EmptyExpression) { // define 
field
-            /*  */ if (ClassHelper.isPrimitiveDouble(lhsType)) {
-                mv.visitInsn(DCONST_0);
-            } else if (ClassHelper.isPrimitiveFloat(lhsType)) {
-                mv.visitInsn(FCONST_0);
-            } else if (ClassHelper.isPrimitiveLong(lhsType)) {
-                mv.visitInsn(LCONST_0);
-            } else if (ClassHelper.isPrimitiveType(lhsType)) {
-                mv.visitInsn(ICONST_0);
-            } else {
-                mv.visitInsn(ACONST_NULL);
-            }
+            CompileStack.pushInitValue(lhsType, mv);
             operandStack.push(lhsType);
         } else {
             rightExpression.visit(acg);
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/CompileStack.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/CompileStack.java
index 3939be0bc4..dc461eacfd 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/CompileStack.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/CompileStack.java
@@ -661,8 +661,8 @@ public class CompileStack {
         mv.visitVarInsn(ASTORE, reference.getIndex());
     }
 
-    private static void pushInitValue(final ClassNode type, final 
MethodVisitor mv) {
-        /*  */ if (ClassHelper.isPrimitiveDouble(type)) {
+    static void pushInitValue(final ClassNode type, final MethodVisitor mv) {
+        if (ClassHelper.isPrimitiveDouble(type)) {
             mv.visitInsn(DCONST_0);
         } else if (ClassHelper.isPrimitiveFloat(type)) {
             mv.visitInsn(FCONST_0);

Reply via email to