From 885026f6dbd635375c0c34e0063a2d4e608ac6db Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 5 Mar 2021 00:37:06 +0300 Subject: [PATCH] [Commonizer] Extract creation of CirTypeParameter from CirTypeParameterFactory --- .../commonizer/cir/CirTypeParameter.kt | 25 +++++++++++++++++++ .../cir/factory/CirTypeParameterFactory.kt | 23 +---------------- .../cir/impl/CirTypeParameterImpl.kt | 20 --------------- .../core/TypeParameterCommonizer.kt | 3 +-- .../core/TypeParameterCommonizerTest.kt | 3 +-- 5 files changed, 28 insertions(+), 46 deletions(-) delete mode 100644 native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirTypeParameterImpl.kt diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirTypeParameter.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirTypeParameter.kt index 9242c40e91e..ada12955f0e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirTypeParameter.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirTypeParameter.kt @@ -11,4 +11,29 @@ interface CirTypeParameter : CirHasAnnotations, CirHasName { val isReified: Boolean val variance: Variance val upperBounds: List + + companion object { + @Suppress("NOTHING_TO_INLINE") + inline fun create( + annotations: List, + name: CirName, + isReified: Boolean, + variance: Variance, + upperBounds: List + ): CirTypeParameter = CirTypeParameterImpl( + annotations = annotations, + name = name, + isReified = isReified, + variance = variance, + upperBounds = upperBounds + ) + } } + +data class CirTypeParameterImpl( + override val annotations: List, + override val name: CirName, + override val isReified: Boolean, + override val variance: Variance, + override val upperBounds: List +) : CirTypeParameter diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirTypeParameterFactory.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirTypeParameterFactory.kt index c94a0ec4854..d6bfd909240 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirTypeParameterFactory.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirTypeParameterFactory.kt @@ -8,40 +8,19 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory import kotlinx.metadata.Flag import kotlinx.metadata.KmTypeParameter import kotlinx.metadata.klib.annotations -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirAnnotation import org.jetbrains.kotlin.descriptors.commonizer.cir.CirName -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeParameter import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirTypeFactory.decodeVariance -import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirTypeParameterImpl import org.jetbrains.kotlin.descriptors.commonizer.metadata.ALWAYS_HAS_ANNOTATIONS import org.jetbrains.kotlin.descriptors.commonizer.utils.compactMap import org.jetbrains.kotlin.descriptors.commonizer.utils.filteredUpperBounds -import org.jetbrains.kotlin.types.Variance object CirTypeParameterFactory { - fun create(source: KmTypeParameter, typeResolver: CirTypeResolver): CirTypeParameter = create( + fun create(source: KmTypeParameter, typeResolver: CirTypeResolver): CirTypeParameter = CirTypeParameter.create( annotations = CirAnnotationFactory.createAnnotations(ALWAYS_HAS_ANNOTATIONS, typeResolver, source::annotations), name = CirName.create(source.name), isReified = Flag.TypeParameter.IS_REIFIED(source.flags), variance = decodeVariance(source.variance), upperBounds = source.filteredUpperBounds.compactMap { CirTypeFactory.create(it, typeResolver) } ) - - @Suppress("NOTHING_TO_INLINE") - inline fun create( - annotations: List, - name: CirName, - isReified: Boolean, - variance: Variance, - upperBounds: List - ): CirTypeParameter { - return CirTypeParameterImpl( - annotations = annotations, - name = name, - isReified = isReified, - variance = variance, - upperBounds = upperBounds - ) - } } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirTypeParameterImpl.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirTypeParameterImpl.kt deleted file mode 100644 index 4d2ba1dd79f..00000000000 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirTypeParameterImpl.kt +++ /dev/null @@ -1,20 +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.CirName -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType -import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeParameter -import org.jetbrains.kotlin.types.Variance - -data class CirTypeParameterImpl( - override val annotations: List, - override val name: CirName, - override val isReified: Boolean, - override val variance: Variance, - override val upperBounds: List -) : CirTypeParameter diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizer.kt index dd205c4efef..d124d45b38b 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizer.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.core import org.jetbrains.kotlin.descriptors.commonizer.cir.CirName import org.jetbrains.kotlin.descriptors.commonizer.cir.CirType import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeParameter -import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirTypeParameterFactory import org.jetbrains.kotlin.descriptors.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.types.Variance @@ -18,7 +17,7 @@ class TypeParameterCommonizer(classifiers: CirKnownClassifiers) : AbstractStanda private lateinit var variance: Variance private val upperBounds = TypeParameterUpperBoundsCommonizer(classifiers) - override fun commonizationResult() = CirTypeParameterFactory.create( + override fun commonizationResult() = CirTypeParameter.create( annotations = emptyList(), name = name, isReified = isReified, diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizerTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizerTest.kt index 7fef6c0ed9c..07d1986c1d1 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizerTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/TypeParameterCommonizerTest.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.core import org.jetbrains.kotlin.descriptors.commonizer.cir.CirName import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeParameter -import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirTypeParameterFactory import org.jetbrains.kotlin.descriptors.commonizer.utils.MOCK_CLASSIFIERS import org.jetbrains.kotlin.descriptors.commonizer.utils.mockClassType import org.jetbrains.kotlin.types.Variance @@ -87,7 +86,7 @@ class TypeParameterCommonizerTest : AbstractCommonizerTest = listOf("kotlin/Any") - ) = CirTypeParameterFactory.create( + ) = CirTypeParameter.create( annotations = emptyList(), name = CirName.create(name), isReified = isReified,