ExtractMethodObjectProcessor: revert c652bbf2ea; add a comment why UnsafeReturnStatementVisitor is non-applicable here

This commit is contained in:
Tagir Valeev
2019-03-12 10:23:03 +07:00
parent cf6e80a404
commit 669f4ee67a
@@ -565,6 +565,9 @@ public class ExtractMethodObjectProcessor extends BaseRefactoringProcessor {
private void adjustTargetClassReferences(final PsiElement body) throws IncorrectOperationException {
PsiManager manager = PsiManager.getInstance(myProject);
PsiClass targetClass = getMethod().getContainingClass();
//Actually we should go into lambdas as this/super expressions inside them still refer to the outer class instance.
//Visiting returns inside lambdas is safe as they never have GENERATED_RETURN inside
//noinspection UnsafeReturnStatementVisitor
body.accept(new JavaRecursiveElementVisitor() {
@Override
public void visitReturnStatement(PsiReturnStatement statement) {
@@ -587,11 +590,6 @@ public class ExtractMethodObjectProcessor extends BaseRefactoringProcessor {
}
}
@Override
public void visitLambdaExpression(PsiLambdaExpression expression) {
// do not visit lambdas
}
@Override
public void visitClass(PsiClass aClass) {
// do not visit sub classes