JVM_IR indy: use 'CLASS' mode in SAM bytecode listing tests

KT-44278 KT-26060 KT-42621
This commit is contained in:
Dmitry Petrov
2021-02-09 10:26:50 +03:00
parent 7564c9bb8c
commit 3438d19c22
22 changed files with 103 additions and 11 deletions
@@ -17,7 +17,9 @@ enum class JvmClosureGenerationScheme(
val DEFAULT = CLASS
@JvmStatic
fun fromString(string: String?) =
values().find { it.description == string }
fun fromString(string: String?): JvmClosureGenerationScheme? {
val lowerStr = string?.toLowerCase() ?: return null
return values().find { it.description == lowerStr }
}
}
}
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
+1 -1
View File
@@ -1,4 +1,4 @@
// SAM_CONVERSIONS: CLASS
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
fun main(x: DataStream<Int>) {
@@ -1,7 +1,31 @@
@kotlin.Metadata
final class<<IN:Ljava/lang/Object;KEY:Ljava/lang/Object;>Ljava/lang/Object;LKeySelector<Ljava/lang/Integer;Ljava/lang/Long;>;> TKt$main$1 {
// source: 't.kt'
static <null> method <clinit>(): void
<null> method <init>(): void
public final <null> method getKey(p0: java.lang.Integer): java.lang.Long
public synthetic bridge <null> method getKey(p0: java.lang.Object): java.lang.Object
enclosing method TKt.main(LDataStream;)V
public final static field <LTKt$main$1<TIN;TKEY;>;> INSTANCE: TKt$main$1
inner (anonymous) class TKt$main$1
}
@kotlin.Metadata
final class<<IN:Ljava/lang/Object;KEY:Ljava/lang/Object;>Ljava/lang/Object;LKeySelector<Ljava/lang/Integer;Ljava/lang/Long;>;> TKt$main$2 {
// source: 't.kt'
static <null> method <clinit>(): void
<null> method <init>(): void
public final <null> method getKey(p0: java.lang.Integer): java.lang.Long
public synthetic bridge <null> method getKey(p0: java.lang.Object): java.lang.Object
enclosing method TKt.main(LDataStream;)V
public final static field <LTKt$main$2<TIN;TKEY;>;> INSTANCE: TKt$main$2
inner (anonymous) class TKt$main$2
}
@kotlin.Metadata
public final class<null> TKt {
// source: 't.kt'
public final static <(LDataStream<Ljava/lang/Integer;>;)V> method main(@org.jetbrains.annotations.NotNull p0: DataStream): void
private final static <null> method main$lambda-0(p0: java.lang.Integer): java.lang.Long
private final static <null> method main$lambda-1(p0: java.lang.Integer): java.lang.Long
inner (anonymous) class TKt$main$1
inner (anonymous) class TKt$main$2
}
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -4,10 +4,20 @@ public interface<<T:Ljava/lang/Object;>Ljava/lang/Object;> Sam {
public abstract <()TT;> method get(): java.lang.Object
}
@kotlin.Metadata
final class<<T:Ljava/lang/Object;>Ljava/lang/Object;LSam<TT;>;> TKt$genericSamGet$1 {
// source: 't.kt'
public final <()TT;> method get(): java.lang.Object
<(Lkotlin/jvm/functions/Function0<+TT;>;)V> method <init>(p0: kotlin.jvm.functions.Function0): void
enclosing method TKt.genericSamGet(Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
synthetic final field <Lkotlin/jvm/functions/Function0<TT;>;> $f: kotlin.jvm.functions.Function0
inner (anonymous) class TKt$genericSamGet$1
}
@kotlin.Metadata
public final class<null> TKt {
// source: 't.kt'
public final static <<T:Ljava/lang/Object;>(LSam<TT;>;)TT;> method expectsSam(@org.jetbrains.annotations.NotNull p0: Sam): java.lang.Object
private final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSamGet$lambda-0(p0: kotlin.jvm.functions.Function0): java.lang.Object
public final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSamGet(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Object
inner (anonymous) class TKt$genericSamGet$1
}
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,8 +1,28 @@
@kotlin.Metadata
final class<<T:Ljava/lang/Object;>Ljava/lang/Object;LSam<TT;>;> TKt$genericSam$1 {
// source: 't.kt'
public final <()TT;> method get(): java.lang.Object
<(Lkotlin/jvm/functions/Function0<+TT;>;)V> method <init>(p0: kotlin.jvm.functions.Function0): void
enclosing method TKt.genericSam(Lkotlin/jvm/functions/Function0;)LSam;
synthetic final field <Lkotlin/jvm/functions/Function0<TT;>;> $f: kotlin.jvm.functions.Function0
inner (anonymous) class TKt$genericSam$1
}
@kotlin.Metadata
final class<<T:Ljava/lang/Object;>Ljava/lang/Object;LSam<TT;>;> TKt$genericSamGet$1 {
// source: 't.kt'
public final <()TT;> method get(): java.lang.Object
<(Lkotlin/jvm/functions/Function0<+TT;>;)V> method <init>(p0: kotlin.jvm.functions.Function0): void
enclosing method TKt.genericSamGet(Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
synthetic final field <Lkotlin/jvm/functions/Function0<TT;>;> $f: kotlin.jvm.functions.Function0
inner (anonymous) class TKt$genericSamGet$1
}
@kotlin.Metadata
public final class<null> TKt {
// source: 't.kt'
public final static @org.jetbrains.annotations.NotNull <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)LSam<TT;>;> method genericSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): Sam
private final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSam$lambda-0(p0: kotlin.jvm.functions.Function0): java.lang.Object
private final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSamGet$lambda-1(p0: kotlin.jvm.functions.Function0): java.lang.Object
public final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSamGet(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Object
inner (anonymous) class TKt$genericSam$1
inner (anonymous) class TKt$genericSamGet$1
}
@@ -1,4 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -4,10 +4,21 @@ public interface<<T:Ljava/lang/Object;>Ljava/lang/Object;> Sam {
public abstract <()TT;> method get(): java.lang.Object
}
@kotlin.Metadata
final class<<T:Ljava/lang/Object;>Ljava/lang/Object;LSam<Ljava/lang/String;>;> TKt$specializedSam$1 {
// source: 't.kt'
<(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)V> method <init>(p0: kotlin.jvm.functions.Function0): void
public synthetic bridge <null> method get(): java.lang.Object
public final @org.jetbrains.annotations.NotNull <null> method get(): java.lang.String
enclosing method TKt.specializedSam(Lkotlin/jvm/functions/Function0;)Ljava/lang/String;
synthetic final field <Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;> $f: kotlin.jvm.functions.Function0
inner (anonymous) class TKt$specializedSam$1
}
@kotlin.Metadata
public final class<null> TKt {
// source: 't.kt'
private final static <(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)Ljava/lang/String;> method specializedSam$lambda-0(p0: kotlin.jvm.functions.Function0): java.lang.String
public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)Ljava/lang/String;> method specializedSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.String
public final static <<T:Ljava/lang/Object;>(LSam<TT;>;)TT;> method expectsSam(@org.jetbrains.annotations.NotNull p0: Sam): java.lang.Object
inner (anonymous) class TKt$specializedSam$1
}
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,6 +1,17 @@
@kotlin.Metadata
final class<<T:Ljava/lang/Object;>Ljava/lang/Object;LSam<Ljava/lang/String;>;> TKt$specializedSam$1 {
// source: 't.kt'
<(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)V> method <init>(p0: kotlin.jvm.functions.Function0): void
public synthetic bridge <null> method get(): java.lang.Object
public final <null> method get(): java.lang.String
enclosing method TKt.specializedSam(Lkotlin/jvm/functions/Function0;)Ljava/lang/String;
synthetic final field <Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;> $f: kotlin.jvm.functions.Function0
inner (anonymous) class TKt$specializedSam$1
}
@kotlin.Metadata
public final class<null> TKt {
// source: 't.kt'
private final static <(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)Ljava/lang/String;> method specializedSam$lambda-0(p0: kotlin.jvm.functions.Function0): java.lang.String
public final static <(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)Ljava/lang/String;> method specializedSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.String
inner (anonymous) class TKt$specializedSam$1
}
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_RUNTIME
class A {
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
package test
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
// WITH_SIGNATURES
// FILE: t.kt
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
class A {
fun test1a() = B().runnable1()
fun test1b() = B().runnable1()