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 2019/12/12 00:57:58 UTC
[groovy] 01/02: Minor refactoring: remove redundant code
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 1a5d2803107911adb1cdbcd02c5826d4414f38eb
Author: Daniel.Sun <re...@hotmail.com>
AuthorDate: Thu Dec 12 08:10:01 2019 +0800
Minor refactoring: remove redundant code
---
.../classgen/asm/sc/StaticTypesLambdaWriter.java | 42 ++--------------------
1 file changed, 3 insertions(+), 39 deletions(-)
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 8f2fe0c..88da6c7 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.ClosureExpression;
import org.codehaus.groovy.ast.expr.ConstantExpression;
import org.codehaus.groovy.ast.expr.Expression;
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.ast.stmt.BlockStatement;
import org.codehaus.groovy.ast.stmt.Statement;
@@ -186,18 +185,6 @@ public class StaticTypesLambdaWriter extends LambdaWriter implements AbstractFun
}
@Override
- public void visitMethodCallExpression(MethodCallExpression call) {
- if (!call.getMethodTarget().isStatic()) {
- Expression objectExpression = call.getObjectExpression();
- if (objectExpression instanceof VariableExpression && ENCLOSING_THIS.equals(((VariableExpression) objectExpression).getName())) {
- objectHolder.setObject(true);
- }
- }
-
- super.visitMethodCallExpression(call);
- }
-
- @Override
protected SourceUnit getSourceUnit() {
return null;
}
@@ -300,8 +287,7 @@ public class StaticTypesLambdaWriter extends LambdaWriter implements AbstractFun
ConstructorNode constructorNode = addConstructor(expression, localVariableParameters, answer, createBlockStatementForConstructor(expression, outerClass, classNode));
constructorNode.putNodeMetaData(IS_GENERATED_CONSTRUCTOR, Boolean.TRUE);
- Parameter enclosingThisParameter = syntheticLambdaMethodNode.getParameters()[0];
- new TransformationVisitor(answer, enclosingThisParameter).visitMethod(syntheticLambdaMethodNode);
+ new LambdaBodyTransformationVisitor(answer).visitMethod(syntheticLambdaMethodNode);
return answer;
}
@@ -443,13 +429,11 @@ public class StaticTypesLambdaWriter extends LambdaWriter implements AbstractFun
return staticTypesClosureWriter.createClosureClass(expression, mods);
}
- private static final class TransformationVisitor extends ClassCodeVisitorSupport {
+ private static final class LambdaBodyTransformationVisitor extends ClassCodeVisitorSupport {
private final CorrectAccessedVariableVisitor correctAccessedVariableVisitor;
- private final Parameter enclosingThisParameter;
- public TransformationVisitor(InnerClassNode icn, Parameter enclosingThisParameter) {
+ public LambdaBodyTransformationVisitor(InnerClassNode icn) {
this.correctAccessedVariableVisitor = new CorrectAccessedVariableVisitor(icn);
- this.enclosingThisParameter = enclosingThisParameter;
}
@Override
@@ -458,26 +442,6 @@ public class StaticTypesLambdaWriter extends LambdaWriter implements AbstractFun
}
@Override
- public void visitMethodCallExpression(MethodCallExpression call) {
- if (!call.getMethodTarget().isStatic()) {
- Expression objectExpression = call.getObjectExpression();
-
- if (objectExpression instanceof VariableExpression) {
- VariableExpression originalObjectExpression = (VariableExpression) objectExpression;
- if (null == originalObjectExpression.getAccessedVariable()) {
- VariableExpression thisVariable = new VariableExpression(enclosingThisParameter);
- thisVariable.setSourcePosition(originalObjectExpression);
-
- call.setObjectExpression(thisVariable);
- call.setImplicitThis(false);
- }
- }
- }
-
- super.visitMethodCallExpression(call);
- }
-
- @Override
protected SourceUnit getSourceUnit() {
return null;
}