[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
+13
-1
@@ -141,10 +141,22 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
|
||||
override fun createInstanceOfLightFacade(facadeFqName: FqName, files: List<KtFile>): KtLightClassForFacade? {
|
||||
val module = files.first().getModuleIfSupportEnabled() ?: return null
|
||||
return createInstanceOfLightFacade(facadeFqName, module, files)
|
||||
}
|
||||
|
||||
override fun createInstanceOfLightFacade(facadeFqName: FqName, module: KtModule, files: List<KtFile>): KtLightClassForFacade? {
|
||||
return SymbolLightClassForFacade(facadeFqName, files, module)
|
||||
}
|
||||
|
||||
override val KtModule.contentSearchScope: GlobalSearchScope get() = this.contentScope
|
||||
override val KtModule.contentSearchScope: GlobalSearchScope
|
||||
get() = GlobalSearchScope.union(
|
||||
buildList {
|
||||
add(contentScope)
|
||||
for (dependency in transitiveDependsOnDependencies) {
|
||||
add(dependency.contentScope)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
override fun facadeIsApplicable(module: KtModule, file: KtFile): Boolean =
|
||||
module.isFromSourceOrLibraryBinary() && module.isLightClassesEnabled()
|
||||
|
||||
Reference in New Issue
Block a user