mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-164271 "Simplifiable conditional usage of Map.get()" doesn't recognize proper pattern with adding additional parentheses
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
// "Replace with 'computeIfAbsent' method call" "true"
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Main {
|
||||
public void testMap(Map<String, List<String>> map, String key, String value) {
|
||||
List<String> list = map.computeIfAbsent(key, k -> new ArrayList<>());
|
||||
list.add(value);
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// "Replace with 'computeIfAbsent' method call" "true"
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Main {
|
||||
public void testMap(Map<String, List<String>> map, String key, String value) {
|
||||
List<String> list = map.get(key);
|
||||
if(list == nul<caret>l) {
|
||||
map.put(key, (list = new ArrayList<>()));
|
||||
}
|
||||
list.add(value);
|
||||
}
|
||||
}
|
||||
+7
-4
@@ -727,10 +727,13 @@ public class ExpressionUtils {
|
||||
if(element instanceof PsiExpressionStatement) {
|
||||
element = ((PsiExpressionStatement)element).getExpression();
|
||||
}
|
||||
if (element instanceof PsiAssignmentExpression) {
|
||||
PsiAssignmentExpression assignment = (PsiAssignmentExpression)element;
|
||||
if(assignment.getOperationTokenType().equals(JavaTokenType.EQ)) {
|
||||
return assignment;
|
||||
if (element instanceof PsiExpression) {
|
||||
element = PsiUtil.skipParenthesizedExprDown((PsiExpression)element);
|
||||
if (element instanceof PsiAssignmentExpression) {
|
||||
PsiAssignmentExpression assignment = (PsiAssignmentExpression)element;
|
||||
if(assignment.getOperationTokenType().equals(JavaTokenType.EQ)) {
|
||||
return assignment;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user