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);