[JS IR] Fix usages of 'IrDeclarationOrigin.FAKE_OVERRIDE'

This commit is contained in:
Roman Artemev
2020-03-27 13:35:58 +03:00
committed by romanart
parent e4ad6698fb
commit 0480f2d170
7 changed files with 10 additions and 6 deletions
@@ -67,7 +67,7 @@ class JsDeclarationFactory(mapping: JsMapping) : DeclarationFactory {
isFinal = true,
isExternal = false,
isStatic = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = false
).also {
descriptor.bind(it)
it.parent = parent
@@ -93,6 +93,7 @@ object JsIrBuilder {
isTailrec: Boolean = false,
isSuspend: Boolean = false,
isExpect: Boolean = false,
isFakeOverride: Boolean = false,
origin: IrDeclarationOrigin = SYNTHESIZED_DECLARATION
) = buildFunction(
Name.identifier(name),
@@ -105,6 +106,7 @@ object JsIrBuilder {
isTailrec = isTailrec,
isSuspend = isSuspend,
isExpect = isExpect,
isFakeOverride = isFakeOverride,
origin = origin
)
@@ -120,6 +122,7 @@ object JsIrBuilder {
isSuspend: Boolean = false,
isExpect: Boolean = false,
isOperator: Boolean = false,
isFakeOverride: Boolean = false,
origin: IrDeclarationOrigin = SYNTHESIZED_DECLARATION
): IrSimpleFunction {
val descriptor = WrappedSimpleFunctionDescriptor()
@@ -137,7 +140,7 @@ object JsIrBuilder {
isTailrec = isTailrec,
isSuspend = isSuspend,
isExpect = isExpect,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
isFakeOverride = isFakeOverride,
isOperator = isOperator
).also {
descriptor.bind(it)
@@ -132,6 +132,7 @@ class BridgesConstruction(val context: CommonBackendContext) : DeclarationTransf
isTailrec = bridge.isTailrec,
isSuspend = bridge.isSuspend,
isExpect = bridge.isExpect,
isFakeOverride = false,
origin = origin
).apply {
copyTypeParametersFrom(bridge)
@@ -70,7 +70,7 @@ class EnumUsageLowering(val context: JsIrBackendContext) : BodyLoweringPass {
IrFieldImpl(
startOffset, endOffset, origin, symbol, name, irClass.defaultType, Visibilities.PUBLIC,
isFinal = false, isExternal = true, isStatic = true,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = entry.isFakeOverride
).also {
descriptor.bind(it)
it.parent = irClass
@@ -59,7 +59,7 @@ class PrivateMembersLowering(val context: JsIrBackendContext) : DeclarationTrans
symbol, name, visibility, modality,
returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
isFakeOverride = isFakeOverride,
isOperator = isOperator
).also {
descriptor.bind(it)
@@ -117,7 +117,7 @@ class EqualityAndComparisonCallsTransformer(context: JsIrBackendContext) : Calls
if (function.parent !is IrClass) return call
fun IrSimpleFunction.isFakeOverriddenFromComparable(): Boolean = when {
origin != IrDeclarationOrigin.FAKE_OVERRIDE ->
!isFakeOverride ->
!isStaticMethodOfClass && parentAsClass.thisReceiver!!.type.isComparable()
else -> overriddenSymbols.all { it.owner.isFakeOverriddenFromComparable() }
@@ -71,7 +71,7 @@ class JsClassGenerator(private val irClass: IrClass, val context: JsGenerationCo
if (property.visibility != Visibilities.PUBLIC)
continue
if (property.origin == IrDeclarationOrigin.FAKE_OVERRIDE)
if (property.isFakeOverride)
continue
fun IrSimpleFunction.accessorRef(): JsNameRef? =