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