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")
|
||||
|
||||
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 filesByModule.values.mapNotNull { files ->
|
||||
lightClassFacadeCache.getOrCreateSymbolLightFacade(files, facadeFqName)
|
||||
}
|
||||
return getFacadeClassesForFiles(facadeFqName, filesForFacade)
|
||||
}
|
||||
|
||||
override fun getScriptClasses(scriptFqName: FqName, scope: GlobalSearchScope): Collection<PsiClass> =
|
||||
@@ -112,10 +108,7 @@ class IDEKotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupp
|
||||
.asSequence()
|
||||
.filter { it.isFromSourceOrLibraryBinary(project) }
|
||||
.groupBy { it.javaFileFacadeFqName }
|
||||
.mapNotNull {
|
||||
project.getService(SymbolLightClassFacadeCache::class.java)
|
||||
.getOrCreateSymbolLightFacade(it.value, it.key)
|
||||
}
|
||||
.flatMap { (fqName, files) -> getFacadeClassesForFiles(fqName, files) }
|
||||
|
||||
override fun getFacadeNames(packageFqName: FqName, scope: GlobalSearchScope): Collection<String> =
|
||||
project.createDeclarationProvider(scope)
|
||||
@@ -134,6 +127,16 @@ class IDEKotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupp
|
||||
|
||||
override fun createFacadeForSyntheticFile(facadeClassFqName: FqName, file: KtFile): PsiClass =
|
||||
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