You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2018/02/07 23:59:35 UTC
[1/2] groovy git commit: Trivial refactoring: remove duplicated code
of `OperandStack`
Repository: groovy
Updated Branches:
refs/heads/master 7c4aebb17 -> c376685de
Trivial refactoring: remove duplicated code of `OperandStack`
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/95c2cf7f
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/95c2cf7f
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/95c2cf7f
Branch: refs/heads/master
Commit: 95c2cf7f02459948e2b6d7df02920c5714aa602e
Parents: 7c4aebb
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:50:42 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 07:50:42 2018 +0800
----------------------------------------------------------------------
.../groovy/classgen/asm/OperandStack.java | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/95c2cf7f/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java b/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
index f8a494c..105a8b4 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
@@ -501,17 +501,9 @@ public class OperandStack {
} else if (asPrimitive) {
pushPrimitiveConstant(mv, value, type);
} else if (value instanceof BigDecimal) {
- String className = BytecodeHelper.getClassInternalName(value.getClass().getName());
- mv.visitTypeInsn(NEW, className);
- mv.visitInsn(DUP);
- mv.visitLdcInsn(value.toString());
- mv.visitMethodInsn(INVOKESPECIAL, className, "<init>", "(Ljava/lang/String;)V", false);
+ newInstance(mv, value);
} else if (value instanceof BigInteger) {
- String className = BytecodeHelper.getClassInternalName(value.getClass().getName());
- mv.visitTypeInsn(NEW, className);
- mv.visitInsn(DUP);
- mv.visitLdcInsn(value.toString());
- mv.visitMethodInsn(INVOKESPECIAL, className, "<init>", "(Ljava/lang/String;)V", false);
+ newInstance(mv, value);
} else if (value instanceof String) {
mv.visitLdcInsn(value);
} else {
@@ -523,6 +515,14 @@ public class OperandStack {
if (boxing) box();
}
+ private static void newInstance(MethodVisitor mv, Object value) {
+ String className = BytecodeHelper.getClassInternalName(value.getClass().getName());
+ mv.visitTypeInsn(NEW, className);
+ mv.visitInsn(DUP);
+ mv.visitLdcInsn(value.toString());
+ mv.visitMethodInsn(INVOKESPECIAL, className, "<init>", "(Ljava/lang/String;)V", false);
+ }
+
private static void pushPrimitiveConstant(final MethodVisitor mv, final Object value, final ClassNode type) {
boolean isInt = ClassHelper.int_TYPE.equals(type);
boolean isShort = ClassHelper.short_TYPE.equals(type);
[2/2] groovy git commit: Trivial refactoring: reuse `size` variable
of `castToBool`
Posted by su...@apache.org.
Trivial refactoring: reuse `size` variable of `castToBool`
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c376685d
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c376685d
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c376685d
Branch: refs/heads/master
Commit: c376685de0b93bdcea049369bbcb1fb06a2e0bf8
Parents: 95c2cf7
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:56:56 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 07:56:56 2018 +0800
----------------------------------------------------------------------
.../groovy/classgen/asm/OperandStack.java | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/c376685d/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java b/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
index 105a8b4..5dc3743 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/OperandStack.java
@@ -135,7 +135,7 @@ public class OperandStack {
public void castToBool(int mark, boolean emptyDefault) {
int size = stack.size();
MethodVisitor mv = controller.getMethodVisitor();
- if (mark==size) {
+ if (mark == size) {
// no element, so use emptyDefault
if (emptyDefault) {
mv.visitIntInsn(BIPUSH, 1);
@@ -143,8 +143,8 @@ public class OperandStack {
mv.visitIntInsn(BIPUSH, 0);
}
stack.add(null);
- } else if (mark==stack.size()-1) {
- ClassNode last = stack.get(size-1);
+ } else if (mark == size - 1) {
+ ClassNode last = stack.get(size - 1);
// nothing to do in that case
if (last == ClassHelper.boolean_TYPE) return;
// not a primitive type, so call booleanUnbox
@@ -152,14 +152,14 @@ public class OperandStack {
controller.getInvocationWriter().castNonPrimitiveToBool(last);
} else {
BytecodeHelper.convertPrimitiveToBoolean(mv, last);
- }
- } else {
+ }
+ } else {
throw new GroovyBugError(
- "operand stack contains "+stack.size()+
- " elements, but we expected only "+mark
- );
+ "operand stack contains " + size +
+ " elements, but we expected only " + mark
+ );
}
- stack.set(mark,ClassHelper.boolean_TYPE);
+ stack.set(mark, ClassHelper.boolean_TYPE);
}
/**