JVM: CHECK_BYTECODE_TEST directive + use it in INVOKEDYNAMIC tests

This commit is contained in:
Dmitry Petrov
2021-04-02 16:33:52 +03:00
committed by TeamCityServer
parent ca352c9556
commit 162363a324
119 changed files with 581 additions and 30 deletions
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: capturedSamArgument.kt
fun box(): String {
var lambda = { "OK" }
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: capturingLambda.kt
fun box(): String {
val co = 'O'
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: extensionLambda1.kt
fun samExtLambda(ext: String.() -> String) = Sam(ext)
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: extensionLambda2.kt
fun samExtLambda(ext: String.(String) -> String) = Sam(ext)
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: genericSam1.kt
fun box(): String = Sam<String, String> { "O" + it }.get("K")
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: genericSam2.kt
fun <FT, FR> test(lambda: (FT) -> FR) = Sam(lambda)
@@ -1,6 +1,11 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: simple.kt
val lambda = { "OK" }