JS: minor optimization: when attempting to set default value to MetadataProperty, remove value from underlying map
This commit is contained in:
@@ -25,6 +25,11 @@ class MetadataProperty<in T : HasMetadata, R>(val default: R) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
operator fun setValue(thisRef: T, desc: KProperty<*>, value: R) {
|
operator fun setValue(thisRef: T, desc: KProperty<*>, value: R) {
|
||||||
thisRef.setData(desc.name, value)
|
if (value == default) {
|
||||||
|
thisRef.removeData(desc.name)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
thisRef.setData(desc.name, value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user