diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java index fa6e57558a86..85badb241cb9 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/ModuleHighlightUtil.java @@ -34,6 +34,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.PsiPackageAccessibilityStatement.Role; import com.intellij.psi.impl.light.LightJavaModule; +import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.search.FilenameIndex; import com.intellij.psi.util.ClassUtil; import com.intellij.psi.util.InheritanceUtil; @@ -424,26 +425,28 @@ public class ModuleHighlightUtil { static HighlightInfo checkPackageAccessibility(@NotNull PsiJavaCodeReferenceElement ref, @NotNull PsiElement target, @NotNull PsiJavaModule refModule) { - Module module = findModule(refModule); - if (module != null) { - if (target instanceof PsiClass) { - PsiElement targetFile = target.getParent(); - if (targetFile instanceof PsiClassOwner) { - PsiJavaModule targetModule = getModuleDescriptor((PsiFileSystemItem)targetFile); - String packageName = ((PsiClassOwner)targetFile).getPackageName(); - return checkPackageAccessibility(ref, refModule, targetModule, packageName); - } - } - else if (target instanceof PsiPackage) { - PsiElement refImport = ref.getParent(); - if (refImport instanceof PsiImportStatementBase && ((PsiImportStatementBase)refImport).isOnDemand()) { - PsiDirectory[] dirs = ((PsiPackage)target).getDirectories(module.getModuleWithDependenciesAndLibrariesScope(false)); - if (dirs.length == 1) { - PsiJavaModule targetModule = getModuleDescriptor(dirs[0]); - String packageName = ((PsiPackage)target).getQualifiedName(); + if (PsiTreeUtil.getParentOfType(ref, PsiDocComment.class) == null) { + Module module = findModule(refModule); + if (module != null) { + if (target instanceof PsiClass) { + PsiElement targetFile = target.getParent(); + if (targetFile instanceof PsiClassOwner) { + PsiJavaModule targetModule = getModuleDescriptor((PsiFileSystemItem)targetFile); + String packageName = ((PsiClassOwner)targetFile).getPackageName(); return checkPackageAccessibility(ref, refModule, targetModule, packageName); } } + else if (target instanceof PsiPackage) { + PsiElement refImport = ref.getParent(); + if (refImport instanceof PsiImportStatementBase && ((PsiImportStatementBase)refImport).isOnDemand()) { + PsiDirectory[] dirs = ((PsiPackage)target).getDirectories(module.getModuleWithDependenciesAndLibrariesScope(false)); + if (dirs.length == 1) { + PsiJavaModule targetModule = getModuleDescriptor(dirs[0]); + String packageName = ((PsiPackage)target).getQualifiedName(); + return checkPackageAccessibility(ref, refModule, targetModule, packageName); + } + } + } } } diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ModuleHighlightingTest.kt b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ModuleHighlightingTest.kt index f7f98883def1..662ee8c280a9 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ModuleHighlightingTest.kt +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ModuleHighlightingTest.kt @@ -233,6 +233,7 @@ class ModuleHighlightingTest : LightJava9ModulesCodeInsightFixtureTestCase() { import static pkg.m2.impl.C2Impl.make; + /** See also {@link C2Impl#make} */ class C {{ C2Impl.make(); pkg.m2.impl.C2Impl.make();