Provide findModuleDescriptor for ResolutionFacadeWithDebugInfo
Fixes Move refactoring tests Broken after introduction of ResolutionFacadeWithDebugInfo
This commit is contained in:
+9
-4
@@ -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
|
||||
}
|
||||
+6
-1
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user