mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
KeySetIterationMayUseEntrySetInspection: better parentheses support
This commit is contained in:
+5
-4
@@ -23,6 +23,7 @@ import com.intellij.psi.codeStyle.SuggestedNameInfo;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.RedundantCastUtil;
|
||||
import com.siyeh.InspectionGadgetsBundle;
|
||||
import com.siyeh.ig.BaseInspection;
|
||||
@@ -86,7 +87,7 @@ public class KeySetIterationMayUseEntrySetInspection extends BaseInspection {
|
||||
return;
|
||||
}
|
||||
toRemove = (PsiVariable)target;
|
||||
keySetExpression = toRemove.getInitializer();
|
||||
keySetExpression = PsiUtil.skipParenthesizedExprDown(toRemove.getInitializer());
|
||||
} else {
|
||||
toRemove = null;
|
||||
keySetExpression = (PsiExpression)element;
|
||||
@@ -96,7 +97,7 @@ public class KeySetIterationMayUseEntrySetInspection extends BaseInspection {
|
||||
}
|
||||
final PsiMethodCallExpression methodCallExpression = (PsiMethodCallExpression)keySetExpression;
|
||||
final PsiReferenceExpression methodExpression = methodCallExpression.getMethodExpression();
|
||||
final PsiExpression qualifier = methodExpression.getQualifierExpression();
|
||||
final PsiExpression qualifier = PsiUtil.skipParenthesizedExprDown(methodExpression.getQualifierExpression());
|
||||
if (!(qualifier instanceof PsiReferenceExpression)) {
|
||||
return;
|
||||
}
|
||||
@@ -268,7 +269,7 @@ public class KeySetIterationMayUseEntrySetInspection extends BaseInspection {
|
||||
if (VariableAccessUtils.variableIsAssignedAtPoint(variable, containingMethod, statement)) {
|
||||
return;
|
||||
}
|
||||
iteratedExpression = variable.getInitializer();
|
||||
iteratedExpression = PsiUtil.skipParenthesizedExprDown(variable.getInitializer());
|
||||
}
|
||||
else {
|
||||
iteratedExpression = iteratedValue;
|
||||
@@ -293,7 +294,7 @@ public class KeySetIterationMayUseEntrySetInspection extends BaseInspection {
|
||||
if (!"keySet".equals(methodName)) {
|
||||
return false;
|
||||
}
|
||||
final PsiExpression expression = methodExpression.getQualifierExpression();
|
||||
final PsiExpression expression = PsiUtil.skipParenthesizedExprDown(methodExpression.getQualifierExpression());
|
||||
if (!(expression instanceof PsiReferenceExpression)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
abstract class B {
|
||||
{
|
||||
Map sortMap = null;
|
||||
for (Object o1 : (sortMap.entry<caret>Set())) {
|
||||
Object o = ((Map.Entry) o1).getValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
abstract class B {
|
||||
{
|
||||
Map sortMap = null;
|
||||
for (Object columnIdentifier : ((sortMap).key<caret>Set())) {
|
||||
Object o = sortMap.get(columnIdentifier);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -4,7 +4,7 @@ import java.util.Set;
|
||||
class Reference {
|
||||
|
||||
void m(Map<String, String> map) {
|
||||
Set<String> keys = map.keySet();
|
||||
Set<String> keys = (map.keySet());
|
||||
for (String key : <caret>keys) {
|
||||
System.out.println(map.get(key));
|
||||
}
|
||||
|
||||
+1
@@ -30,6 +30,7 @@ public class KeySetIterationMayUseEntrySetFixTest extends IGQuickFixesTestCase {
|
||||
}
|
||||
|
||||
public void testSimple() { doTest(); }
|
||||
public void testParentheses() { doTest(); }
|
||||
public void testCastNeeded1() { doTest(); }
|
||||
public void testCastNeeded2() { doTest(); }
|
||||
public void testReference() { doTest(); }
|
||||
|
||||
Reference in New Issue
Block a user