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
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.android.synthetic.forEachUntilLast
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.incremental.components.LookupTracker
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -132,7 +133,7 @@ abstract class AndroidPackageFragmentProviderExtension : PackageFragmentProvider
class AndroidSyntheticPackageFragmentProvider(
val packages: Map<FqName, () -> PackageFragmentDescriptor>
) : PackageFragmentProvider {
) : PackageFragmentProviderOptimized {
override fun collectPackageFragments(fqName: FqName, packageFragments: MutableCollection<PackageFragmentDescriptor>) =
packageFragments.addIfNotNull(packages[fqName]?.invoke())