From 060a865fb1ae8317025faa3a80e29feca8d17579 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 14 Feb 2017 18:03:30 +0100 Subject: [PATCH] Use correct resolution facade for resolving cross-module links in KDoc comments #KT-15647 Fixed --- .../src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt index b4dfaca0ab4..c3e8e79dd3d 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/kdoc/resolveKDocLink.kt @@ -16,6 +16,8 @@ package org.jetbrains.kotlin.idea.kdoc +import com.intellij.openapi.components.ServiceManager +import org.jetbrains.kotlin.caches.resolve.KotlinCacheService import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.getFileResolutionScope @@ -35,7 +37,6 @@ import org.jetbrains.kotlin.resolve.scopes.* import org.jetbrains.kotlin.resolve.scopes.utils.collectDescriptorsFiltered import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope import org.jetbrains.kotlin.resolve.source.PsiSourceElement -import org.jetbrains.kotlin.utils.ifEmpty fun resolveKDocLink(context: BindingContext, resolutionFacade: ResolutionFacade, @@ -187,7 +188,9 @@ private fun getOuterScope(descriptor: DeclarationDescriptorWithSource, resolutio if (parent is PackageFragmentDescriptor) { val containingFile = (descriptor.source as? PsiSourceElement)?.psi?.containingFile as? KtFile if (containingFile != null) { - return resolutionFacade.getFileResolutionScope(containingFile) + val kotlinCacheService = ServiceManager.getService(containingFile.project, KotlinCacheService::class.java) + val facadeToUse = kotlinCacheService?.getResolutionFacade(listOf(containingFile)) ?: resolutionFacade + return facadeToUse.getFileResolutionScope(containingFile) } } return getKDocLinkResolutionScope(resolutionFacade, parent!!)