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( return IrFunctionImpl(
startOffset, endOffset, JvmLoweredDeclarationOrigin.SUSPEND_FUNCTION_VIEW, IrSimpleFunctionSymbolImpl(descriptor), startOffset, endOffset, JvmLoweredDeclarationOrigin.SUSPEND_FUNCTION_VIEW, IrSimpleFunctionSymbolImpl(descriptor),
name, visibility, modality, context.irBuiltIns.anyNType, 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 { ).also {
descriptor.bind(it) descriptor.bind(it)
it.parent = parent it.parent = parent
@@ -200,7 +200,8 @@ class JvmDeclarationFactory(
isExternal = false, isExternal = false,
isTailrec = false, isTailrec = false,
isSuspend = isSuspend, isSuspend = isSuspend,
isExpect = false isExpect = false,
isFakeOverride = false
).apply { ).apply {
descriptor.bind(this) descriptor.bind(this)
parent = irClass parent = irClass
@@ -205,7 +205,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
IrSimpleFunctionSymbolImpl(newDescriptor), IrSimpleFunctionSymbolImpl(newDescriptor),
newName, newName,
visibility, modality, returnType, 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 { ).apply {
newDescriptor.bind(this) newDescriptor.bind(this)
parent = this@copyRenamingTo.parent parent = this@copyRenamingTo.parent
@@ -239,7 +240,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
isExternal = false, isExternal = false,
isTailrec = false, isTailrec = false,
isSuspend = signatureFunction.isSuspend, isSuspend = signatureFunction.isSuspend,
isExpect = false isExpect = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).apply { ).apply {
descriptor.bind(this) descriptor.bind(this)
parent = irClass parent = irClass
@@ -314,7 +316,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
IrSimpleFunctionSymbolImpl(wrappedDescriptor), IrSimpleFunctionSymbolImpl(wrappedDescriptor),
Name.identifier(getJvmName()), Name.identifier(getJvmName()),
visibility, modality, returnType, 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 { ).apply {
wrappedDescriptor.bind(this) wrappedDescriptor.bind(this)
parent = this@orphanedCopy.parent parent = this@orphanedCopy.parent
@@ -149,7 +149,8 @@ private class JvmOverloadsAnnotationLowering(val context: JvmBackendContext) : C
isExternal = false, isExternal = false,
isTailrec = false, isTailrec = false,
isSuspend = oldFunction.isSuspend, isSuspend = oldFunction.isSuspend,
isExpect = false isExpect = false,
isFakeOverride = false
).apply { ).apply {
descriptor.bind(this) descriptor.bind(this)
} }
@@ -112,7 +112,8 @@ private class CompanionObjectJvmStaticLowering(val context: JvmBackendContext) :
isExternal = false, isExternal = false,
isTailrec = false, isTailrec = false,
isSuspend = target.isSuspend, isSuspend = target.isSuspend,
isExpect = false isExpect = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
).apply { ).apply {
descriptor.bind(this) descriptor.bind(this)
parent = irClass parent = irClass
@@ -232,7 +233,8 @@ private class MakeCallsStatic(
IrSimpleFunctionSymbolImpl(newDescriptor), IrSimpleFunctionSymbolImpl(newDescriptor),
name, name,
visibility, modality, returnType, 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 { ).also {
newDescriptor.bind(it) newDescriptor.bind(it)
it.parent = parent it.parent = parent
@@ -84,7 +84,8 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
isExternal = false, isExternal = false,
isTailrec = false, isTailrec = false,
isSuspend = false, isSuspend = false,
isExpect = false isExpect = false,
isFakeOverride = false
) )
functionDescriptor.bind(irFunction) functionDescriptor.bind(irFunction)
irFunction.parent = irClass irFunction.parent = irClass
@@ -154,7 +155,8 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
isExternal = false, isExternal = false,
isTailrec = false, isTailrec = false,
isSuspend = false, isSuspend = false,
isExpect = false isExpect = false,
isFakeOverride = false
) )
functionDescriptor.bind(irFunction) functionDescriptor.bind(irFunction)
irFunction.parent = irClass irFunction.parent = irClass