JVM: CHECK_BYTECODE_TEST directive + use it in INVOKEDYNAMIC tests
This commit is contained in:
committed by
TeamCityServer
parent
ca352c9556
commit
162363a324
+6
@@ -1,6 +1,12 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// SAM_CONVERSIONS: INDY
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 0 java/lang/invoke/LambdaMetafactory
|
||||
// 1 final synthetic class AdaptedFunRefWithCoercionToUnitKt\$box\$[0-9]+
|
||||
|
||||
// FILE: adaptedFunRefWithCoercionToUnit.kt
|
||||
var ok = "Failed"
|
||||
|
||||
|
||||
+6
@@ -1,6 +1,12 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// SAM_CONVERSIONS: INDY
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 0 java/lang/invoke/LambdaMetafactory
|
||||
// 1 final synthetic class AdaptedFunRefWithDefaultParametersKt\$box\$[0-9]+
|
||||
|
||||
// FILE: adaptedFunRefWithDefaultParameters.kt
|
||||
var ok = "Failed"
|
||||
|
||||
|
||||
+6
@@ -1,6 +1,12 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// SAM_CONVERSIONS: INDY
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 0 java/lang/invoke/LambdaMetafactory
|
||||
// 1 final synthetic class AdaptedFunRefWithVarargKt\$box\$[0-9]+
|
||||
|
||||
// FILE: adaptedFunRefWithVararg.kt
|
||||
var ok = "Failed"
|
||||
|
||||
|
||||
+5
@@ -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: boundExtFun.kt
|
||||
fun String.k(s: String) = this + s + "K"
|
||||
|
||||
|
||||
+5
@@ -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: boundInnerConstructorRef.kt
|
||||
class Outer(val s1: String) {
|
||||
inner class Inner(val s2: String) {
|
||||
|
||||
Vendored
+5
@@ -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: boundLocalExtFun.kt
|
||||
fun box(): String {
|
||||
fun String.k(s: String) = this + s + "K"
|
||||
|
||||
Vendored
+5
@@ -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: boundMemberRef.kt
|
||||
class C(val t: String) {
|
||||
fun test() = t
|
||||
|
||||
+4
@@ -4,6 +4,10 @@
|
||||
// WITH_RUNTIME
|
||||
// FULL_JDK
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 2 java/lang/invoke/LambdaMetafactory
|
||||
|
||||
// FILE: boundRefToSuperClassMethod.kt
|
||||
|
||||
class Impl(val set1: Set<String>, val set2: Set<String>) : JDerived() {
|
||||
|
||||
+4
@@ -4,6 +4,10 @@
|
||||
// WITH_RUNTIME
|
||||
// FULL_JDK
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 2 java/lang/invoke/LambdaMetafactory
|
||||
|
||||
// FILE: boundRefToSuperInterfaceMethod.kt
|
||||
|
||||
class Impl(val set1: Set<String>, val set2: Set<String>) : JDerived {
|
||||
|
||||
Vendored
+5
@@ -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: constructorRef.kt
|
||||
class C(val t: String)
|
||||
|
||||
|
||||
Vendored
+5
@@ -2,6 +2,11 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// JVM_TARGET: 1.8
|
||||
// SAM_CONVERSIONS: INDY
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 1 java/lang/invoke/LambdaMetafactory
|
||||
|
||||
// FILE: enhancedNullability.kt
|
||||
fun mul2(x: Int) = x * 2
|
||||
|
||||
|
||||
Vendored
+5
@@ -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: innerConstructorRef.kt
|
||||
class Outer(val s1: String) {
|
||||
inner class Inner(val s2: String) {
|
||||
|
||||
Vendored
+5
@@ -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: intReturnTypeAsNumber.kt
|
||||
|
||||
fun box(): String {
|
||||
|
||||
Vendored
+5
@@ -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: interfaceMemberRef.kt
|
||||
interface IFoo {
|
||||
fun foo(): String
|
||||
|
||||
+5
@@ -5,6 +5,11 @@
|
||||
// FULL_JDK
|
||||
// IGNORE_DEXING
|
||||
// ^ D8 fails with AssertionError, possible reason: only Kotlin output files are passed to D8
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 1 java/lang/invoke/LambdaMetafactory
|
||||
|
||||
// FILE: kt45581.kt
|
||||
|
||||
fun box(): String = J.bar(emptySet<String>()::contains)
|
||||
|
||||
Vendored
+5
@@ -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: localFunction1.kt
|
||||
fun box(): String {
|
||||
fun ok() = "OK"
|
||||
|
||||
Vendored
+5
@@ -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: localFunction2.kt
|
||||
fun box(): String {
|
||||
val t = "O"
|
||||
|
||||
+5
@@ -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: memberRef.kt
|
||||
class C(val t: String) {
|
||||
fun test() = t
|
||||
|
||||
Vendored
+5
@@ -2,6 +2,11 @@
|
||||
// JVM_TARGET: 1.8
|
||||
// SAM_CONVERSIONS: INDY
|
||||
// WITH_RUNTIME
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 1 java/lang/invoke/LambdaMetafactory
|
||||
|
||||
// FILE: JavaRunner.java
|
||||
public class JavaRunner {
|
||||
public static void runTwice(Runnable runnable) {
|
||||
|
||||
+5
@@ -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: nothingReturnTypeAsObject.kt
|
||||
|
||||
fun interface IFoo<T> {
|
||||
|
||||
+5
@@ -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: nothingReturnTypeAsString.kt
|
||||
|
||||
fun interface IFoo<T> {
|
||||
|
||||
+5
@@ -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: nullableNothingReturnTypeAsObject.kt
|
||||
|
||||
fun interface IFoo<T> {
|
||||
|
||||
+5
@@ -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: nullableNothingReturnTypeAsString.kt
|
||||
|
||||
fun interface IFoo<T> {
|
||||
|
||||
+5
@@ -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
|
||||
fun ok() = "OK"
|
||||
|
||||
|
||||
compiler/testData/codegen/box/invokedynamic/sam/functionRefToJavaInterface/voidReturnTypeAsObject.kt
Vendored
+6
@@ -1,6 +1,12 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// SAM_CONVERSIONS: INDY
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 0 java/lang/invoke/LambdaMetafactory
|
||||
// 1 final synthetic class VoidReturnTypeAsObjectKt\$box\$r\$[0-9]+
|
||||
|
||||
// FILE: voidReturnTypeAsObject.kt
|
||||
var t = "Failed"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user