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:23:18 UTC
[1/3] groovy git commit: Trivial refactoring: Refine
`getMethodDescriptor`
Repository: groovy
Updated Branches:
refs/heads/GROOVY_2_5_X e73863dfa -> b8c7366c1
Trivial refactoring: Refine `getMethodDescriptor`
(cherry picked from commit 7c4aebb)
(cherry picked from commit c102ce3)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/afc9caed
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/afc9caed
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/afc9caed
Branch: refs/heads/GROOVY_2_5_X
Commit: afc9caed3237295dea0e920193b9a87aa931fb1c
Parents: e73863d
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:37:39 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 09:22:35 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/afc9caed/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));
[3/3] groovy git commit: Trivial refactoring: reuse `size` variable
of `castToBool`
Posted by su...@apache.org.
Trivial refactoring: reuse `size` variable of `castToBool`
(cherry picked from commit c376685)
(cherry picked from commit 700cf3f)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/b8c7366c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/b8c7366c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/b8c7366c
Branch: refs/heads/GROOVY_2_5_X
Commit: b8c7366c14100be8c4efa66b5645019f81ccc921
Parents: 9f890da
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:56:56 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 09:22:41 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/b8c7366c/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)
(cherry picked from commit 2366146)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/9f890da3
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/9f890da3
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/9f890da3
Branch: refs/heads/GROOVY_2_5_X
Commit: 9f890da3454a853cf8506093dacdd68180ca208d
Parents: afc9cae
Author: sunlan <su...@apache.org>
Authored: Thu Feb 8 07:50:42 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Feb 8 09:22:38 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/9f890da3/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);