diff --git a/java/java-impl/src/com/intellij/codeInsight/annoPackages/EclipseAnnotationSupport.java b/java/java-impl/src/com/intellij/codeInsight/annoPackages/EclipseAnnotationSupport.java index a747e9f90d3d..853312a18f13 100644 --- a/java/java-impl/src/com/intellij/codeInsight/annoPackages/EclipseAnnotationSupport.java +++ b/java/java-impl/src/com/intellij/codeInsight/annoPackages/EclipseAnnotationSupport.java @@ -45,7 +45,8 @@ class EclipseAnnotationSupport implements AnnotationPackageSupport { else if (value instanceof PsiLiteralExpression && Boolean.FALSE.equals(((PsiLiteralExpression)value).getValue())) { targets = ArrayUtil.EMPTY_STRING_ARRAY; } - boolean targetApplies = StreamEx.of(targets).map(TARGET_MAP::get).nonNull().anyMatch(loc -> ArrayUtil.contains(loc, types)); + boolean targetApplies = StreamEx.of(targets).map(TARGET_MAP::get).nonNull() + .anyMatch(loc -> loc == PsiAnnotation.TargetType.TYPE_USE ? types.length == 1 && types[0] == loc : ArrayUtil.contains(loc, types)); return new NullabilityAnnotationInfo(anno, targetApplies ? Nullability.NOT_NULL : Nullability.UNKNOWN, true); } return null; diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultTypeUse.java b/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultTypeUse.java index dbf69af7a285..4e8f1a4a533c 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultTypeUse.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/EclipseDefaultTypeUse.java @@ -16,6 +16,10 @@ public class EclipseDefaultTypeUse { // List::add is not annotated but ArrayList is defined in context of TYPE_USE NonNullByDefault annotation a.add(null); } + + void local() { + String s = null; + } } @NonNullByDefault @FunctionalInterface diff --git a/java/java-tests/testData/refactoring/introduceVariable/NullabilityAnnotationNoConflict.after.java b/java/java-tests/testData/refactoring/introduceVariable/NullabilityAnnotationNoConflict.after.java index 88660cb07b66..340cc774c4ce 100644 --- a/java/java-tests/testData/refactoring/introduceVariable/NullabilityAnnotationNoConflict.after.java +++ b/java/java-tests/testData/refactoring/introduceVariable/NullabilityAnnotationNoConflict.after.java @@ -9,7 +9,7 @@ import java.lang.annotation.*; @NonNullByDefault class X { void test() { - String x = Y.getFoo(); + @NonNull String x = Y.getFoo(); } }