diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultOptionalOrElse.java b/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultOptionalOrElse.java new file mode 100644 index 000000000000..70a8b8cbe87f --- /dev/null +++ b/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultOptionalOrElse.java @@ -0,0 +1,12 @@ +import java.util.Optional; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; + +// IDEA-291604 +@NonNullByDefault +class Test { + public @Nullable String test(final Optional optional, final @Nullable String fallback) { + return optional.orElse(fallback); + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspection8Test.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspection8Test.java index 38c069c9b4f9..ddc12a9e9dcb 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspection8Test.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DataFlowInspection8Test.java @@ -308,6 +308,12 @@ public class DataFlowInspection8Test extends DataFlowInspectionTestCase { myFixture.addClass("package org.eclipse.jdt.annotation;public @interface NonNullByDefault {}"); doTest(); } + public void testEclipseDefaultOptionalOrElse() { + myFixture.addClass("package org.eclipse.jdt.annotation;public @interface NonNullByDefault {}"); + myFixture.addClass("package org.eclipse.jdt.annotation;import java.lang.annotation.*;" + + "@Target({ElementType.TYPE_USE}) public @interface Nullable {}"); + doTest(); + } public void testClassInsideLambda() { doTest(); } public void testMultiDimensionalArrays() { setupTypeUseAnnotations("typeUse", myFixture); diff --git a/java/jdkAnnotations/java/util/annotations.xml b/java/jdkAnnotations/java/util/annotations.xml index 04d2fe86fbb8..f2a1a11e38a8 100644 --- a/java/jdkAnnotations/java/util/annotations.xml +++ b/java/jdkAnnotations/java/util/annotations.xml @@ -3429,6 +3429,7 @@ +