JVM_IR make proxy funs synthetic, fix some typos

This commit is contained in:
Dmitry Petrov
2021-10-11 18:40:49 +03:00
committed by teamcityserver
parent e0c2a2efd7
commit b184c72e3d
9 changed files with 42 additions and 6 deletions
@@ -338,7 +338,7 @@ internal class FunctionReferenceLowering(private val context: JvmBackendContext)
modality = Modality.FINAL
isSuspend = false
isInline = false
origin = JvmLoweredDeclarationOrigin.PROXY_FUN_FOR_INDY_SAM_CONVESION
origin = JvmLoweredDeclarationOrigin.PROXY_FUN_FOR_INDY_SAM_CONVERSION
}.also { proxyFun ->
proxyFun.parent = currentDeclarationParent
?: throw AssertionError("No declaration parent when processing $reference")
@@ -275,7 +275,7 @@ private class TypeOperatorLowering(private val context: JvmBackendContext) : Fil
val dynamicCallArguments = ArrayList<IrExpression>()
val irDynamicCallTarget = context.irFactory.buildFun {
origin = JvmLoweredDeclarationOrigin.INVOVEDYNAMIC_CALL_TARGET
origin = JvmLoweredDeclarationOrigin.INVOKEDYNAMIC_CALL_TARGET
name = samMethod.name
returnType = erasedSamType
}.apply {
@@ -382,7 +382,7 @@ internal class LambdaMetafactoryArgumentsBuilder(
private val adaptableFunctionOrigins = setOf(
IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA,
JvmLoweredDeclarationOrigin.PROXY_FUN_FOR_INDY_SAM_CONVESION
JvmLoweredDeclarationOrigin.PROXY_FUN_FOR_INDY_SAM_CONVERSION
)
private fun adaptLambdaSignature(
@@ -46,7 +46,7 @@ interface JvmLoweredDeclarationOrigin : IrDeclarationOrigin {
object COMPANION_PROPERTY_BACKING_FIELD : IrDeclarationOriginImpl("COMPANION_PROPERTY_BACKING_FIELD")
object FIELD_FOR_STATIC_CALLABLE_REFERENCE_INSTANCE : IrDeclarationOriginImpl("FIELD_FOR_STATIC_CALLABLE_REFERENCE_INSTANCE")
object ABSTRACT_BRIDGE_STUB : IrDeclarationOriginImpl("ABSTRACT_BRIDGE_STUB")
object INVOVEDYNAMIC_CALL_TARGET : IrDeclarationOriginImpl("INVOVEDYNAMIC_CALL_TARGET")
object INVOKEDYNAMIC_CALL_TARGET : IrDeclarationOriginImpl("INVOKEDYNAMIC_CALL_TARGET")
object INLINE_LAMBDA : IrDeclarationOriginImpl("INLINE_LAMBDA")
object PROXY_FUN_FOR_INDY_SAM_CONVESION : IrDeclarationOriginImpl("PROXY_FUN_FOR_INDY_SAM_CONVESION")
object PROXY_FUN_FOR_INDY_SAM_CONVERSION : IrDeclarationOriginImpl("PROXY_FUN_FOR_INDY_SAM_CONVERSION", isSynthetic = true)
}
@@ -32,7 +32,7 @@ object JvmInvokeDynamic : IntrinsicMethod() {
?: fail("'dynamicCall' is expected to be a call")
val dynamicCallee = dynamicCall.symbol.owner
if (dynamicCallee.parent != codegen.context.ir.symbols.kotlinJvmInternalInvokeDynamicPackage ||
dynamicCallee.origin != JvmLoweredDeclarationOrigin.INVOVEDYNAMIC_CALL_TARGET
dynamicCallee.origin != JvmLoweredDeclarationOrigin.INVOKEDYNAMIC_CALL_TARGET
)
fail("Unexpected dynamicCallee: '${dynamicCallee.render()}'")