From 766e2f97272ffd2ce9823841cf09f2f300bc96f1 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Wed, 1 Oct 2025 12:29:01 +0200 Subject: [PATCH] [java-inspections] IDEA-376188 follow-up: report top-level annotations as well GitOrigin-RevId: dbd7c1fd3b59880032f44c9d6ca5838d2763eae0 --- .../nullable/NullableStuffInspectionBase.java | 19 +++++++++---------- .../nullableProblems/RedundantNotNull2.java | 6 ++++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java index 841561fe0ace..12fb964c4ccb 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/nullable/NullableStuffInspectionBase.java @@ -265,16 +265,15 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection if (context != null) { checkRedundantInContainerScope(annotation, manager.findDefaultTypeUseNullability(context), nullability); } - if (nullability == Nullability.NOT_NULL && PsiUtil.resolveClassInClassTypeOnly(type) instanceof PsiTypeParameter) { - PsiType notAnnotated = type.annotate(TypeAnnotationProvider.EMPTY); - TypeNullability notAnnotatedNullability = notAnnotated.getNullability(); - if (notAnnotatedNullability.nullability() == Nullability.NOT_NULL && - notAnnotatedNullability.source() instanceof NullabilitySource.ExtendsBound) { - reportProblem(holder, annotation, - new RemoveAnnotationQuickFix(annotation, null), - "inspection.nullable.problems.redundant.annotation.inherited.notnull"); - - } + } + if (type != null && nullability == Nullability.NOT_NULL && PsiUtil.resolveClassInClassTypeOnly(type) instanceof PsiTypeParameter) { + PsiType notAnnotated = type.annotate(TypeAnnotationProvider.EMPTY); + TypeNullability notAnnotatedNullability = notAnnotated.getNullability(); + if (notAnnotatedNullability.nullability() == Nullability.NOT_NULL && + notAnnotatedNullability.source() instanceof NullabilitySource.ExtendsBound) { + reportProblem(holder, annotation, + new RemoveAnnotationQuickFix(annotation, null), + "inspection.nullable.problems.redundant.annotation.inherited.notnull"); } } if (type instanceof PsiPrimitiveType) { diff --git a/java/java-tests/testData/inspection/nullableProblems/RedundantNotNull2.java b/java/java-tests/testData/inspection/nullableProblems/RedundantNotNull2.java index ea2a7f8be55a..7d93471415ae 100644 --- a/java/java-tests/testData/inspection/nullableProblems/RedundantNotNull2.java +++ b/java/java-tests/testData/inspection/nullableProblems/RedundantNotNull2.java @@ -5,8 +5,10 @@ import org.jetbrains.annotations.Nullable; import java.util.List; @NotNullByDefault -class Container { - +class Container { + @NotNull T getT() { + return null; + } List<@NotNull L> get() { return null;