From 41f5a56cb352868506677e34fc1d152f5457adef Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 20 Mar 2020 10:27:00 +0300 Subject: [PATCH] [Gradle, JS] Fix delegates #KT-37582 fixed --- .../org/jetbrains/kotlin/gradle/utils/Delegates.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt index aa7b0df52eb..1a504afd3b5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt @@ -10,17 +10,19 @@ import kotlin.reflect.KProperty open class ProviderDelegate( private val defaultValueProvider: () -> T ) { - protected open val backing: T? = null - operator fun getValue(thisRef: Any?, property: KProperty<*>): T { - return backing ?: defaultValueProvider() + return defaultValueProvider() } } class PropertyDelegate( - defaultValueProvider: () -> T -) : ProviderDelegate(defaultValueProvider) { - override var backing: T? = null + private val defaultValueProvider: () -> T +) { + private var backing: T? = null + + operator fun getValue(thisRef: Any?, property: KProperty<*>): T { + return backing ?: defaultValueProvider() + } operator fun setValue(thisRef: Any?, property: KProperty<*>, value: T) { backing = value