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/03/01 07:06:45 UTC
groovy git commit: Cleanup code of `StaticTypesLambdaWriter`
Repository: groovy
Updated Branches:
refs/heads/master bfa17ba0f -> fd979347e
Cleanup code of `StaticTypesLambdaWriter`
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/fd979347
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/fd979347
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/fd979347
Branch: refs/heads/master
Commit: fd979347ec666fe0d12bbc92ad2b363f51555eeb
Parents: bfa17ba
Author: sunlan <su...@apache.org>
Authored: Thu Mar 1 15:06:07 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Thu Mar 1 15:06:07 2018 +0800
----------------------------------------------------------------------
.../classgen/asm/sc/StaticTypesLambdaWriter.java | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/fd979347/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 7f3b345..d9453ae 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
@@ -34,7 +34,6 @@ import org.codehaus.groovy.ast.expr.LambdaExpression;
import org.codehaus.groovy.ast.expr.MethodCallExpression;
import org.codehaus.groovy.ast.expr.VariableExpression;
import org.codehaus.groovy.classgen.asm.BytecodeHelper;
-import org.codehaus.groovy.classgen.asm.BytecodeVariable;
import org.codehaus.groovy.classgen.asm.CompileStack;
import org.codehaus.groovy.classgen.asm.LambdaWriter;
import org.codehaus.groovy.classgen.asm.OperandStack;
@@ -73,9 +72,8 @@ public class StaticTypesLambdaWriter extends LambdaWriter {
private static final String LAMBDA_SHARED_VARIABLES = "__LAMBDA_SHARED_VARIABLES";
private static final String ENCLOSING_THIS = "__enclosing_this";
private static final String LAMBDA_THIS = "__lambda_this";
- public static final String INIT = "<init>";
- public static final String IS_GENERATED_CONSTRUCTOR = "__IS_GENERATED_CONSTRUCTOR";
- public static final String LAMBDA_WRAPPER = "__lambda_wrapper";
+ private static final String INIT = "<init>";
+ private static final String IS_GENERATED_CONSTRUCTOR = "__IS_GENERATED_CONSTRUCTOR";
private StaticTypesClosureWriter staticTypesClosureWriter;
private WriterController controller;
private WriterControllerFactory factory;
@@ -190,7 +188,7 @@ public class StaticTypesLambdaWriter extends LambdaWriter {
}
}
- private BytecodeVariable newGroovyLambdaWrapperAndLoad(ClassNode lambdaWrapperClassNode, MethodNode syntheticLambdaMethodNode) {
+ private void newGroovyLambdaWrapperAndLoad(ClassNode lambdaWrapperClassNode, MethodNode syntheticLambdaMethodNode) {
MethodVisitor mv = controller.getMethodVisitor();
String lambdaWrapperClassInternalName = BytecodeHelper.getClassInternalName(lambdaWrapperClassNode);
mv.visitTypeInsn(NEW, lambdaWrapperClassInternalName);
@@ -215,13 +213,6 @@ public class StaticTypesLambdaWriter extends LambdaWriter {
mv.visitMethodInsn(INVOKESPECIAL, lambdaWrapperClassInternalName, INIT, BytecodeHelper.getMethodDescriptor(ClassHelper.VOID_TYPE, lambdaWrapperClassConstructorParameters), lambdaWrapperClassNode.isInterface());
OperandStack operandStack = controller.getOperandStack();
operandStack.replace(ClassHelper.CLOSURE_TYPE, lambdaWrapperClassConstructorParameters.length);
-
- BytecodeVariable variable = controller.getCompileStack().defineVariable(new VariableExpression(LAMBDA_WRAPPER, ClassHelper.CLOSURE_TYPE), false);
- operandStack.storeVar(variable);
-
- operandStack.loadOrStoreVariable(variable, false);
-
- return variable;
}
private Parameter[] loadSharedVariables(MethodNode syntheticLambdaMethodNode) {