mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 09:19:13 +07:00
IDEA-381733 [java]: Move type annotation quickfix is shown twice
GitOrigin-RevId: 57043eab4896e7cead2c716ef2370fb2dd0ef810
This commit is contained in:
committed by
intellij-monorepo-bot
parent
100f749763
commit
be2b0bf8fd
+8
-3
@@ -93,6 +93,7 @@ import com.intellij.psi.SyntheticElement;
|
||||
import com.intellij.psi.TypeAnnotationProvider;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.impl.PsiImplUtil;
|
||||
import com.intellij.psi.impl.search.JavaNullMethodArgumentUtil;
|
||||
import com.intellij.psi.impl.search.JavaOverridingMethodsSearcher;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
@@ -385,9 +386,13 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
LocalQuickFix.from(action));
|
||||
}
|
||||
else {
|
||||
ModCommandAction action = new MoveAnnotationOnStaticMemberQualifyingTypeFix(annotation);
|
||||
reportIncorrectLocation(holder, annotation, listOwner, "inspection.nullable.problems.outer.type",
|
||||
LocalQuickFix.from(action));
|
||||
// If outer is qualifier of static member then don't report problem as it is already reported
|
||||
// as ANNOTATION_NOT_ALLOWED_STATIC which contains exactly the same fix "Move annotation".
|
||||
if (!PsiImplUtil.isTypeQualifierOfStaticMember(outerCtx)) {
|
||||
ModCommandAction action = new MoveAnnotationOnStaticMemberQualifyingTypeFix(annotation);
|
||||
reportIncorrectLocation(holder, annotation, listOwner, "inspection.nullable.problems.outer.type",
|
||||
LocalQuickFix.from(action));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (parent instanceof PsiReferenceList) {
|
||||
|
||||
@@ -20,6 +20,13 @@ public class IncorrectPlacement extends <warning descr="Nullability annotation i
|
||||
}
|
||||
|
||||
<warning descr="Primitive type members cannot be annotated">@NotNull</warning> int[] data;
|
||||
|
||||
void testStaticNested() {
|
||||
// No "Outer type is inherently non-null" warning. Reported error provides the same "Move annotation" fix.
|
||||
<error descr="Static member qualifying type may not be annotated">@Nullable</error> IncorrectPlacement.StaticNested a1;
|
||||
IncorrectPlacement.@Nullable StaticNested a2;
|
||||
}
|
||||
|
||||
class Inner {}
|
||||
static class StaticNested {}
|
||||
}
|
||||
Reference in New Issue
Block a user