mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
convert from switch: use equals for non primitive/enums types
This commit is contained in:
+7
-1
@@ -23,6 +23,7 @@ import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.controlFlow.*;
|
||||
import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -82,6 +83,11 @@ public class ConvertSwitchToIfIntention implements IntentionAction {
|
||||
}
|
||||
final boolean isSwitchOnString =
|
||||
switchExpressionType.equalsToText("java.lang.String");
|
||||
boolean useEquals = isSwitchOnString;
|
||||
if (!useEquals) {
|
||||
final PsiClass aClass = PsiUtil.resolveClassInType(switchExpressionType);
|
||||
useEquals = aClass != null && !aClass.isEnum();
|
||||
}
|
||||
final String declarationString;
|
||||
final boolean hadSideEffects;
|
||||
final String expressionText;
|
||||
@@ -204,7 +210,7 @@ public class ConvertSwitchToIfIntention implements IntentionAction {
|
||||
branch.getPendingVariableDeclarations();
|
||||
dumpBranch(expressionText, caseValues, bodyElements,
|
||||
pendingVariableDeclarations, firstBranch,
|
||||
isSwitchOnString, ifStatementText);
|
||||
useEquals, ifStatementText);
|
||||
firstBranch = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user