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