mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ExpressionUtils#isSimpleExpression: consider Collections.emptyXyz as simple (they are just static field getters)
This commit is contained in:
+1
-1
@@ -9,7 +9,7 @@ public class TestFile {
|
||||
|
||||
public static Collection<String> example() {
|
||||
final Optional<String> root = Optional.empty();
|
||||
return root.<Collection<String>>map(TestFile::foo).orElseGet(Collections::emptyList);
|
||||
return root.<Collection<String>>map(TestFile::foo).orElse(Collections.emptyList());
|
||||
}
|
||||
|
||||
private static Set<String> foo(String s) {
|
||||
|
||||
+8
@@ -27,6 +27,7 @@ import com.intellij.psi.util.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.siyeh.HardcodedMethodConstants;
|
||||
import com.siyeh.ig.callMatcher.CallMatcher;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -49,6 +50,10 @@ public class ExpressionUtils {
|
||||
convertableBoxedClassNames.add(CommonClassNames.JAVA_LANG_SHORT);
|
||||
}
|
||||
|
||||
private static final CallMatcher KNOWN_SIMPLE_CALLS =
|
||||
CallMatcher.staticCall(CommonClassNames.JAVA_UTIL_COLLECTIONS, "emptyList", "emptySet", "emptyIterator", "emptyMap", "emptySortedMap",
|
||||
"emptySortedSet", "emptyListIterator").parameterCount(0);
|
||||
|
||||
private ExpressionUtils() {}
|
||||
|
||||
@Nullable
|
||||
@@ -759,6 +764,9 @@ public class ExpressionUtils {
|
||||
if(resolvedQualifier instanceof PsiClass) return true;
|
||||
}
|
||||
}
|
||||
if (expression instanceof PsiMethodCallExpression) {
|
||||
return KNOWN_SIMPLE_CALLS.test((PsiMethodCallExpression)expression);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user