Extract new method from the publicly used interface for compatibility

Note that we can't just use ``@JvmDefault` annotation as the main change
 is in the `core` module which targets Java 6

 #KT-42259 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2020-10-23 12:06:47 +03:00
parent 0e7e657657
commit bb2e9e2d56
12 changed files with 39 additions and 28 deletions
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.load.kotlin.incremental
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.PackageFragmentProviderOptimized
import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl
import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource
import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder
@@ -49,7 +49,7 @@ class IncrementalPackageFragmentProvider(
val incrementalCache: IncrementalCache,
val target: TargetId,
private val kotlinClassFinder: KotlinClassFinder
) : PackageFragmentProvider {
) : PackageFragmentProviderOptimized {
private val fqNameToPackageFragment =
PackagePartClassUtils.getFilesWithCallables(sourceFiles)
.mapTo(hashSetOf()) { it.packageFqName }
@@ -33,7 +33,7 @@ class OptionalAnnotationPackageFragmentProvider(
notFoundClasses: NotFoundClasses,
languageVersionSettings: LanguageVersionSettings,
packagePartProvider: PackagePartProvider,
) : PackageFragmentProvider {
) : PackageFragmentProviderOptimized {
val packages: Map<FqName, PackageFragmentDescriptor> by storageManager.createLazyValue p@{
// We call getAllOptionalAnnotationClasses under lazy value only because IncrementalPackagePartProvider requires
// deserializationConfiguration to be injected.