JS_IR: IrField.isFakeOverride

This commit is contained in:
Dmitry Petrov
2019-10-23 18:03:47 +03:00
parent 6101f00611
commit 0b26f32674
3 changed files with 13 additions and 7 deletions
@@ -62,9 +62,10 @@ class JsDeclarationFactory : DeclarationFactory {
name, name,
fieldType, fieldType,
visibility, visibility,
true, isFinal = true,
false, isExternal = false,
false isStatic = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).also { ).also {
descriptor.bind(it) descriptor.bind(it)
it.parent = parent it.parent = parent
@@ -158,9 +158,10 @@ class JsSharedVariablesManager(val builtIns: IrBuiltIns, val implicitDeclaration
fieldName, fieldName,
builtIns.anyNType, builtIns.anyNType,
Visibilities.PUBLIC, Visibilities.PUBLIC,
false, isFinal = false,
false, isExternal = false,
false isStatic = false,
isFakeOverride = false
).also { ).also {
descriptor.bind(it) descriptor.bind(it)
it.parent = closureBoxClassDeclaration it.parent = closureBoxClassDeclaration
@@ -66,7 +66,11 @@ class EnumUsageLowering(val context: JsIrBackendContext) : FileLoweringPass {
val descriptor = WrappedFieldDescriptor() val descriptor = WrappedFieldDescriptor()
val symbol = IrFieldSymbolImpl(descriptor) val symbol = IrFieldSymbolImpl(descriptor)
return entry.run { return entry.run {
IrFieldImpl(startOffset, endOffset, origin, symbol, name, irClass.defaultType, Visibilities.PUBLIC, false, true, true).also { IrFieldImpl(
startOffset, endOffset, origin, symbol, name, irClass.defaultType, Visibilities.PUBLIC,
isFinal = false, isExternal = true, isStatic = true,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).also {
descriptor.bind(it) descriptor.bind(it)
it.parent = irClass it.parent = irClass
irClass.declarations += it irClass.declarations += it