JVM_IR: fields for suspend lambda parameters are synthetic

This commit is contained in:
Dmitry Petrov
2020-07-20 12:33:23 +03:00
parent bae6037f00
commit 6bc44a366a
@@ -176,7 +176,13 @@ private class AddContinuationLowering(private val context: JvmBackendContext) :
val receiverField = info.function.extensionReceiverParameter?.let {
assert(info.arity != 0)
// Do not put '$' at the start, to avoid being caught by inlineCodegenUtils.isCapturedFieldName()
addField("p\$", it.type)
addField {
name = Name.identifier("p\$")
// NB extension receiver can't be crossinline
origin = LocalDeclarationsLowering.DECLARATION_ORIGIN_FIELD_FOR_CAPTURED_VALUE
type = it.type
visibility = Visibilities.PRIVATE
}
}
val parametersFields = info.function.valueParameters.map {