Use fields for spilled variables for lambda parameters as well

In other words, do not generate p$ fields if we can use L$ fields,
which are being cleaned up.
 #KT-16222 Fixed
This commit is contained in:
Ilmir Usmanov
2020-08-11 18:51:14 +02:00
parent f5ab3a445f
commit bcbb050326
16 changed files with 192 additions and 96 deletions
@@ -2,8 +2,8 @@
@kotlin.Metadata
final class LambdaWithLongReceiverKt$box$1$1 {
// source: 'lambdaWithLongReceiver.kt'
private synthetic field J$0: long
field label: int
private synthetic field p$: long
inner (anonymous) class LambdaWithLongReceiverKt$box$1
inner (anonymous) class LambdaWithLongReceiverKt$box$1$1
method <init>(p0: kotlin.coroutines.Continuation): void
@@ -1,7 +1,7 @@
@kotlin.Metadata
final class LambdaWithLongReceiverKt$box$1$1 {
// source: 'lambdaWithLongReceiver.kt'
private synthetic field p$: long
private synthetic field J$0: long
inner (anonymous) class LambdaWithLongReceiverKt$box$1
inner (anonymous) class LambdaWithLongReceiverKt$box$1$1
method <init>(p0: kotlin.coroutines.experimental.Continuation): void
@@ -2,13 +2,13 @@
@kotlin.Metadata
final class LambdaWithMultipleParametersKt$box$1$1 {
// source: 'lambdaWithMultipleParameters.kt'
private synthetic field J$0: long
private synthetic field J$1: long
private synthetic field J$2: long
private synthetic field J$3: long
private synthetic field J$4: long
private synthetic field L$0: java.lang.Object
field label: int
private synthetic field p$0: java.lang.String
private synthetic field p$1: long
private synthetic field p$2: long
private synthetic field p$3: long
private synthetic field p$4: long
private synthetic field p$5: long
inner (anonymous) class LambdaWithMultipleParametersKt$box$1
inner (anonymous) class LambdaWithMultipleParametersKt$box$1$1
method <init>(p0: kotlin.coroutines.Continuation): void
@@ -1,12 +1,12 @@
@kotlin.Metadata
final class LambdaWithMultipleParametersKt$box$1$1 {
// source: 'lambdaWithMultipleParameters.kt'
private synthetic field p$0: java.lang.String
private synthetic field p$1: long
private synthetic field p$2: long
private synthetic field p$3: long
private synthetic field p$4: long
private synthetic field p$5: long
private synthetic field J$0: long
private synthetic field J$1: long
private synthetic field J$2: long
private synthetic field J$3: long
private synthetic field J$4: long
private synthetic field L$0: java.lang.Object
inner (anonymous) class LambdaWithMultipleParametersKt$box$1
inner (anonymous) class LambdaWithMultipleParametersKt$box$1$1
method <init>(p0: kotlin.coroutines.experimental.Continuation): void