From 113d4d867978d3f97e30480a2c33b9dada796a32 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Thu, 6 Apr 2023 20:22:52 +0300 Subject: [PATCH] [K/N] Internalize KPropertyImpl classes As a part of efforts to stabilize Native stdlib. --- .../kotlin/native/internal/KPropertyImpl.kt | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/KPropertyImpl.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/KPropertyImpl.kt index be41bfeba51..7d070ca0c8d 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/KPropertyImpl.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/KPropertyImpl.kt @@ -8,7 +8,8 @@ package kotlin.native.internal import kotlin.UnsupportedOperationException import kotlin.reflect.* -abstract class KProperty0ImplBase : KProperty0 { +@PublishedApi +internal abstract class KProperty0ImplBase : KProperty0 { abstract val getter: KFunction0 override val returnType get() = getter.returnType @@ -21,7 +22,8 @@ abstract class KProperty0ImplBase : KProperty0 { } } -final class KProperty0Impl(override val name: String, override val getter: KFunction0) : KProperty0ImplBase() { +@PublishedApi +internal final class KProperty0Impl(override val name: String, override val getter: KFunction0) : KProperty0ImplBase() { override fun equals(other: Any?): Boolean { val otherKProperty = other as? KProperty0Impl<*> if (otherKProperty == null) return false @@ -37,7 +39,8 @@ final class KProperty0Impl(override val name: String, override val getter } } -abstract class KProperty1ImplBase : KProperty1 { +@PublishedApi +internal abstract class KProperty1ImplBase : KProperty1 { abstract val getter: KFunction1 override val returnType get() = getter.returnType @@ -50,7 +53,8 @@ abstract class KProperty1ImplBase : KProperty1 { } } -class KProperty1Impl(override val name: String, override val getter: KFunction1) : KProperty1ImplBase() { +@PublishedApi +internal class KProperty1Impl(override val name: String, override val getter: KFunction1) : KProperty1ImplBase() { override fun equals(other: Any?): Boolean { val otherKProperty = other as? KProperty1Impl<*, *> if (otherKProperty == null) return false @@ -67,7 +71,8 @@ class KProperty1Impl(override val name: String, override val getter: K } -abstract class KProperty2ImplBase : KProperty2 { +@PublishedApi +internal abstract class KProperty2ImplBase : KProperty2 { abstract val getter: KFunction2 override val returnType get() = getter.returnType @@ -80,7 +85,8 @@ abstract class KProperty2ImplBase : KProperty2 { } } -class KProperty2Impl(override val name: String, override val getter: KFunction2) +@PublishedApi +internal class KProperty2Impl(override val name: String, override val getter: KFunction2) : KProperty2ImplBase() { override fun equals(other: Any?): Boolean { val otherKProperty = other as? KProperty2Impl<*, *, *> @@ -98,7 +104,8 @@ class KProperty2Impl(override val name: String, override val gett } -class KMutableProperty0Impl(override val name: String, override val getter: KFunction0, val setter: (R) -> Unit) +@PublishedApi +internal class KMutableProperty0Impl(override val name: String, override val getter: KFunction0, val setter: (R) -> Unit) : KProperty0ImplBase(), KMutableProperty0 { override fun set(value: R): Unit { setter(value) @@ -119,7 +126,8 @@ class KMutableProperty0Impl(override val name: String, override val getter: K } } -class KMutableProperty1Impl(override val name: String, override val getter: KFunction1, val setter: (T, R) -> Unit) +@PublishedApi +internal class KMutableProperty1Impl(override val name: String, override val getter: KFunction1, val setter: (T, R) -> Unit) : KProperty1ImplBase(), KMutableProperty1 { override fun set(receiver: T, value: R): Unit { setter(receiver, value) @@ -140,7 +148,8 @@ class KMutableProperty1Impl(override val name: String, override val getter } } -class KMutableProperty2Impl( +@PublishedApi +internal class KMutableProperty2Impl( override val name: String, override val getter: KFunction2, val setter: (T1, T2, R) -> Unit) @@ -164,7 +173,8 @@ class KMutableProperty2Impl( } } -abstract class KLocalDelegatedPropertyImplBase : KProperty0 { +@PublishedApi +internal abstract class KLocalDelegatedPropertyImplBase : KProperty0 { override fun get(): R { throw UnsupportedOperationException("Not supported for local property reference.") } @@ -174,13 +184,15 @@ abstract class KLocalDelegatedPropertyImplBase : KProperty0 { } } -class KLocalDelegatedPropertyImpl(override val name: String, override val returnType: KType) : KLocalDelegatedPropertyImplBase() { +@PublishedApi +internal class KLocalDelegatedPropertyImpl(override val name: String, override val returnType: KType) : KLocalDelegatedPropertyImplBase() { override fun toString(): String { return "property $name (Kotlin reflection is not available)" } } -class KLocalDelegatedMutablePropertyImpl(override val name: String, override val returnType: KType) : +@PublishedApi +internal class KLocalDelegatedMutablePropertyImpl(override val name: String, override val returnType: KType) : KLocalDelegatedPropertyImplBase(), KMutableProperty0 { override fun set(value: R): Unit { throw UnsupportedOperationException("Not supported for local property reference.")