[kotlin compiler][update] 1.2.60-dev-715

This commit is contained in:
Vasily Levchenko
2018-06-13 14:53:15 +03:00
parent ce840e1e28
commit 5a4718b3a3
6 changed files with 23 additions and 8 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.container.useInstance
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.calls.checkers.ReifiedTypeParameterSubstitutionChecker
import org.jetbrains.kotlin.resolve.calls.components.SamConversionTransformer
import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator
import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker
import org.jetbrains.kotlin.resolve.lazy.DelegationFilter
@@ -50,6 +51,6 @@ object KonanPlatformConfigurator : PlatformConfigurator(
override fun configureModuleComponents(container: StorageComponentContainer) {
container.useInstance(SyntheticScopes.Empty)
container.useInstance(TypeSpecificityComparator.NONE)
container.useInstance(SamConversionTransformer.Empty)
}
}
@@ -251,6 +251,10 @@ fun IrModuleFragment.referenceAllTypeExternalClassifiers(symbolTable: SymbolTabl
override fun visitLongValue(p0: LongValue, p1: Nothing?) {}
override fun visitCharValue(p0: CharValue?, p1: Nothing?) {}
override fun visitIntValue(p0: IntValue?, p1: Nothing?) {}
override fun visitUIntValue(p0: UIntValue?, p1: Nothing?) {}
override fun visitUShortValue(p0: UShortValue?, p1: Nothing?) {}
override fun visitUByteValue(p0: UByteValue?, p1: Nothing?) {}
override fun visitULongValue(p0: ULongValue?, p1: Nothing?) {}
override fun visitErrorValue(p0: ErrorValue?, p1: Nothing?) {}
override fun visitFloatValue(p0: FloatValue?, p1: Nothing?) {}
override fun visitEnumValue(p0: EnumValue?, p1: Nothing?) {}
@@ -23,6 +23,8 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.metadata.KonanLinkData
import org.jetbrains.kotlin.serialization.deserialization.DeserializedPackageFragment
import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope
import org.jetbrains.kotlin.serialization.deserialization.getClassId
import org.jetbrains.kotlin.serialization.deserialization.getName
@@ -34,6 +36,12 @@ class KonanPackageFragment(
storageManager: StorageManager, module: ModuleDescriptor
) : DeserializedPackageFragment(FqName(fqNameString), storageManager, module) {
lateinit var components: DeserializationComponents
override fun initialize(components: DeserializationComponents) {
this.components = components
}
// The proto field is lazy so that we can load only needed
// packages from the library.
private val protoForNames: KonanLinkData.LinkDataPackageFragment by lazy {
@@ -52,7 +60,7 @@ class KonanPackageFragment(
KonanClassDataFinder(proto, nameResolver)
}
override fun computeMemberScope(): DeserializedPackageMemberScope {
override fun getMemberScope(): DeserializedPackageMemberScope {
val packageProto = proto.getPackage()
return DeserializedPackageMemberScope( this, packageProto,
@@ -95,7 +95,7 @@ fun createKonanPackageFragmentProvider(
emptyList(), notFoundClasses, ContractDeserializer.DEFAULT, extensionRegistryLite = KonanSerializerProtocol.extensionRegistry )
for (packageFragment in packageFragments) {
packageFragment.components = components
packageFragment.initialize(components)
}
return provider
@@ -60,7 +60,8 @@ internal fun IrModuleFragment.replaceUnboundSymbols(context: Context) {
override fun visitModuleFragment(declaration: IrModuleFragment) {
declaration.dependencyModules.forEach { it.acceptVoid(this) }
val dependencyModules = declaration.dependencyModules.groupBy { it.descriptor }.map { (_, fragments) ->
// TODO: toSet added to avoid duplicates introduced in 8094cb7dc5506895466b4912a44e9e7f99a14902.
val dependencyModules = declaration.dependencyModules.toSet().groupBy { it.descriptor }.map { (_, fragments) ->
fragments.reduce { firstModule, nextModule ->
firstModule.apply {
mergeFrom(nextModule)
@@ -79,7 +80,8 @@ private fun IrModuleFragment.mergeFrom(other: IrModuleFragment): Unit {
assert(this.files.isEmpty())
assert(other.files.isEmpty())
val thisPackages = this.externalPackageFragments.groupBy { it.packageFragmentDescriptor }
// TODO: toSet added to avoid duplicates introduced in 8094cb7dc5506895466b4912a44e9e7f99a14902.
val thisPackages = this.externalPackageFragments.toSet().groupBy { it.packageFragmentDescriptor }
other.externalPackageFragments.forEach {
val thisPackage = thisPackages[it.packageFragmentDescriptor]?.single()
if (thisPackage == null) {
+3 -3
View File
@@ -20,8 +20,8 @@ remoteRoot=konan_tests
#kotlinCompilerModule=org.jetbrains.kotlin:kotlin-compiler:1.1-SNAPSHOT
# Download artifacts of https://teamcity.jetbrains.com/viewType.html?buildTypeId=Kotlin_120_Compiler
testDataVersion=1226829:id
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_dev_CompilerAllPlugins),number:1.2.60-dev-444,tag:kotlin-native,pinned:true/artifacts/content/maven
kotlinVersion=1.2.60-dev-444
konanVersion=0.7.1
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_dev_CompilerAllPlugins),number:1.2.60-dev-715,tag:kotlin-native,pinned:true/artifacts/content/maven
kotlinVersion=1.2.60-dev-715
konanVersion=0.8
org.gradle.jvmargs='-Dfile.encoding=UTF-8'