From cdba0d029e593e0e488743163beeb0cb90e516a7 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 5 Mar 2021 00:42:30 +0300 Subject: [PATCH] [Commonizer] Extract creation of CirExtensionReceiver from CirExtensionReceiverFactory --- .../commonizer/cir/CirExtensionReceiver.kt | 16 ++++++++++++++++ .../cir/factory/CirExtensionReceiverFactory.kt | 16 +--------------- .../cir/impl/CirExtensionReceiverImpl.kt | 15 --------------- .../core/ExtensionReceiverCommonizer.kt | 3 +-- .../core/ExtensionReceiverCommonizerTest.kt | 3 +-- 5 files changed, 19 insertions(+), 34 deletions(-) delete mode 100644 native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirExtensionReceiverImpl.kt diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirExtensionReceiver.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirExtensionReceiver.kt index 1decdcac4a6..ad60455bc10 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirExtensionReceiver.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirExtensionReceiver.kt @@ -7,4 +7,20 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir interface CirExtensionReceiver : CirHasAnnotations { val type: CirType + + companion object { + @Suppress("NOTHING_TO_INLINE") + inline fun create( + annotations: List, + type: CirType + ): CirExtensionReceiver = CirExtensionReceiverImpl( + annotations = annotations, + type = type + ) + } } + +data class CirExtensionReceiverImpl( + override val annotations: List, + override val type: CirType +) : CirExtensionReceiver diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirExtensionReceiverFactory.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirExtensionReceiverFactory.kt index 5866d0cb36d..29729c568c0 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirExtensionReceiverFactory.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirExtensionReceiverFactory.kt @@ -6,25 +6,11 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory import kotlinx.metadata.KmType -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation import org.jetbrains.kotlin.descriptors.commonizer.cir.CirExtensionReceiver -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType -import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirExtensionReceiverImpl object CirExtensionReceiverFactory { - fun create(receiverParameterType: KmType, typeResolver: CirTypeResolver): CirExtensionReceiver = create( + fun create(receiverParameterType: KmType, typeResolver: CirTypeResolver): CirExtensionReceiver = CirExtensionReceiver.create( annotations = emptyList(), // TODO nowhere to read receiver annotations from, see KT-42490 type = CirTypeFactory.create(receiverParameterType, typeResolver) ) - - @Suppress("NOTHING_TO_INLINE") - inline fun create( - annotations: List, - type: CirType - ): CirExtensionReceiver { - return CirExtensionReceiverImpl( - annotations = annotations, - type = type - ) - } } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirExtensionReceiverImpl.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirExtensionReceiverImpl.kt deleted file mode 100644 index 1459d4c7c79..00000000000 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirExtensionReceiverImpl.kt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2010-2020 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.commonizer.cir.impl - -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirExtensionReceiver -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType - -data class CirExtensionReceiverImpl( - override val annotations: List, - override val type: CirType -) : CirExtensionReceiver diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizer.kt index 231e080b2ae..9f888868a4d 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizer.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.core import org.jetbrains.kotlin.descriptors.commonizer.cir.CirExtensionReceiver import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType -import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirExtensionReceiverFactory import org.jetbrains.kotlin.descriptors.commonizer.mergedtree.CirKnownClassifiers class ExtensionReceiverCommonizer(classifiers: CirKnownClassifiers) : @@ -15,7 +14,7 @@ class ExtensionReceiverCommonizer(classifiers: CirKnownClassifiers) : wrappedCommonizerFactory = { TypeCommonizer(classifiers) }, extractor = { it.type }, builder = { receiverType -> - CirExtensionReceiverFactory.create( + CirExtensionReceiver.create( annotations = emptyList(), type = receiverType ) diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizerTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizerTest.kt index 1d33a8d5c9e..75b08bc31fc 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizerTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/ExtensionReceiverCommonizerTest.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.core import org.jetbrains.kotlin.descriptors.commonizer.cir.CirExtensionReceiver -import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirExtensionReceiverFactory import org.jetbrains.kotlin.descriptors.commonizer.utils.MOCK_CLASSIFIERS import org.jetbrains.kotlin.descriptors.commonizer.utils.mockClassType import org.junit.Test @@ -51,7 +50,7 @@ class ExtensionReceiverCommonizerTest : AbstractCommonizerTest