mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java-intentions] ConvertSwitchToIf: don't add explicit null check if the selector expression is not null
IDEA-300120 GitOrigin-RevId: d49fa3356b23ec87c8f493fc4cdacb0655e4b600
This commit is contained in:
committed by
intellij-monorepo-bot
parent
61b6e65651
commit
8cfde5e798
+5
-1
@@ -2,9 +2,11 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.BlockUtils;
|
||||
import com.intellij.codeInsight.Nullability;
|
||||
import com.intellij.codeInsight.daemon.impl.actions.IntentionActionWithFixAllOption;
|
||||
import com.intellij.codeInsight.intention.FileModifier;
|
||||
import com.intellij.codeInspection.CommonQuickFixBundle;
|
||||
import com.intellij.codeInspection.dataFlow.NullabilityUtil;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
@@ -116,7 +118,9 @@ public class ConvertSwitchToIfIntention implements IntentionActionWithFixAllOpti
|
||||
if (aClass != null) {
|
||||
String fqn = aClass.getQualifiedName();
|
||||
useEquals = !aClass.isEnum() && (fqn == null || !TypeConversionUtil.isPrimitiveWrapper(fqn));
|
||||
needNullCheck = (fqn == null || !TypeConversionUtil.isPrimitiveWrapper(fqn)) && !hasNullCase(allBranches);
|
||||
Nullability nullability = NullabilityUtil.getExpressionNullability(switchExpression, true);
|
||||
needNullCheck =
|
||||
nullability != Nullability.NOT_NULL && (fqn == null || !TypeConversionUtil.isPrimitiveWrapper(fqn)) && !hasNullCase(allBranches);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// "Replace 'switch' with 'if'" "true-preview"
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
class Test {
|
||||
|
||||
void foo(@NotNull Object o) {
|
||||
if (o instanceof String) {
|
||||
System.out.println("one");
|
||||
} else if (o instanceof Integer) {
|
||||
System.out.println("two");
|
||||
} else {
|
||||
System.out.println("default");
|
||||
}
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// "Replace 'switch' with 'if'" "true-preview"
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
class Test {
|
||||
|
||||
void foo(@NotNull Object o) {
|
||||
switch<caret> (o) {
|
||||
case String s -> System.out.println("one");
|
||||
case Integer i -> System.out.println("two");
|
||||
case default -> System.out.println("default");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user