Repository: groovy
Updated Branches:
  refs/heads/native-lambda f14131ec0 -> ea17e1836


Trivial refactoring: add `INFERRED_PARAMETER_TYPE`


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

Branch: refs/heads/native-lambda
Commit: ea17e18368a402580c170f6c32ebc32e06d5f1c8
Parents: f14131e
Author: sunlan <[email protected]>
Authored: Mon Jan 22 07:46:10 2018 +0800
Committer: sunlan <[email protected]>
Committed: Mon Jan 22 07:46:10 2018 +0800

----------------------------------------------------------------------
 .../groovy/classgen/asm/sc/StaticInvocationWriter.java       | 8 ++++----
 .../groovy/classgen/asm/sc/StaticTypesLambdaWriter.java      | 4 ++--
 .../org/codehaus/groovy/transform/stc/StaticTypesMarker.java | 3 ++-
 3 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/ea17e183/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 22482e5..b254337 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,6 +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.objectweb.asm.Opcodes.ACONST_NULL;
 import static org.objectweb.asm.Opcodes.ALOAD;
 import static org.objectweb.asm.Opcodes.CHECKCAST;
@@ -102,7 +103,6 @@ public class StaticInvocationWriter extends 
InvocationWriter {
                     new Parameter(ClassHelper.OBJECT_TYPE, "args")
             }
     );
-    public static final String PARAMETER_TYPE = "_parameter_type";
 
     private final AtomicInteger labelCounter = new AtomicInteger();
 
@@ -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(PARAMETER_TYPE, para[i].getType());
+                expression.putNodeMetaData(INFERRED_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(PARAMETER_TYPE, para[i].getType());
+                expression.putNodeMetaData(INFERRED_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(PARAMETER_TYPE, para[i].getType());
+                expression.putNodeMetaData(INFERRED_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/ea17e183/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 3e36628..68ad4ad 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
@@ -52,7 +52,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import static 
org.codehaus.groovy.classgen.asm.sc.StaticInvocationWriter.PARAMETER_TYPE;
+import static 
org.codehaus.groovy.transform.stc.StaticTypesMarker.INFERRED_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;
@@ -89,7 +89,7 @@ public class StaticTypesLambdaWriter extends LambdaWriter {
 
     @Override
     public void writeLambda(LambdaExpression expression) {
-        ClassNode parameterType = expression.getNodeMetaData(PARAMETER_TYPE);
+        ClassNode parameterType = 
expression.getNodeMetaData(INFERRED_PARAMETER_TYPE);
 
         List<MethodNode> abstractMethodNodeList =
                 parameterType.redirect().getMethods().stream()

http://git-wip-us.apache.org/repos/asf/groovy/blob/ea17e183/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 9785433..7411308 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypesMarker.java
@@ -37,5 +37,6 @@ public enum StaticTypesMarker {
     PV_FIELDS_MUTATION, // set of private fields that are set from closures or 
inner classes
     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
+    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
 }

Reply via email to