From 5652d2657d1c943fbed7769fa4a664b03a38c8cf Mon Sep 17 00:00:00 2001 From: Victor Turansky Date: Tue, 24 Mar 2020 22:16:54 +0300 Subject: [PATCH] KT-34770 JS. Configurable properties. Old backend --- .../js/translate/declaration/DeclarationBodyVisitor.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/DeclarationBodyVisitor.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/DeclarationBodyVisitor.kt index d059efbd7c0..92888800244 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/DeclarationBodyVisitor.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/DeclarationBodyVisitor.kt @@ -159,10 +159,12 @@ class DeclarationBodyVisitor( override fun addProperty(descriptor: PropertyDescriptor, getter: JsExpression, setter: JsExpression?) { if (!JsDescriptorUtils.isSimpleFinalProperty(descriptor)) { - val literal = JsObjectLiteral(true) - literal.propertyInitializers += JsPropertyInitializer(JsStringLiteral("get"), getter) - if (setter != null) { - literal.propertyInitializers += JsPropertyInitializer(JsStringLiteral("set"), setter) + val literal = JsObjectLiteral(true).apply { + propertyInitializers += JsPropertyInitializer(JsStringLiteral("configurable"), JsBooleanLiteral(true)) + propertyInitializers += JsPropertyInitializer(JsStringLiteral("get"), getter) + if (setter != null) { + propertyInitializers += JsPropertyInitializer(JsStringLiteral("set"), setter) + } } context.addAccessorsToPrototype(containingClass, descriptor, literal) }