From e246a12cd32ce285e6be8d731fd47b7bcd6f5cea Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Wed, 7 Jul 2021 14:55:10 +0200 Subject: [PATCH] [Commonizer] Drop CirFunction interface for plain data class --- .../kotlin/commonizer/cir/CirFunction.kt | 44 ++----------------- .../commonizer/core/FunctionCommonizer.kt | 2 +- .../commonizer/metadata/CirDeserializers.kt | 2 +- 3 files changed, 6 insertions(+), 42 deletions(-) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirFunction.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirFunction.kt index a1adb05efe8..baf6a79d939 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirFunction.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirFunction.kt @@ -9,44 +9,7 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility -interface CirFunction : CirFunctionOrProperty, CirCallableMemberWithParameters { - val modifiers: CirFunctionModifiers - - override fun withContainingClass(containingClass: CirContainingClass): CirFunction - - companion object { - @Suppress("NOTHING_TO_INLINE") - inline fun create( - annotations: List, - name: CirName, - typeParameters: List, - visibility: Visibility, - modality: Modality, - containingClass: CirContainingClass?, - valueParameters: List, - hasStableParameterNames: Boolean, - extensionReceiver: CirExtensionReceiver?, - returnType: CirType, - kind: CallableMemberDescriptor.Kind, - modifiers: CirFunctionModifiers - ): CirFunction = CirFunctionImpl( - annotations = annotations, - name = name, - typeParameters = typeParameters, - visibility = visibility, - modality = modality, - containingClass = containingClass, - valueParameters = valueParameters, - hasStableParameterNames = hasStableParameterNames, - extensionReceiver = extensionReceiver, - returnType = returnType, - kind = kind, - modifiers = modifiers - ) - } -} - -data class CirFunctionImpl( +data class CirFunction( override val annotations: List, override val name: CirName, override val typeParameters: List, @@ -58,9 +21,10 @@ data class CirFunctionImpl( override val extensionReceiver: CirExtensionReceiver?, override val returnType: CirType, override val kind: CallableMemberDescriptor.Kind, - override val modifiers: CirFunctionModifiers -) : CirFunction { + val modifiers: CirFunctionModifiers +) : CirFunctionOrProperty, CirCallableMemberWithParameters { override fun withContainingClass(containingClass: CirContainingClass): CirFunction { return copy(containingClass = containingClass) } } + diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/FunctionCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/FunctionCommonizer.kt index 8a1b2ea8571..5a0f39cecfc 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/FunctionCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/FunctionCommonizer.kt @@ -17,7 +17,7 @@ class FunctionCommonizer(classifiers: CirKnownClassifiers) : AbstractFunctionOrP val valueParameters = valueParameters.result valueParameters.patchCallables() - return CirFunction.create( + return CirFunction( annotations = annotations.result, name = name, typeParameters = typeParameters.result, diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirDeserializers.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirDeserializers.kt index f77928e7863..772a5e42896 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirDeserializers.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/metadata/CirDeserializers.kt @@ -169,7 +169,7 @@ object CirDeserializers { } fun function(name: CirName, source: KmFunction, containingClass: CirContainingClass?, typeResolver: CirTypeResolver): CirFunction = - CirFunction.create( + CirFunction( annotations = annotations(source.flags, typeResolver, source::annotations), name = name, typeParameters = source.typeParameters.compactMap { typeParameter(it, typeResolver) },