Generate synthetic functions for local functions with default values, by
re-ordering the lowering phases. The changes in InterfaceLowering are necessary so that IrElements that target the removed functions are re-targeted to the new functions in DefaultImpls. This affects local functions in interface functions since now LocalDeclarationsLowering comes before InterfaceLowering.
This commit is contained in:
committed by
max-kammerer
parent
d2f1852c5e
commit
1abdf0561a
+2
-2
@@ -190,7 +190,7 @@ class InlineClassLowering(val context: BackendContext) {
|
||||
return expression
|
||||
}
|
||||
|
||||
return irCall(expression, getOrCreateStaticMethod(function), dispatchReceiverAsFirstArgument = false)
|
||||
return irCall(expression, getOrCreateStaticMethod(function), dispatchReceiverAsArgument = false)
|
||||
}
|
||||
|
||||
override fun visitCall(expression: IrCall): IrExpression {
|
||||
@@ -208,7 +208,7 @@ class InlineClassLowering(val context: BackendContext) {
|
||||
return irCall(
|
||||
expression,
|
||||
getOrCreateStaticMethod(function),
|
||||
dispatchReceiverAsFirstArgument = (function is IrSimpleFunction)
|
||||
dispatchReceiverAsArgument = (function is IrSimpleFunction)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user