Provide findModuleDescriptor for ResolutionFacadeWithDebugInfo

Fixes Move refactoring tests
Broken after introduction of ResolutionFacadeWithDebugInfo
This commit is contained in:
Simon Ogorodnik
2018-11-29 17:14:46 +03:00
parent ab259c2d6f
commit 2556d64459
2 changed files with 15 additions and 5 deletions
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.resolve.lazy.ResolveSession
internal class ModuleResolutionFacadeImpl(
private val projectFacade: ProjectResolutionFacade,
private val moduleInfo: IdeaModuleInfo
) : ResolutionFacade {
) : ResolutionFacade, ResolutionFacadeModuleDescriptorProvider {
override val project: Project
get() = projectFacade.project
@@ -47,7 +47,7 @@ internal class ModuleResolutionFacadeImpl(
override val moduleDescriptor: ModuleDescriptor
get() = findModuleDescriptor(moduleInfo)
fun findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo) = projectFacade.findModuleDescriptor(ideaModuleInfo)
override fun findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo) = projectFacade.findModuleDescriptor(ideaModuleInfo)
override fun analyze(element: KtElement, bodyResolveMode: BodyResolveMode): BindingContext {
return analyze(listOf(element), bodyResolveMode)
@@ -96,6 +96,11 @@ internal class ModuleResolutionFacadeImpl(
}
}
fun ResolutionFacade.findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo): ModuleDescriptor? {
return (this as? ModuleResolutionFacadeImpl)?.findModuleDescriptor(ideaModuleInfo)
fun ResolutionFacade.findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo): ModuleDescriptor {
return (this as ResolutionFacadeModuleDescriptorProvider).findModuleDescriptor(ideaModuleInfo)
}
interface ResolutionFacadeModuleDescriptorProvider {
fun findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo): ModuleDescriptor
}
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.analyzer.AnalysisResult
import org.jetbrains.kotlin.analyzer.ModuleInfo
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
import org.jetbrains.kotlin.psi.KtDeclaration
@@ -29,7 +30,11 @@ import org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments
private class ResolutionFacadeWithDebugInfo(
private val delegate: ResolutionFacade,
private val creationPlace: CreationPlace
) : ResolutionFacade {
) : ResolutionFacade, ResolutionFacadeModuleDescriptorProvider {
override fun findModuleDescriptor(ideaModuleInfo: IdeaModuleInfo): ModuleDescriptor {
return delegate.findModuleDescriptor(ideaModuleInfo)
}
override val project: Project
get() = delegate.project