KTIJ-20637 Group files by module in getFacadeClassesInPackage also
Fixup for 35e2561dab, since these changes
were overlooked in the initial commit.
^KTIJ-20637 Fixed
This commit is contained in:
committed by
TeamCityServer
parent
ce2a469a88
commit
7e1a9e2b9a
+13
-10
@@ -91,13 +91,9 @@ class IDEKotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupp
|
|||||||
error("Should not be called")
|
error("Should not be called")
|
||||||
|
|
||||||
override fun getFacadeClasses(facadeFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass> {
|
override fun getFacadeClasses(facadeFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass> {
|
||||||
val filesByModule = findFilesForFacade(facadeFqName, scope).groupBy { it.getKtModule(project) }
|
val filesForFacade = findFilesForFacade(facadeFqName, scope)
|
||||||
|
|
||||||
val lightClassFacadeCache = project.getService(SymbolLightClassFacadeCache::class.java)
|
return getFacadeClassesForFiles(facadeFqName, filesForFacade)
|
||||||
|
|
||||||
return filesByModule.values.mapNotNull { files ->
|
|
||||||
lightClassFacadeCache.getOrCreateSymbolLightFacade(files, facadeFqName)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getScriptClasses(scriptFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass> =
|
override fun getScriptClasses(scriptFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass> =
|
||||||
@@ -112,10 +108,7 @@ class IDEKotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupp
|
|||||||
.asSequence()
|
.asSequence()
|
||||||
.filter { it.isFromSourceOrLibraryBinary(project) }
|
.filter { it.isFromSourceOrLibraryBinary(project) }
|
||||||
.groupBy { it.javaFileFacadeFqName }
|
.groupBy { it.javaFileFacadeFqName }
|
||||||
.mapNotNull {
|
.flatMap { (fqName, files) -> getFacadeClassesForFiles(fqName, files) }
|
||||||
project.getService(SymbolLightClassFacadeCache::class.java)
|
|
||||||
.getOrCreateSymbolLightFacade(it.value, it.key)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getFacadeNames(packageFqName: FqName, scope: GlobalSearchScope): Collection<String> =
|
override fun getFacadeNames(packageFqName: FqName, scope: GlobalSearchScope): Collection<String> =
|
||||||
project.createDeclarationProvider(scope)
|
project.createDeclarationProvider(scope)
|
||||||
@@ -134,6 +127,16 @@ class IDEKotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupp
|
|||||||
|
|
||||||
override fun createFacadeForSyntheticFile(facadeClassFqName: FqName, file: KtFile): PsiClass =
|
override fun createFacadeForSyntheticFile(facadeClassFqName: FqName, file: KtFile): PsiClass =
|
||||||
TODO("Not implemented")
|
TODO("Not implemented")
|
||||||
|
|
||||||
|
private fun getFacadeClassesForFiles(facadeFqName: FqName, allFiles: Collection<KtFile>): Collection<PsiClass> {
|
||||||
|
val filesByModule = allFiles.groupBy { it.getKtModule(project) }
|
||||||
|
|
||||||
|
val lightClassFacadeCache = project.getService(SymbolLightClassFacadeCache::class.java)
|
||||||
|
|
||||||
|
return filesByModule.values.mapNotNull { files ->
|
||||||
|
lightClassFacadeCache.getOrCreateSymbolLightFacade(files, facadeFqName)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user