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