From 4ab5bfef227c770787665f1370f84090da805549 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Wed, 8 Jul 2020 21:08:12 +0700 Subject: [PATCH] [Commonizer] Preserve order of supertypes in commonized class --- .../descriptors/commonizer/core/CommonizationVisitor.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/CommonizationVisitor.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/CommonizationVisitor.kt index eed94b29caf..9eaf447b126 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/CommonizationVisitor.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/CommonizationVisitor.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.core import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeSignature import org.jetbrains.kotlin.descriptors.commonizer.mergedtree.* -import org.jetbrains.kotlin.descriptors.commonizer.utils.CommonizedGroupMap +import org.jetbrains.kotlin.descriptors.commonizer.utils.CommonizedGroup import org.jetbrains.kotlin.descriptors.commonizer.utils.internedClassId internal class CommonizationVisitor( @@ -93,10 +93,10 @@ internal class CommonizationVisitor( } // find out common (and commonized) supertypes - val supertypesMap = CommonizedGroupMap(node.targetDeclarations.size) + val supertypesMap: MutableMap> = linkedMapOf() // preserve supertype order node.targetDeclarations.forEachIndexed { index, clazz -> for (supertype in clazz!!.supertypes) { - supertypesMap[supertype.signature][index] = supertype + supertypesMap.getOrPut(supertype.signature) { CommonizedGroup(node.targetDeclarations.size) }[index] = supertype } }