[Gradle, JS] Fix delegates
#KT-37582 fixed
This commit is contained in:
+8
-6
@@ -10,17 +10,19 @@ import kotlin.reflect.KProperty
|
||||
open class ProviderDelegate<out T : Any>(
|
||||
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<T : Any>(
|
||||
defaultValueProvider: () -> T
|
||||
) : ProviderDelegate<T>(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
|
||||
|
||||
Reference in New Issue
Block a user