From ee1e0fc0b105977d1959fab6d9e1e79d45c21409 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 10 Feb 2017 20:19:58 +0300 Subject: [PATCH] JS: minor optimization: when attempting to set default value to MetadataProperty, remove value from underlying map --- .../kotlin/js/backend/ast/metadata/MetadataProperty.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/js.ast/src/org/jetbrains/kotlin/js/backend/ast/metadata/MetadataProperty.kt b/js/js.ast/src/org/jetbrains/kotlin/js/backend/ast/metadata/MetadataProperty.kt index 1e1fc99b51c..e107e778148 100644 --- a/js/js.ast/src/org/jetbrains/kotlin/js/backend/ast/metadata/MetadataProperty.kt +++ b/js/js.ast/src/org/jetbrains/kotlin/js/backend/ast/metadata/MetadataProperty.kt @@ -25,6 +25,11 @@ class MetadataProperty(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) + } } }