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) {
|
||||
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