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/08 01:19:53 UTC
[1/3] groovy git commit: Trivial refactoring: reuse `size` variable
of `castToBool`
Repository: groovy
Updated Branches:
refs/heads/GROOVY_2_6_X e89f8a01d -> 700cf3fd9
Trivial refactoring: reuse `size` variable of `castToBool`
(cherry picked from commit c376685)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/700cf3fd
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/700cf3fd
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/700cf3fd
Branch: refs/heads/GROOVY_2_6_X
Commit: 700cf3fd9a3dde1b9783e97898c9760bc2e06322
Parents: 2366146
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:56:56 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 09:19:49 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/700cf3fd/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);
}
/**
[2/3] groovy git commit: Trivial refactoring: remove duplicated code
of `OperandStack`
Posted by su...@apache.org.
Trivial refactoring: remove duplicated code of `OperandStack`
(cherry picked from commit 95c2cf7)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/23661469
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/23661469
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/23661469
Branch: refs/heads/GROOVY_2_6_X
Commit: 23661469bab2f4cc76cbbfd9e502fa264be10c71
Parents: c102ce3
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:50:42 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 09:19:49 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/23661469/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);
[3/3] groovy git commit: Trivial refactoring: Refine
`getMethodDescriptor`
Posted by su...@apache.org.
Trivial refactoring: Refine `getMethodDescriptor`
(cherry picked from commit 7c4aebb)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c102ce36
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c102ce36
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c102ce36
Branch: refs/heads/GROOVY_2_6_X
Commit: c102ce3666650939ebf7692734d47a0af7de8491
Parents: e89f8a0
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:37:39 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 09:19:49 2018 +0800
----------------------------------------------------------------------
.../codehaus/groovy/classgen/asm/BytecodeHelper.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/c102ce36/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java b/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
index af464f4..197ac9c 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
@@ -75,9 +75,10 @@ public class BytecodeHelper implements Opcodes {
}
public static String getMethodDescriptor(ClassNode returnType, Parameter[] parameters) {
- StringBuilder buffer = new StringBuilder("(");
- for (int i = 0; i < parameters.length; i++) {
- buffer.append(getTypeDescription(parameters[i].getType()));
+ StringBuilder buffer = new StringBuilder(100);
+ buffer.append("(");
+ for (Parameter parameter : parameters) {
+ buffer.append(getTypeDescription(parameter.getType()));
}
buffer.append(")");
buffer.append(getTypeDescription(returnType));
@@ -99,9 +100,10 @@ public class BytecodeHelper implements Opcodes {
*/
public static String getMethodDescriptor(Class returnType, Class[] paramTypes) {
// lets avoid class loading
- StringBuilder buffer = new StringBuilder("(");
- for (int i = 0; i < paramTypes.length; i++) {
- buffer.append(getTypeDescription(paramTypes[i]));
+ StringBuilder buffer = new StringBuilder(100);
+ buffer.append("(");
+ for (Class paramType : paramTypes) {
+ buffer.append(getTypeDescription(paramType));
}
buffer.append(")");
buffer.append(getTypeDescription(returnType));