diff --git a/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java b/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java index 9efa61efd284..5cedc96d59b4 100644 --- a/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java @@ -321,7 +321,7 @@ public class OptionalIsPresentInspection extends BaseJavaBatchLocalInspectionToo falseAssignment == null || !EquivalenceChecker.getCanonicalPsiEquivalence() .expressionsAreEquivalent(trueAssignment.getLExpression(), falseAssignment.getLExpression()) || - !isOptionalLambdaCandidate(optionalVariable, trueAssignment.getRExpression(), falseAssignment.getLExpression())) { + !isOptionalLambdaCandidate(optionalVariable, trueAssignment.getRExpression(), falseAssignment.getRExpression())) { return false; } return ExpressionUtils.isSimpleExpression(falseAssignment.getRExpression()) || diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/afterAssignmentSelfOrEmpty.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/afterAssignmentSelfOrEmpty.java new file mode 100644 index 000000000000..391d66ab72bb --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/afterAssignmentSelfOrEmpty.java @@ -0,0 +1,11 @@ +// "Replace Optional.isPresent() condition with functional style expression" "true" + +import java.util.*; + +public class Main { + Optional foo(Optional first) { + Optional o; + o = first; + return o; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/afterTernarySelfOrEmpty.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/afterTernarySelfOrEmpty.java new file mode 100644 index 000000000000..abd4d40197ba --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/afterTernarySelfOrEmpty.java @@ -0,0 +1,10 @@ +// "Replace Optional.isPresent() condition with functional style expression" "true" + +import java.util.*; + +public class Main { + Optional foo(Optional first) { + Optional o = first; + return o; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeAssignmentSelfOrEmpty.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeAssignmentSelfOrEmpty.java new file mode 100644 index 000000000000..3bda6425d71d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeAssignmentSelfOrEmpty.java @@ -0,0 +1,14 @@ +// "Replace Optional.isPresent() condition with functional style expression" "true" + +import java.util.*; + +public class Main { + Optional foo(Optional first) { + Optional o; + if (first.isPresent()) + o = first; + else + o = Optional.empty(); + return o; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeTernarySelfOrEmpty.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeTernarySelfOrEmpty.java new file mode 100644 index 000000000000..cfddf0d960ad --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeTernarySelfOrEmpty.java @@ -0,0 +1,10 @@ +// "Replace Optional.isPresent() condition with functional style expression" "true" + +import java.util.*; + +public class Main { + Optional foo(Optional first) { + Optional o = !first.isPresent() ? Optional.empty() : first; + return o; + } +} \ No newline at end of file