mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
LambdaCanBeMethodReferenceInspection: support parenthesized call arguments
This commit is contained in:
@@ -8,6 +8,6 @@ class MyTest2<X> {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
I<String> s = (z) -> new MyTe<caret>st2<String>(z);
|
||||
I<String> s = (z) -> new MyTe<caret>st2<String>((z));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.siyeh.ig.psiutils.ExpressionUtils;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -137,7 +136,7 @@ public class LambdaCanBeMethodReferenceInspection extends AbstractBaseJavaLocalI
|
||||
|
||||
final PsiExpression[] dims = ((PsiNewExpression)callExpression).getArrayDimensions();
|
||||
if (dims.length == 1 && parameters.length == 1){
|
||||
if (!resolvesToParameter(dims[0], parameters[0])) {
|
||||
if (!ExpressionUtils.isReferenceTo(dims[0], parameters[0])) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -209,7 +208,7 @@ public class LambdaCanBeMethodReferenceInspection extends AbstractBaseJavaLocalI
|
||||
}
|
||||
|
||||
for (int i = 0; i < expressions.length; i++) {
|
||||
if (!resolvesToParameter(expressions[i], parameters[i + offset])) {
|
||||
if (!ExpressionUtils.isReferenceTo(expressions[i], parameters[i + offset])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -235,12 +234,7 @@ public class LambdaCanBeMethodReferenceInspection extends AbstractBaseJavaLocalI
|
||||
return true;
|
||||
}
|
||||
|
||||
return resolvesToParameter(qualifier, parameters[0]);
|
||||
}
|
||||
|
||||
@Contract("null, _ -> false")
|
||||
private static boolean resolvesToParameter(PsiExpression expression, PsiVariable parameter) {
|
||||
return expression instanceof PsiReferenceExpression && ((PsiReferenceExpression)expression).resolve() == parameter;
|
||||
return ExpressionUtils.isReferenceTo(qualifier, parameters[0]);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user