JS: minor optimization: when attempting to set default value to MetadataProperty, remove value from underlying map

This commit is contained in:
Alexey Andreev
2017-02-10 20:19:58 +03:00
parent ecdf8a9985
commit ee1e0fc0b1
@@ -25,6 +25,11 @@ class MetadataProperty<in T : HasMetadata, R>(val default: 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)
}
}
}