mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-06 06:21:16 +07:00
LambdaRefactoringUtil: consider more method references side effect free
This commit is contained in:
@@ -407,14 +407,6 @@ public class LambdaRefactoringUtil {
|
||||
*/
|
||||
public static boolean canConvertToLambdaWithoutSideEffects(PsiMethodReferenceExpression methodReferenceExpression) {
|
||||
final PsiExpression qualifierExpression = methodReferenceExpression.getQualifierExpression();
|
||||
if (qualifierExpression == null) {
|
||||
PsiElement resolved = methodReferenceExpression.resolve();
|
||||
if (resolved == null) return false;
|
||||
PsiClass arrayClass = JavaPsiFacade.getInstance(methodReferenceExpression.getProject())
|
||||
.getElementFactory()
|
||||
.getArrayClass(PsiUtil.getLanguageLevel(methodReferenceExpression));
|
||||
return resolved == arrayClass;
|
||||
}
|
||||
return !SideEffectChecker.mayHaveSideEffects(qualifierExpression);
|
||||
return qualifierExpression == null || !SideEffectChecker.mayHaveSideEffects(qualifierExpression);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -76,7 +76,7 @@ public class MethodRefCanBeReplacedWithLambdaFixTest extends IGQuickFixesTestCas
|
||||
}
|
||||
|
||||
public void testNewRefsInference() {
|
||||
doTest(myDefaultHint + " (side effects)");
|
||||
doTest(myDefaultHint);
|
||||
}
|
||||
|
||||
public void testNewRefsInference1() {
|
||||
@@ -108,7 +108,7 @@ public class MethodRefCanBeReplacedWithLambdaFixTest extends IGQuickFixesTestCas
|
||||
}
|
||||
|
||||
public void testArrayMethodRef() {
|
||||
doTest(myDefaultHint + " (side effects)");
|
||||
doTest(myDefaultHint );
|
||||
}
|
||||
|
||||
public void testArrayConstructorRefUniqueParamName() {
|
||||
|
||||
Reference in New Issue
Block a user