[K/JS] chore: stop unnecessary defineProperties generating.

This commit is contained in:
Artem Kobzar
2022-09-09 11:14:26 +00:00
committed by Space
parent 9176ba5b2d
commit da367a467d
11 changed files with 284 additions and 15 deletions
@@ -192,6 +192,16 @@ fun IrValueParameter.createStubDefaultValue(): IrExpressionBody =
IrErrorExpressionImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, type, "Stub expression for default value of $name")
)
val IrProperty.isSimpleProperty: Boolean
get() {
val getterFun = getter
val setterFun = setter
return !isFakeOverride &&
modality === Modality.FINAL &&
(getterFun == null || getterFun.origin == IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR) &&
(setterFun == null || setterFun.origin == IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR)
}
val IrClass.functions: Sequence<IrSimpleFunction>
get() = declarations.asSequence().filterIsInstance<IrSimpleFunction>()