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