KT-34770 JS. Configurable properties. Old backend

This commit is contained in:
Victor Turansky
2020-03-24 22:16:54 +03:00
committed by Zalim Bashorov
parent 608a669da1
commit 5652d2657d
@@ -159,10 +159,12 @@ class DeclarationBodyVisitor(
override fun addProperty(descriptor: PropertyDescriptor, getter: JsExpression, setter: JsExpression?) { override fun addProperty(descriptor: PropertyDescriptor, getter: JsExpression, setter: JsExpression?) {
if (!JsDescriptorUtils.isSimpleFinalProperty(descriptor)) { if (!JsDescriptorUtils.isSimpleFinalProperty(descriptor)) {
val literal = JsObjectLiteral(true) val literal = JsObjectLiteral(true).apply {
literal.propertyInitializers += JsPropertyInitializer(JsStringLiteral("get"), getter) propertyInitializers += JsPropertyInitializer(JsStringLiteral("configurable"), JsBooleanLiteral(true))
if (setter != null) { propertyInitializers += JsPropertyInitializer(JsStringLiteral("get"), getter)
literal.propertyInitializers += JsPropertyInitializer(JsStringLiteral("set"), setter) if (setter != null) {
propertyInitializers += JsPropertyInitializer(JsStringLiteral("set"), setter)
}
} }
context.addAccessorsToPrototype(containingClass, descriptor, literal) context.addAccessorsToPrototype(containingClass, descriptor, literal)
} }