JVM_IR: IrSimpleFunction.isFakeOverride

This commit is contained in:
Dmitry Petrov
2019-10-22 16:23:12 +03:00
parent f24278941d
commit 5831b08a6e
6 changed files with 20 additions and 10 deletions
@@ -146,7 +146,8 @@ private fun IrFunction.suspendFunctionView(context: JvmBackendContext): IrFuncti
return IrFunctionImpl(
startOffset, endOffset, JvmLoweredDeclarationOrigin.SUSPEND_FUNCTION_VIEW, IrSimpleFunctionSymbolImpl(descriptor),
name, visibility, modality, context.irBuiltIns.anyNType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = false
).also {
descriptor.bind(it)
it.parent = parent
@@ -200,7 +200,8 @@ class JvmDeclarationFactory(
isExternal = false,
isTailrec = false,
isSuspend = isSuspend,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
descriptor.bind(this)
parent = irClass
@@ -205,7 +205,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
IrSimpleFunctionSymbolImpl(newDescriptor),
newName,
visibility, modality, returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).apply {
newDescriptor.bind(this)
parent = this@copyRenamingTo.parent
@@ -239,7 +240,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
isExternal = false,
isTailrec = false,
isSuspend = signatureFunction.isSuspend,
isExpect = false
isExpect = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).apply {
descriptor.bind(this)
parent = irClass
@@ -314,7 +316,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
IrSimpleFunctionSymbolImpl(wrappedDescriptor),
Name.identifier(getJvmName()),
visibility, modality, returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = newOrigin == IrDeclarationOrigin.FAKE_OVERRIDE
).apply {
wrappedDescriptor.bind(this)
parent = this@orphanedCopy.parent
@@ -149,7 +149,8 @@ private class JvmOverloadsAnnotationLowering(val context: JvmBackendContext) : C
isExternal = false,
isTailrec = false,
isSuspend = oldFunction.isSuspend,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
descriptor.bind(this)
}
@@ -112,7 +112,8 @@ private class CompanionObjectJvmStaticLowering(val context: JvmBackendContext) :
isExternal = false,
isTailrec = false,
isSuspend = target.isSuspend,
isExpect = false
isExpect = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).apply {
descriptor.bind(this)
parent = irClass
@@ -232,7 +233,8 @@ private class MakeCallsStatic(
IrSimpleFunctionSymbolImpl(newDescriptor),
name,
visibility, modality, returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).also {
newDescriptor.bind(it)
it.parent = parent
@@ -84,7 +84,8 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
)
functionDescriptor.bind(irFunction)
irFunction.parent = irClass
@@ -154,7 +155,8 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
)
functionDescriptor.bind(irFunction)
irFunction.parent = irClass