[SLC] fix multifile-classes in multiplatform case
Multifile-class can contain not only files from the same module, but also files from the common part. This commit also fixes KotlinByModulesResolutionScopeProvider as it should provide all transitive dependencies ^KT-64714 Fixed
This commit is contained in:
committed by
Space Team
parent
fc519b2339
commit
c14c12479c
+5
-1
@@ -40,7 +40,7 @@ abstract class KotlinAsJavaSupportBase<TModule : Any>(protected val project: Pro
|
||||
return when {
|
||||
facadeFiles.none(KtFile::hasTopLevelCallables) -> null
|
||||
facadeFiles.none(KtFile::isCompiled) -> {
|
||||
LightClassCachedValue(createInstanceOfLightFacade(facadeFqName, facadeFiles), outOfBlockModificationTracker(file))
|
||||
LightClassCachedValue(createInstanceOfLightFacade(facadeFqName, module, facadeFiles), outOfBlockModificationTracker(file))
|
||||
}
|
||||
|
||||
facadeFiles.all(KtFile::isCompiled) -> {
|
||||
@@ -68,6 +68,10 @@ abstract class KotlinAsJavaSupportBase<TModule : Any>(protected val project: Pro
|
||||
protected abstract val TModule.contentSearchScope: GlobalSearchScope
|
||||
|
||||
protected abstract fun createInstanceOfLightFacade(facadeFqName: FqName, files: List<KtFile>): KtLightClassForFacade?
|
||||
protected open fun createInstanceOfLightFacade(facadeFqName: FqName, module: TModule, files: List<KtFile>): KtLightClassForFacade? {
|
||||
return createInstanceOfLightFacade(facadeFqName, files)
|
||||
}
|
||||
|
||||
protected abstract fun createInstanceOfDecompiledLightFacade(facadeFqName: FqName, files: List<KtFile>): KtLightClassForFacade?
|
||||
|
||||
protected open fun projectWideOutOfBlockModificationTracker(): ModificationTracker {
|
||||
|
||||
Reference in New Issue
Block a user