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);
     }
 
     /**