diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/java/stubs/serializers/JavaClassStubSerializer.java b/java/java-indexing-impl/src/com/intellij/psi/impl/java/stubs/serializers/JavaClassStubSerializer.java index 4b75bea503e6..c98a297f8b2d 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/java/stubs/serializers/JavaClassStubSerializer.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/java/stubs/serializers/JavaClassStubSerializer.java @@ -71,9 +71,9 @@ public class JavaClassStubSerializer implements StubSerializer stub, @NotNull IndexSink sink) { if (stub.isImplicit()) { - StubElement parent = stub.getParentStub(); - if (parent instanceof PsiJavaFileStub) { - sink.occurrence(JavaStubIndexKeys.IMPLICIT_CLASSES, JavaImplicitClassUtil.getJvmName(((PsiJavaFileStub)parent).getPsi().getName())); + String name = stub.getName(); + if (name != null) { + sink.occurrence(JavaStubIndexKeys.IMPLICIT_CLASSES, name); } return; } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/factories/JavaClassStubFactory.java b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/factories/JavaClassStubFactory.java index 0280d1ddd41d..bce02e138158 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/factories/JavaClassStubFactory.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/factories/JavaClassStubFactory.java @@ -5,6 +5,7 @@ import com.intellij.lang.LighterAST; import com.intellij.lang.LighterASTNode; import com.intellij.psi.JavaTokenType; import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiJavaFile; import com.intellij.psi.impl.cache.RecordUtil; import com.intellij.psi.impl.java.stubs.JavaClassElementType; import com.intellij.psi.impl.java.stubs.JavaStubElementType; @@ -18,6 +19,7 @@ import com.intellij.psi.impl.source.tree.LightTreeUtil; import com.intellij.psi.stubs.LightStubElementFactory; import com.intellij.psi.stubs.StubElement; import com.intellij.psi.tree.IElementType; +import com.intellij.psi.util.JavaImplicitClassUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -107,6 +109,13 @@ public class JavaClassStubFactory implements LightStubElementFactory psiFile.getVirtualFile().rename(this, "World.java")); + + assertTrue(JavaImplicitClassIndex.getInstance().getElements("Hello", getProject(), scope).isEmpty()); + assertFalse(JavaImplicitClassIndex.getInstance().getElements("World", getProject(), scope).isEmpty()); + } + public void test_array_type_use_annotation_stubbing() { myFixture.addClass(""" import java.lang.annotation.*;