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
@@ -43,6 +43,15 @@ abstract class AbstractDeserializedPackageFragmentProvider(
packageFragments.addIfNotNull(fragments(fqName))
}
override fun isEmpty(fqName: FqName): Boolean {
val descriptor = if (fragments.isComputed(fqName)) {
fragments.invoke(fqName)
} else {
findPackage(fqName)
}
return descriptor == null
}
override fun getPackageFragments(fqName: FqName): List<PackageFragmentDescriptor> = listOfNotNull(fragments(fqName))
override fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): Collection<FqName> = emptySet()