[K/N libraries] Used fictitious functional interfaces factory
This commit is contained in:
-14
@@ -1,14 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.descriptors.konan
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
|
||||||
import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
|
|
||||||
private val STDLIB_MODULE_NAME = Name.special("<$KONAN_STDLIB_NAME>")
|
|
||||||
|
|
||||||
fun ModuleDescriptor.isKonanStdlib() = name == STDLIB_MODULE_NAME
|
|
||||||
+15
-8
@@ -5,18 +5,17 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.serialization.konan.impl
|
package org.jetbrains.kotlin.serialization.konan.impl
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.builtins.functions.functionInterfacePackageFragmentProvider
|
||||||
import org.jetbrains.kotlin.contracts.ContractDeserializerImpl
|
import org.jetbrains.kotlin.contracts.ContractDeserializerImpl
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl
|
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl
|
||||||
|
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||||
import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl
|
import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupLocation
|
import org.jetbrains.kotlin.incremental.components.LookupLocation
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
import org.jetbrains.kotlin.konan.library.KonanLibrary
|
import org.jetbrains.kotlin.konan.library.*
|
||||||
import org.jetbrains.kotlin.konan.library.exportForwardDeclarations
|
|
||||||
import org.jetbrains.kotlin.konan.library.isInterop
|
|
||||||
import org.jetbrains.kotlin.konan.library.packageFqName
|
|
||||||
import org.jetbrains.kotlin.konan.library.resolver.PackageAccessedHandler
|
import org.jetbrains.kotlin.konan.library.resolver.PackageAccessedHandler
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -96,7 +95,7 @@ internal object KonanDeserializedPackageFragmentsFactoryImpl : KonanDeserialized
|
|||||||
library, deserializedPackageFragments, moduleDescriptor
|
library, deserializedPackageFragments, moduleDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
val provider = PackageFragmentProviderImpl(deserializedPackageFragments + syntheticPackageFragments)
|
val packageFragmentProvider = PackageFragmentProviderImpl(deserializedPackageFragments + syntheticPackageFragments)
|
||||||
|
|
||||||
val notFoundClasses = NotFoundClasses(storageManager, moduleDescriptor)
|
val notFoundClasses = NotFoundClasses(storageManager, moduleDescriptor)
|
||||||
|
|
||||||
@@ -110,9 +109,9 @@ internal object KonanDeserializedPackageFragmentsFactoryImpl : KonanDeserialized
|
|||||||
storageManager,
|
storageManager,
|
||||||
moduleDescriptor,
|
moduleDescriptor,
|
||||||
configuration,
|
configuration,
|
||||||
DeserializedClassDataFinder(provider),
|
DeserializedClassDataFinder(packageFragmentProvider),
|
||||||
annotationAndConstantLoader,
|
annotationAndConstantLoader,
|
||||||
provider,
|
packageFragmentProvider,
|
||||||
LocalClassifierTypeSettings.Default,
|
LocalClassifierTypeSettings.Default,
|
||||||
ErrorReporter.DO_NOTHING,
|
ErrorReporter.DO_NOTHING,
|
||||||
LookupTracker.DO_NOTHING,
|
LookupTracker.DO_NOTHING,
|
||||||
@@ -127,7 +126,15 @@ internal object KonanDeserializedPackageFragmentsFactoryImpl : KonanDeserialized
|
|||||||
packageFragment.initialize(components)
|
packageFragment.initialize(components)
|
||||||
}
|
}
|
||||||
|
|
||||||
return provider
|
return if (library.uniqueName == KONAN_STDLIB_NAME)
|
||||||
|
CompositePackageFragmentProvider(
|
||||||
|
listOf(
|
||||||
|
packageFragmentProvider,
|
||||||
|
functionInterfacePackageFragmentProvider(storageManager, moduleDescriptor)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
packageFragmentProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createForwardDeclarationHackPackagePartProvider(
|
override fun createForwardDeclarationHackPackagePartProvider(
|
||||||
|
|||||||
Reference in New Issue
Block a user