3b2843fe7a
CheckLocalVariablesTableTests will now check the validity of the locals table against types of locals computed based on the bytecode. These checks and the new destructuringInFor test act as a regression test for the changes in https://github.com/JetBrains/kotlin/pull/2613 These checks also caught a similar issue for destructuring lambda parameters, where the local is introduced before the value has been written to the local slot. This change also fixes that. Finally, this change fixes the asmLike tests to correctly look up the name of parameters in the locals table.
69 lines
2.0 KiB
Plaintext
Vendored
69 lines
2.0 KiB
Plaintext
Vendored
final class DeepNoinlineWithLabels_beforeKt$foo$1$1$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function1 {
|
|
final boolean $z
|
|
|
|
final long receiver$0
|
|
|
|
final DeepNoinlineWithLabels_beforeKt$foo$1$1 this$0
|
|
|
|
void <init>(DeepNoinlineWithLabels_beforeKt$foo$1$1 p0, long p1, boolean p2)
|
|
|
|
public java.lang.Object invoke(java.lang.Object p0)
|
|
|
|
public final void invoke(long $receiver) {
|
|
Local variables:
|
|
0 this: LDeepNoinlineWithLabels_beforeKt$foo$1$1$1;
|
|
1 $receiver: J
|
|
}
|
|
}
|
|
|
|
final class DeepNoinlineWithLabels_beforeKt$foo$1$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function1 {
|
|
final boolean $y
|
|
|
|
final long receiver$0
|
|
|
|
final DeepNoinlineWithLabels_beforeKt$foo$1 this$0
|
|
|
|
void <init>(DeepNoinlineWithLabels_beforeKt$foo$1 p0, long p1, boolean p2)
|
|
|
|
public java.lang.Object invoke(java.lang.Object p0)
|
|
|
|
public final void invoke(long $receiver) {
|
|
Local variables:
|
|
3 z: Z
|
|
0 this: LDeepNoinlineWithLabels_beforeKt$foo$1$1;
|
|
1 $receiver: J
|
|
}
|
|
}
|
|
|
|
final class DeepNoinlineWithLabels_beforeKt$foo$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function1 {
|
|
final int $count
|
|
|
|
final boolean $x
|
|
|
|
final java.lang.String receiver$0
|
|
|
|
void <init>(java.lang.String p0, boolean p1, int p2)
|
|
|
|
public java.lang.Object invoke(java.lang.Object p0)
|
|
|
|
public final void invoke(long $receiver) {
|
|
Local variables:
|
|
3 y: Z
|
|
0 this: LDeepNoinlineWithLabels_beforeKt$foo$1;
|
|
1 $receiver: J
|
|
}
|
|
}
|
|
|
|
public final class DeepNoinlineWithLabels_beforeKt : java/lang/Object {
|
|
public final static void block(kotlin.jvm.functions.Function1 block) {
|
|
Local variables:
|
|
0 block: Lkotlin/jvm/functions/Function1;
|
|
}
|
|
|
|
public final static void foo(java.lang.String $receiver, int count) {
|
|
Local variables:
|
|
2 x: Z
|
|
0 $receiver: Ljava/lang/String;
|
|
1 count: I
|
|
}
|
|
} |