Repository: groovy
Updated Branches:
  refs/heads/native-lambda 411fb6d48 -> f62c784d8


Trivial refactoring: rename variable names


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/f62c784d
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/f62c784d
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/f62c784d

Branch: refs/heads/native-lambda
Commit: f62c784d853ec4fcc596088ad8ed1fdeec807fc5
Parents: 411fb6d
Author: sunlan <[email protected]>
Authored: Tue Jan 23 07:42:20 2018 +0800
Committer: sunlan <[email protected]>
Committed: Tue Jan 23 07:42:20 2018 +0800

----------------------------------------------------------------------
 .../classgen/asm/sc/StaticInvocationWriter.java |  8 ++---
 .../asm/sc/StaticTypesLambdaWriter.java         | 36 ++++++++------------
 .../groovy/transform/stc/StaticTypesMarker.java |  2 +-
 3 files changed, 20 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/f62c784d/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
index b254337..69e0837 100644
--- 
a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
+++ 
b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
@@ -75,7 +75,7 @@ import static 
org.codehaus.groovy.ast.ClassHelper.CLOSURE_TYPE;
 import static org.codehaus.groovy.ast.ClassHelper.OBJECT_TYPE;
 import static org.codehaus.groovy.ast.ClassHelper.getWrapper;
 import static 
org.codehaus.groovy.transform.sc.StaticCompilationMetadataKeys.PRIVATE_BRIDGE_METHODS;
-import static 
org.codehaus.groovy.transform.stc.StaticTypesMarker.INFERRED_PARAMETER_TYPE;
+import static 
org.codehaus.groovy.transform.stc.StaticTypesMarker.PARAMETER_TYPE;
 import static org.objectweb.asm.Opcodes.ACONST_NULL;
 import static org.objectweb.asm.Opcodes.ALOAD;
 import static org.objectweb.asm.Opcodes.CHECKCAST;
@@ -436,7 +436,7 @@ public class StaticInvocationWriter extends 
InvocationWriter {
             // first parameters as usual
             for (int i = 0; i < para.length - 1; i++) {
                 Expression expression = argumentList.get(i);
-                expression.putNodeMetaData(INFERRED_PARAMETER_TYPE, 
para[i].getType());
+                expression.putNodeMetaData(PARAMETER_TYPE, para[i].getType());
                 expression.visit(acg);
                 if (!isNullConstant(expression)) {
                     operandStack.doGroovyCast(para[i].getType());
@@ -462,7 +462,7 @@ public class StaticInvocationWriter extends 
InvocationWriter {
         } else if (argumentListSize == para.length) {
             for (int i = 0; i < argumentListSize; i++) {
                 Expression expression = argumentList.get(i);
-                expression.putNodeMetaData(INFERRED_PARAMETER_TYPE, 
para[i].getType());
+                expression.putNodeMetaData(PARAMETER_TYPE, para[i].getType());
                 expression.visit(acg);
                 if (!isNullConstant(expression)) {
                     operandStack.doGroovyCast(para[i].getType());
@@ -494,7 +494,7 @@ public class StaticInvocationWriter extends 
InvocationWriter {
             }
             for (int i = 0; i < arguments.length; i++) {
                 Expression expression = arguments[i];
-                expression.putNodeMetaData(INFERRED_PARAMETER_TYPE, 
para[i].getType());
+                expression.putNodeMetaData(PARAMETER_TYPE, para[i].getType());
                 expression.visit(acg);
                 if (!isNullConstant(expression)) {
                     operandStack.doGroovyCast(para[i].getType());

http://git-wip-us.apache.org/repos/asf/groovy/blob/f62c784d/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesLambdaWriter.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesLambdaWriter.java
 
b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesLambdaWriter.java
index 7014a99..121c8f6 100644
--- 
a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesLambdaWriter.java
+++ 
b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesLambdaWriter.java
@@ -38,7 +38,6 @@ import org.codehaus.groovy.classgen.asm.LambdaWriter;
 import org.codehaus.groovy.classgen.asm.OperandStack;
 import org.codehaus.groovy.classgen.asm.WriterController;
 import org.codehaus.groovy.classgen.asm.WriterControllerFactory;
-import org.codehaus.groovy.control.SourceUnit;
 import org.codehaus.groovy.transform.stc.StaticTypesMarker;
 import org.objectweb.asm.Handle;
 import org.objectweb.asm.MethodVisitor;
@@ -53,7 +52,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 import static 
org.codehaus.groovy.transform.stc.StaticTypesMarker.INFERRED_LAMBDA_TYPE;
-import static 
org.codehaus.groovy.transform.stc.StaticTypesMarker.INFERRED_PARAMETER_TYPE;
+import static 
org.codehaus.groovy.transform.stc.StaticTypesMarker.PARAMETER_TYPE;
 import static org.objectweb.asm.Opcodes.ACC_PUBLIC;
 import static org.objectweb.asm.Opcodes.ACC_STATIC;
 import static org.objectweb.asm.Opcodes.ALOAD;
@@ -90,14 +89,14 @@ public class StaticTypesLambdaWriter extends LambdaWriter {
 
     @Override
     public void writeLambda(LambdaExpression expression) {
-        ClassNode inferedType = getInferredType(expression);
+        ClassNode lambdaType = getLambdaType(expression);
 
         List<MethodNode> abstractMethodNodeList =
-                inferedType.redirect().getMethods().stream()
+                lambdaType.redirect().getMethods().stream()
                         .filter(MethodNode::isAbstract)
                         .collect(Collectors.toList());
 
-        if (!(isFunctionInterface(inferedType) && 
abstractMethodNodeList.size() == 1)) {
+        if (!(isFunctionInterface(lambdaType) && abstractMethodNodeList.size() 
== 1)) {
             // if the parameter type is not real FunctionInterface, generate 
the default bytecode, which is actually a closure
             super.writeLambda(expression);
             return;
@@ -121,11 +120,11 @@ public class StaticTypesLambdaWriter extends LambdaWriter 
{
 
         mv.visitInvokeDynamicInsn(
                 abstractMethodNode.getName(),
-                createAbstractMethodDesc(inferedType, lambdaClassNode),
+                createAbstractMethodDesc(lambdaType, lambdaClassNode),
                 createBootstrapMethod(isInterface),
                 createBootstrapMethodArguments(abstractMethodDesc, 
lambdaClassNode, syntheticLambdaMethodNode)
         );
-        operandStack.replace(inferedType.redirect(), 1);
+        operandStack.replace(lambdaType.redirect(), 1);
 
         if (null != expression.getNodeMetaData(INFERRED_LAMBDA_TYPE)) {
             // FIXME declaring variable whose initial value is a lambda, e.g. 
`Function<Integer, String> f = (Integer e) -> 'a' + e`
@@ -153,13 +152,13 @@ public class StaticTypesLambdaWriter extends LambdaWriter 
{
 
     }
 
-    private ClassNode getInferredType(LambdaExpression expression) {
-        ClassNode inferedType = 
expression.getNodeMetaData(INFERRED_PARAMETER_TYPE);
+    private ClassNode getLambdaType(LambdaExpression expression) {
+        ClassNode type = expression.getNodeMetaData(PARAMETER_TYPE);
 
-        if (null == inferedType) {
-            inferedType = expression.getNodeMetaData(INFERRED_LAMBDA_TYPE);
+        if (null == type) {
+            type = expression.getNodeMetaData(INFERRED_LAMBDA_TYPE);
         }
-        return inferedType;
+        return type;
     }
 
     private void loadEnclosingClassInstance() {
@@ -379,16 +378,11 @@ public class StaticTypesLambdaWriter extends LambdaWriter 
{
     }
 
     private static final class TransformationVisitor extends 
CorrectAccessedVariableVisitor {
-        private Parameter thisParameter;
+        private Parameter enclosingThisParameter;
 
-        public TransformationVisitor(InnerClassNode icn, Parameter 
thisParameter) {
+        public TransformationVisitor(InnerClassNode icn, Parameter 
enclosingThisParameter) {
             super(icn);
-            this.thisParameter = thisParameter;
-        }
-
-        @Override
-        protected SourceUnit getSourceUnit() {
-            return null;
+            this.enclosingThisParameter = enclosingThisParameter;
         }
 
         @Override
@@ -399,7 +393,7 @@ public class StaticTypesLambdaWriter extends LambdaWriter {
                 if (objectExpression instanceof VariableExpression) {
                     VariableExpression originalObjectExpression = 
(VariableExpression) objectExpression;
                     if (null == 
originalObjectExpression.getAccessedVariable()) {
-                        VariableExpression thisVariable = new 
VariableExpression(thisParameter);
+                        VariableExpression thisVariable = new 
VariableExpression(enclosingThisParameter);
                         
thisVariable.setSourcePosition(originalObjectExpression);
 
                         call.setObjectExpression(thisVariable);

http://git-wip-us.apache.org/repos/asf/groovy/blob/f62c784d/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java 
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java
index fcde258..73eecad 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java
@@ -38,6 +38,6 @@ public enum StaticTypesMarker {
     PV_METHODS_ACCESS, // set of private methods that are accessed from 
closures or inner classes
     DYNAMIC_RESOLUTION, // call recognized by a type checking extension as a 
dynamic method call
     SUPER_MOP_METHOD_REQUIRED, // used to store the list of MOP methods that 
still have to be generated
-    INFERRED_PARAMETER_TYPE, // used to store the parameter type information 
of method invocation on an expression
+    PARAMETER_TYPE, // used to store the parameter type information of method 
invocation on an expression
     INFERRED_LAMBDA_TYPE // used to store the lambda type information on a 
lambda expression
 }

Reply via email to