Added optimized PackageFragmentProvider#isEmpty(FqName)

This commit is contained in:
Vladimir Dolzhenko
2021-04-09 09:27:39 +00:00
committed by Space
parent 37055c5a09
commit e511eec90e
12 changed files with 57 additions and 9 deletions
@@ -60,6 +60,8 @@ class IncrementalPackageFragmentProvider(
override fun collectPackageFragments(fqName: FqName, packageFragments: MutableCollection<PackageFragmentDescriptor>) =
packageFragments.addIfNotNull(fqNameToPackageFragment[fqName])
override fun isEmpty(fqName: FqName): Boolean = !fqNameToPackageFragment.containsKey(fqName)
override fun getPackageFragments(fqName: FqName): List<PackageFragmentDescriptor> {
return listOfNotNull(fqNameToPackageFragment[fqName])
}
@@ -83,6 +83,9 @@ class OptionalAnnotationPackageFragmentProvider(
override fun collectPackageFragments(fqName: FqName, packageFragments: MutableCollection<PackageFragmentDescriptor>) =
packageFragments.addIfNotNull(packages[fqName])
override fun isEmpty(fqName: FqName): Boolean =
!packages.containsKey(fqName)
override fun getPackageFragments(fqName: FqName): List<PackageFragmentDescriptor> =
packages[fqName]?.let(::listOf).orEmpty()