[IR] IrSimpleFunction.isFakeOverride(843fb88459) and IrField.isFakeOverride(edaa42ea46)

This commit is contained in:
Vasily Levchenko
2019-11-04 19:14:56 +01:00
parent 39ebffba79
commit c88ca6befc
16 changed files with 46 additions and 22 deletions
@@ -72,7 +72,8 @@ internal val Context.getBoxFunction: (IrClass) -> IrSimpleFunction by Context.la
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).also { function ->
function.valueParameters.add(WrappedValueParameterDescriptor().let {
IrValueParameterImpl(
@@ -124,7 +125,8 @@ internal val Context.getUnboxFunction: (IrClass) -> IrSimpleFunction by Context.
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).also { function ->
function.valueParameters.add(WrappedValueParameterDescriptor().let {
IrValueParameterImpl(
@@ -141,7 +141,8 @@ internal class SpecialDeclarationsFactory(val context: Context) : KotlinMangler
isTailrec = false,
isSuspend = function.isSuspend,
returnType = returnType,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
descriptor.bind(this)
parent = function.parent
@@ -40,7 +40,8 @@ internal fun makeEntryPoint(context: Context): IrFunction {
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).also { function ->
function.valueParameters.add(WrappedValueParameterDescriptor().let {
IrValueParameterImpl(
@@ -76,7 +76,8 @@ internal class EnumSpecialDeclarationsFactory(val context: Context) {
Visibilities.PRIVATE,
isFinal = true,
isExternal = false,
isStatic = false
isStatic = false,
isFakeOverride = false
).apply {
it.bind(this)
parent = implObject
@@ -96,7 +97,8 @@ internal class EnumSpecialDeclarationsFactory(val context: Context) {
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
parent = implObject
@@ -571,7 +571,8 @@ private fun KotlinStubs.createFakeKotlinExternalFunction(
isExternal = true,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
)
bridgeDescriptor.bind(bridge)
@@ -1261,7 +1262,8 @@ private class ObjCBlockPointerValuePassing(
overriddenInvokeMethod.name,
Visibilities.PUBLIC, Modality.FINAL,
returnType = functionType.arguments.last().typeOrNull!!,
isInline = false, isExternal = false, isTailrec = false, isSuspend = false, isExpect = false
isInline = false, isExternal = false, isTailrec = false, isSuspend = false, isExpect = false,
isFakeOverride = false
)
invokeMethodDescriptor.bind(invokeMethod)
invokeMethod.overriddenSymbols += overriddenInvokeMethod.symbol
@@ -116,7 +116,8 @@ private fun createKotlinBridge(
isExternal = isExternal,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
)
bridgeDescriptor.bind(bridge)
if (isExternal) {
@@ -394,7 +394,8 @@ private class InlineClassTransformer(private val context: Context) : IrBuildingT
Visibilities.PRIVATE,
isFinal = true,
isExternal = false,
isStatic = false
isStatic = false,
isFakeOverride = false
)
irField.parent = declaration
@@ -502,7 +503,8 @@ private val Context.getLoweredInlineClassConstructor: (IrConstructor) -> IrSimpl
isTailrec = false,
isSuspend = false,
returnType = irConstructor.returnType,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
descriptor.bind(this)
parent = irConstructor.parent
@@ -83,7 +83,8 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain
isTailrec = false,
isSuspend = false,
returnType = context.irBuiltIns.anyNType,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
}
@@ -309,7 +309,8 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass
isExternal = false,
isTailrec = false,
isSuspend = superFunction.isSuspend,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
val function = this
@@ -101,7 +101,8 @@ internal class PropertyDelegationLowering(val context: Context) : FileLoweringPa
Visibilities.PRIVATE,
isFinal = true,
isExternal = false,
isStatic = true
isStatic = true,
isFakeOverride = false
).apply {
it.bind(this)
parent = irFile
@@ -187,6 +187,7 @@ internal class FinallyBlocksLowering(val context: Context): FileLoweringPass, Ir
false,
false,
false,
false,
false)
)
return descriptor
@@ -108,7 +108,8 @@ internal class InitializersLowering(val context: CommonBackendContext) : ClassLo
isSuspend = false,
isExternal = false,
isTailrec = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
parent = irClass
@@ -234,7 +234,8 @@ internal class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfo
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).also { result ->
resultDescriptor.bind(result)
result.parent = irClass
@@ -376,7 +377,8 @@ internal class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfo
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
}
@@ -488,7 +488,8 @@ internal class NativeSuspendFunctionsLowering(ctx: Context): AbstractSuspendFunc
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
}
@@ -507,7 +508,8 @@ internal class NativeSuspendFunctionsLowering(ctx: Context): AbstractSuspendFunc
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
it.bind(this)
}
@@ -350,7 +350,8 @@ internal class TestProcessor (val context: Context) {
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
descriptor.bind(this)
parent = owner
@@ -387,7 +388,8 @@ internal class TestProcessor (val context: Context) {
isExternal = false,
isTailrec = false,
isSuspend = false,
isExpect = false
isExpect = false,
isFakeOverride = false
).apply {
descriptor.bind(this)
parent = owner
@@ -73,7 +73,8 @@ internal fun IrFile.addTopLevelInitializer(expression: IrExpression, context: Ko
Visibilities.PRIVATE,
isFinal = true,
isExternal = false,
isStatic = true
isStatic = true,
isFakeOverride = false
).apply {
descriptor.bind(this)
@@ -367,6 +368,7 @@ fun createField(
Visibilities.PRIVATE,
!isMutable,
false,
false,
false
).apply {
it.bind(this)