diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirNode.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirNode.kt index f2121be0f80..09f1049e4bf 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirNode.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirNode.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.CirDeclaration import org.jetbrains.kotlin.descriptors.commonizer.cir.CirLiftedUpDeclaration import org.jetbrains.kotlin.descriptors.commonizer.utils.CommonizedGroup import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.storage.NullableLazyValue @@ -28,8 +27,8 @@ interface CirNode { get() = targetDeclarations.size + 1 fun toString(node: CirNode<*, *>) = buildString { - if (node is CirNodeWithFqName) { - append("fqName=").append(node.fqName.asString()).append(", ") + if (node is CirPackageNode) { + append("packageFqName=").append(node.packageFqName.asString()).append(", ") } if (node is CirNodeWithClassId) { append("classId=").append(node.classId.asString()).append(", ") @@ -46,10 +45,6 @@ interface CirNodeWithClassId : CirNode : CirNode { - val fqName: FqName -} - interface CirNodeWithLiftingUp : CirNode { val isLiftedUp: Boolean get() = (commonDeclaration() as? CirLiftedUpDeclaration)?.isLiftedUp == true diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirPackageNode.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirPackageNode.kt index 2f47cadbe31..e571a60ea90 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirPackageNode.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirPackageNode.kt @@ -8,21 +8,24 @@ package org.jetbrains.kotlin.descriptors.commonizer.mergedtree import gnu.trove.THashMap import org.jetbrains.kotlin.descriptors.commonizer.cir.CirPackage import org.jetbrains.kotlin.descriptors.commonizer.utils.CommonizedGroup +import org.jetbrains.kotlin.descriptors.commonizer.utils.firstNonNull import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.storage.NullableLazyValue class CirPackageNode( override val targetDeclarations: CommonizedGroup, - override val commonDeclaration: NullableLazyValue, - override val fqName: FqName -) : CirNodeWithFqName, CirNodeWithMembers { + override val commonDeclaration: NullableLazyValue +) : CirNodeWithMembers { override val properties: MutableMap = THashMap() override val functions: MutableMap = THashMap() override val classes: MutableMap = THashMap() val typeAliases: MutableMap = THashMap() + val packageFqName: FqName + get() = targetDeclarations.firstNonNull().fqName + override fun accept(visitor: CirNodeVisitor, data: T) = visitor.visitPackageNode(this, data) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt index e81bc140879..9e423dae00d 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt @@ -141,7 +141,7 @@ class CirTreeMerger( packageMemberScope: MemberScope ) { val packageNode: CirPackageNode = moduleNode.packages.getOrPut(packageFqName) { - buildPackageNode(storageManager, size, packageFqName) + buildPackageNode(storageManager, size) } packageNode.targetDeclarations[targetIndex] = CirPackageFactory.create(packageFqName) @@ -237,7 +237,7 @@ class CirTreeMerger( typeAliasDescriptor: TypeAliasDescriptor ) { val typeAliasName = typeAliasDescriptor.name.intern() - val typeAliasClassId = internedClassId(packageNode.fqName, typeAliasName) + val typeAliasClassId = internedClassId(packageNode.packageFqName, typeAliasName) val typeAliasNode: CirTypeAliasNode = packageNode.typeAliases.getOrPut(typeAliasName) { buildTypeAliasNode(storageManager, size, classifiers, typeAliasClassId) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/nodeBuilders.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/nodeBuilders.kt index 7661246fd9d..be14f98527c 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/nodeBuilders.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/nodeBuilders.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirClassifierRecursi import org.jetbrains.kotlin.descriptors.commonizer.core.* import org.jetbrains.kotlin.descriptors.commonizer.utils.CommonizedGroup import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.storage.NullableLazyValue import org.jetbrains.kotlin.storage.StorageManager @@ -37,15 +36,12 @@ internal fun buildModuleNode( internal fun buildPackageNode( storageManager: StorageManager, - size: Int, - fqName: FqName + size: Int ): CirPackageNode = buildNode( storageManager = storageManager, size = size, commonizerProducer = ::PackageCommonizer, - nodeProducer = { targetDeclarations, commonDeclaration -> - CirPackageNode(targetDeclarations, commonDeclaration, fqName) - } + nodeProducer = ::CirPackageNode ) internal fun buildPropertyNode(