JVM: enable -Xlambdas=class in some codegen tests
Most of these tests check the specific structure of lambdas when they are generated as classes, and they start to fail once invokedynamic lambdas are enabled by default.
This commit is contained in:
committed by
Space Team
parent
163afc94bc
commit
cd9209a7ee
@@ -1,5 +1,6 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// IGNORE_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_STDLIB
|
||||
|
||||
class ShouldBeCaptured
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_STDLIB
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_STDLIB
|
||||
|
||||
import java.io.*
|
||||
|
||||
@@ -13,7 +14,7 @@ fun box(): String {
|
||||
var c = '1'
|
||||
var z = true
|
||||
|
||||
val lambda = fun(): String {
|
||||
val lambda = @JvmSerializableLambda fun(): String {
|
||||
o = "OK"
|
||||
b++; d++; f++; i++; j++; s++; c++
|
||||
z = false
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
// IGNORE_BACKEND: WASM
|
||||
// WASM_MUTE_REASON: IGNORED_IN_JS
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND: JS_IR_ES6
|
||||
// TODO: muted automatically, investigate should it be ran for JS or not
|
||||
// IGNORE_BACKEND: JS, NATIVE
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
fun check(expected: String, obj: Any?) {
|
||||
val actual = obj.toString()
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
interface Z {
|
||||
private fun privateFun() = { "OK" }
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
package test
|
||||
|
||||
interface Z {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
// has declaring class on Android 4.4
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// WITH_STDLIB
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
package test
|
||||
|
||||
interface Z {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
import java.util.HashMap
|
||||
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
// SAM_CONVERSIONS: CLASS
|
||||
// ^ SAM-convertion classes created with LambdaMetafactory have 'enclosingMethod' and 'enclosingClass'
|
||||
|
||||
// ^ Lambdas generated by LambdaMetafactory do not have 'enclosingMethod' or 'enclosingClass'
|
||||
// WITH_REFLECT
|
||||
|
||||
package test
|
||||
|
||||
var lambda = {}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
// has declaring class on Android 4.4
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
package test
|
||||
|
||||
class C {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
fun box(): String {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
open class C
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
open class C(val a: Any)
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
// WITH_HELPERS
|
||||
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
package test
|
||||
|
||||
class C {
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
class C {
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
// has declaring class on Android 4.4
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
interface C {
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
open class C(val a: Any)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
// has declaring class on Android 4.4
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_STDLIB
|
||||
|
||||
package test
|
||||
|
||||
class C {
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
val l: Any
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
var _l: Any = ""
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// WITH_REFLECT
|
||||
|
||||
fun box(): String {
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
import java.util.Date
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// WITH_REFLECT
|
||||
// LAMBDAS: CLASS
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// WITH_REFLECT
|
||||
// FULL_JDK
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// LAMBDAS: CLASS
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
// !LANGUAGE: +ProperVisibilityForCompanionObjectInstanceField
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
class Host {
|
||||
private companion object {
|
||||
@@ -8,4 +9,4 @@ class Host {
|
||||
fun test() = { foo() }
|
||||
}
|
||||
|
||||
// 1 synthetic access\$
|
||||
// 1 synthetic access\$
|
||||
|
||||
Vendored
+2
-2
@@ -1,5 +1,5 @@
|
||||
// !LANGUAGE: +ProperVisibilityForCompanionObjectInstanceField
|
||||
|
||||
// LAMBDAS: CLASS
|
||||
// FILE: Base.kt
|
||||
package a
|
||||
|
||||
@@ -17,4 +17,4 @@ class Host : Base() {
|
||||
}
|
||||
|
||||
// @Host.class:
|
||||
// 1 synthetic access\$
|
||||
// 1 synthetic access\$
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
fun test() {
|
||||
|
||||
fun local(){
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
fun test() {
|
||||
{
|
||||
val lam = {}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
fun box(): String {
|
||||
var encl1 = "fail"
|
||||
var encl2 = "fail"
|
||||
|
||||
+3
-1
@@ -1,3 +1,5 @@
|
||||
// LAMBDAS: CLASS
|
||||
|
||||
class A {
|
||||
public var prop = "O"
|
||||
private set
|
||||
@@ -9,4 +11,4 @@ class A {
|
||||
}
|
||||
|
||||
// 0 INVOKESTATIC test\/A\.access\$getProp\$0
|
||||
// 1 INVOKEVIRTUAL A\.getProp
|
||||
// 1 INVOKEVIRTUAL A\.getProp
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// LAMBDAS: CLASS
|
||||
// FILE: test.kt
|
||||
|
||||
// This should *not* have enclosing method <clinit>. See https://youtrack.jetbrains.com/issue/KT-48754.
|
||||
|
||||
Reference in New Issue
Block a user