diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java index adf2722779d1..325b1a326e0f 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java @@ -156,6 +156,8 @@ public class PsiClassImpl extends JavaStubPsiElement> implements return StringUtil.getQualifiedName(((PsiJavaFile)parent).getPackageName(), StringUtil.notNullize(getName())); } if (parent instanceof PsiClass) { + //it cannot be referenced outside ImplicitClass + if (parent instanceof PsiImplicitClass) return StringUtil.notNullize(getName()); String parentQName = ((PsiClass)parent).getQualifiedName(); if (parentQName == null) return null; return StringUtil.getQualifiedName(parentQName, StringUtil.notNullize(getName())); diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/memory/inner_class_may_be_static/ImplicitClassNoFix.after.java b/java/java-tests/testData/ig/com/siyeh/igtest/memory/inner_class_may_be_static/ImplicitClassNoFix.after.java new file mode 100644 index 000000000000..aab88fb57ad9 --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igtest/memory/inner_class_may_be_static/ImplicitClassNoFix.after.java @@ -0,0 +1,7 @@ +private static class Nested { +} + +void main() { + new Nested(); +} + diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/memory/inner_class_may_be_static/ImplicitClassNoFix.java b/java/java-tests/testData/ig/com/siyeh/igtest/memory/inner_class_may_be_static/ImplicitClassNoFix.java new file mode 100644 index 000000000000..388f52fda6e7 --- /dev/null +++ b/java/java-tests/testData/ig/com/siyeh/igtest/memory/inner_class_may_be_static/ImplicitClassNoFix.java @@ -0,0 +1,7 @@ +private class Nested { +} + +void main() { + new Nested(); +} + diff --git a/java/java-tests/testSrc/com/siyeh/ig/memory/InnerClassMayBeStaticInspectionTest.java b/java/java-tests/testSrc/com/siyeh/ig/memory/InnerClassMayBeStaticInspectionTest.java index c2a410a3f1ca..20c2d4b881f1 100644 --- a/java/java-tests/testSrc/com/siyeh/ig/memory/InnerClassMayBeStaticInspectionTest.java +++ b/java/java-tests/testSrc/com/siyeh/ig/memory/InnerClassMayBeStaticInspectionTest.java @@ -30,6 +30,13 @@ public class InnerClassMayBeStaticInspectionTest extends LightJavaInspectionTest }); } + public void testImplicitClassNoFix() { + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> { + doTest(); + checkQuickFixAll(); + }); + } + @Nullable @Override protected InspectionProfileEntry getInspection() {