JVM_IR: IrSimpleFunction.isOperator

This commit is contained in:
Dmitry Petrov
2019-11-26 16:49:15 +03:00
parent 31b63c0fc8
commit 4591dfdf47
7 changed files with 27 additions and 17 deletions
@@ -148,7 +148,7 @@ private fun IrFunction.suspendFunctionView(context: JvmBackendContext): IrFuncti
startOffset, endOffset, JvmLoweredDeclarationOrigin.SUSPEND_FUNCTION_VIEW, IrSimpleFunctionSymbolImpl(descriptor),
name, visibility, modality, context.irBuiltIns.anyNType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = false
isFakeOverride = false, isOperator = false
).also {
descriptor.bind(it)
it.parent = parent
@@ -253,7 +253,8 @@ class JvmDeclarationFactory(
isTailrec = false,
isSuspend = isSuspend,
isExpect = false,
isFakeOverride = false
isFakeOverride = false,
isOperator = isOperator
).apply {
descriptor.bind(this)
parent = irClass
@@ -215,7 +215,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
newName,
visibility, modality, returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
isOperator = isOperator
).apply {
newDescriptor.bind(this)
parent = this@copyRenamingTo.parent
@@ -250,7 +251,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
isTailrec = false,
isSuspend = signatureFunction.isSuspend,
isExpect = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
isOperator = false
).apply {
descriptor.bind(this)
parent = irClass
@@ -393,7 +395,8 @@ private class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass
Name.identifier(getJvmName()),
visibility, modality, returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = newOrigin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = newOrigin == IrDeclarationOrigin.FAKE_OVERRIDE,
isOperator = isOperator
).apply {
wrappedDescriptor.bind(this)
parent = this@orphanedCopy.parent
@@ -150,7 +150,8 @@ private class JvmOverloadsAnnotationLowering(val context: JvmBackendContext) : C
isTailrec = false,
isSuspend = oldFunction.isSuspend,
isExpect = false,
isFakeOverride = false
isFakeOverride = false,
isOperator = false
).apply {
descriptor.bind(this)
}
@@ -113,7 +113,8 @@ private class CompanionObjectJvmStaticLowering(val context: JvmBackendContext) :
isTailrec = false,
isSuspend = target.isSuspend,
isExpect = false,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
isOperator = false
).apply {
descriptor.bind(this)
parent = irClass
@@ -234,7 +235,8 @@ private class MakeCallsStatic(
name,
visibility, modality, returnType,
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
isOperator = isOperator
).also {
newDescriptor.bind(it)
it.parent = parent
@@ -61,7 +61,8 @@ class StaticInitializersLowering(context: CommonBackendContext) : InitializersLo
isTailrec = false,
isSuspend = false,
isExpect = false,
isFakeOverride = false
isFakeOverride = false,
isOperator = false
).apply {
staticInitializerDescriptor.bind(this)
body = IrBlockBodyImpl(irClass.startOffset, irClass.endOffset,
@@ -88,10 +88,11 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
isTailrec = false,
isSuspend = false,
isExpect = false,
isFakeOverride = false
)
functionDescriptor.bind(irFunction)
irFunction.parent = irClass
isFakeOverride = false,
isOperator = false
)
functionDescriptor.bind(irFunction)
irFunction.parent = irClass
typeParameter.parent = irFunction
irFunction.typeParameters.add(typeParameter)
@@ -161,10 +162,11 @@ private class ToArrayLowering(private val context: JvmBackendContext) : ClassLow
isTailrec = false,
isSuspend = false,
isExpect = false,
isFakeOverride = false
)
functionDescriptor.bind(irFunction)
irFunction.parent = irClass
isFakeOverride = false,
isOperator = false
)
functionDescriptor.bind(irFunction)
irFunction.parent = irClass
val dispatchReceiverParameterDescriptor = WrappedValueParameterDescriptor()
irFunction.dispatchReceiverParameter = IrValueParameterImpl(