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 <[email protected]>
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);