diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java index c6956a5715a4..f38b9673640e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaFileImpl.java @@ -19,6 +19,7 @@ import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.fileTypes.FileType; import com.intellij.psi.*; import com.intellij.psi.impl.java.stubs.JavaStubElementTypes; +import com.intellij.psi.impl.java.stubs.PsiJavaFileStub; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -37,6 +38,11 @@ public class PsiJavaFileImpl extends PsiJavaFileBaseImpl { @Nullable @Override public PsiJavaModule getModuleDeclaration() { + PsiJavaFileStub stub = (PsiJavaFileStub)getStub(); + if (stub != null) { + return stub.getModule(); + } + PsiElement element = getFirstChild(); if (element instanceof PsiWhiteSpace || element instanceof PsiComment) { element = PsiTreeUtil.skipSiblingsForward(element, PsiWhiteSpace.class, PsiComment.class);