JVM IR: Generate LVT entries for parameters in inline $default methods
This commit is contained in:
committed by
max-kammerer
parent
347a984ce0
commit
bef0437edb
+3
-1
@@ -299,7 +299,7 @@ class ExpressionCodegen(
|
||||
}
|
||||
|
||||
private fun writeParameterInLocalVariableTable(startLabel: Label, endLabel: Label) {
|
||||
if (irFunction.origin == IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER) return
|
||||
if (!irFunction.isInline && irFunction.origin == IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER) return
|
||||
if (!irFunction.isStatic) {
|
||||
mv.visitLocalVariable("this", classCodegen.type.descriptor, null, startLabel, endLabel, 0)
|
||||
}
|
||||
@@ -308,6 +308,8 @@ class ExpressionCodegen(
|
||||
writeValueParameterInLocalVariableTable(extensionReceiverParameter, startLabel, endLabel, true)
|
||||
}
|
||||
for (param in irFunction.valueParameters) {
|
||||
if (param.origin == IrDeclarationOrigin.MASK_FOR_DEFAULT_FUNCTION || param.origin == IrDeclarationOrigin.METHOD_HANDLER_IN_DEFAULT_FUNCTION)
|
||||
continue
|
||||
writeValueParameterInLocalVariableTable(param, startLabel, endLabel, false)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user