Improve package caching in KotlinJavaPsiFacade
^KT-33394 Fixed
This commit is contained in:
+3
-1
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||
import org.jetbrains.kotlin.resolve.jvm.extensions.PackageFragmentProviderExtension
|
||||
import org.jetbrains.kotlin.storage.StorageManager
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
|
||||
abstract class AndroidPackageFragmentProviderExtension : PackageFragmentProviderExtension {
|
||||
protected abstract fun getLayoutXmlFileManager(project: Project, moduleInfo: ModuleInfo?): AndroidLayoutXmlFileManager?
|
||||
@@ -132,7 +133,8 @@ abstract class AndroidPackageFragmentProviderExtension : PackageFragmentProvider
|
||||
class AndroidSyntheticPackageFragmentProvider(
|
||||
val packages: Map<FqName, () -> PackageFragmentDescriptor>
|
||||
) : PackageFragmentProvider {
|
||||
override fun getPackageFragments(fqName: FqName) = listOfNotNull(packages[fqName]?.invoke())
|
||||
override fun collectPackageFragments(fqName: FqName, packageFragments: MutableCollection<PackageFragmentDescriptor>) =
|
||||
packageFragments.addIfNotNull(packages[fqName]?.invoke())
|
||||
|
||||
override fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): List<FqName> {
|
||||
return packages.asSequence()
|
||||
|
||||
Reference in New Issue
Block a user