Remove LANGUAGE_VERSION from non-coroutine codegen tests

Most of these tests used this directive as a way to opt in to a new
language feature, and most of those features are already stable for a
long time, so no opt-in is needed. Some other tests used the directive
to opt out from a language feature, replace those by the `LANGUAGE`
directive. One test used the directive to test behavior that actually
depended on the API version; use `API_VERSION` directive there instead.
This commit is contained in:
Alexander Udalov
2018-12-17 16:27:16 +01:00
parent e3c381a298
commit 5b58eb8491
86 changed files with 120 additions and 397 deletions
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
var result = ""
@@ -1,6 +1,5 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
// WITH_REFLECT
// IGNORE_BACKEND: JS
@@ -1,6 +1,5 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
// WITH_REFLECT
// IGNORE_BACKEND: JS
@@ -37,4 +36,4 @@ fun box(): String {
}
return "OK"
}
}
@@ -1,6 +1,5 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
// WITH_REFLECT
// IGNORE_BACKEND: JS
@@ -1,6 +1,5 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
// WITH_REFLECT
// IGNORE_BACKEND: JS
@@ -39,4 +38,4 @@ fun box(): String {
check(e.contentEquals(doubleArrayOf(1.0)), "Fail 5: ${e.joinToString()}")
"OK"
}
}
}
@@ -1,6 +1,6 @@
// !LANGUAGE: -DataClassInheritance
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.0
data class Foo(val s: String)
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.3
class Test {
private companion object {
val res = "OK"
@@ -1,8 +1,8 @@
// !LANGUAGE: -ProperForInArrayLoopRangeVariableAssignmentSemantic
// IGNORE_BACKEND: NATIVE
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.2
// IGNORE_BACKEND: JS
fun box(): String {
@@ -13,4 +13,4 @@ fun box(): String {
xs = intArrayOf(4, 5)
}
return if (sum == 15) "OK" else "Fail: $sum"
}
}
@@ -1,16 +1,6 @@
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.3
// In Kotlin 1.0, in a for-in-array loop, range expression is cached in
// a local variable unless it is already a local variable.
// This caused the following quirky behavior:
// if an array variable is updated in the loop body, it affects the loop
// execution (see https://youtrack.jetbrains.com/issue/KT-21354).
// Most likely it is a bug, however, fixing it right now is a breaking
// change requiring a proper deprecation loop.
// When the design decision is made, it might be required to update this
// test (e.g., by adding a proper LANGUAGE_VERSION directive).
// Note that JS back-end handles this case "correctly".
// See https://youtrack.jetbrains.com/issue/KT-21354
fun box(): String {
var xs = intArrayOf(1, 2, 3)
@@ -20,4 +10,4 @@ fun box(): String {
xs = intArrayOf(4, 5)
}
return if (sum == 123) "OK" else "Fail: $sum"
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
// LANGUAGE_VERSION: 1.1
// !LANGUAGE: -ProhibitDataClassesOverridingCopy
fun box(): String {
val a: A = B(1)
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.0
public interface Base {
fun test() = "base fail"
}
+1 -1
View File
@@ -1,6 +1,6 @@
// !LANGUAGE: -NoDelegationToJavaDefaultInterfaceMembers
// SKIP_JDK6
// TARGET_BACKEND: JVM
// LANGUAGE_VERSION: 1.0
// FILE: Base.java
public interface Base {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
enum class A {
X {
@@ -22,4 +21,4 @@ enum class A {
abstract val test: String
}
fun box() = A.X.test
fun box() = A.X.test
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
enum class A {
X {
@@ -21,4 +20,4 @@ enum class A {
abstract val test: String
}
fun box() = A.X.test
fun box() = A.X.test
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
enum class A {
X {
@@ -18,4 +17,4 @@ enum class A {
abstract val test: String
}
fun box() = A.X.test
fun box() = A.X.test
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
enum class A {
X {
@@ -17,4 +16,4 @@ enum class A {
abstract val test: String
}
fun box() = A.X.test
fun box() = A.X.test
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.2
enum class A {
X {
val x = "OK"
@@ -16,4 +14,4 @@ enum class A {
abstract val test: String
}
fun box() = A.X.test
fun box() = A.X.test
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
enum class X {
B {
@@ -19,4 +18,4 @@ enum class X {
abstract val value: String
}
fun box() = X.B.value
fun box() = X.B.value
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
enum class X {
B {
@@ -13,4 +12,4 @@ enum class X {
abstract val test: String
}
fun box() = X.B.test
fun box() = X.B.test
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
var component1Evaluated = false
@@ -26,4 +26,4 @@ fun box(): String {
// FILE: J.java
public class J {
public static J j() { return null; }
}
}
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// FILE: test.kt
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
private operator fun A.inc() = A()
@@ -19,4 +19,4 @@ fun box(): String {
// FILE: A.java
public class A {
public static A n() { return null; }
}
}
@@ -1,8 +1,9 @@
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FILE: test.kt
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.1
import kotlin.test.*
operator fun A.inc() = A()
@@ -19,4 +20,4 @@ fun box(): String {
// FILE: A.java
public class A {
public static A n() { return null; }
}
}
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// FILE: test.kt
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
operator fun A.inc() = A()
@@ -19,4 +19,4 @@ fun box(): String {
// FILE: A.java
public class A {
public static A n() { return null; }
}
}
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
fun String.extension() {}
@@ -15,4 +15,4 @@ fun box(): String {
// FILE: J.java
public class J {
public static String s() { return null; }
}
}
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
inline fun String.extension() {}
@@ -17,4 +17,4 @@ fun box(): String {
// FILE: J.java
public class J {
public static String s() { return null; }
}
}
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
class C {
@@ -18,4 +18,4 @@ fun box(): String {
// FILE: J.java
public class J {
public static String s() { return null; }
}
}
@@ -2,7 +2,7 @@
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
// LANGUAGE_VERSION: 1.2
import kotlin.test.*
class C {
@@ -20,4 +20,4 @@ fun box(): String {
// FILE: J.java
public class J {
public static String s() { return null; }
}
}
+2 -2
View File
@@ -1,9 +1,9 @@
// SKIP_JDK6
// JVM_TARGET: 1.8
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FULL_JDK
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.1
import java.util.stream.*
class B<F> : List<F> {
@@ -1,8 +1,9 @@
// !LANGUAGE: -AdditionalBuiltInsMembers
// SKIP_JDK6
// TARGET_BACKEND: JVM
// LANGUAGE_VERSION: 1.0
// WITH_RUNTIME
// FULL_JDK
class A(val x: List<String>) : List<String> by x
fun box(): String {
@@ -1,7 +1,6 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.2
// FILE: foo.kt
@@ -1,7 +1,6 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.2
// FILE: foo.kt
@@ -1,7 +1,6 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// LANGUAGE_VERSION: 1.2
// FILE: foo.kt
@@ -1,4 +1,4 @@
// LANGUAGE_VERSION: 1.2
// !LANGUAGE: -ProperVisibilityForCompanionObjectInstanceField
inline fun on(body: () -> Any) = body().toString()
@@ -13,4 +13,4 @@ class A {
}
fun box() = A().test()
fun box() = A().test()
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.3
inline fun on(body: () -> Any) = body().toString()
class A {
@@ -13,4 +11,4 @@ class A {
}
fun box() = A().test()
fun box() = A().test()
@@ -1,4 +1,4 @@
// LANGUAGE_VERSION: 1.2
// !LANGUAGE: -ProperVisibilityForCompanionObjectInstanceField
interface A {
fun test() = ok()
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.3
interface A {
fun test() = ok()
@@ -1,6 +1,6 @@
// !LANGUAGE: -ProhibitOperatorMod
// !API_VERSION: 1.0
// TARGET_BACKEND: JVM
// LANGUAGE_VERSION: 1.0
// FULL_JDK
import java.math.BigInteger
@@ -8,4 +8,4 @@ import java.math.BigInteger
fun box(): String {
val m = BigInteger.valueOf(-2) % BigInteger.valueOf(3)
return if (m != BigInteger.valueOf(1)) "Fail: BigInteger(-2) mod BigInteger(3) == $m" else "OK"
}
}
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
@@ -37,4 +36,4 @@ public class J {
public static Long LONG_NULL = null;
public static Float FLOAT_NULL = null;
public static Double DOUBLE_NULL = null;
}
}
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
// KOTLIN_CONFIGURATION_FLAGS: +JVM.NO_EXCEPTION_ON_EXPLICIT_EQUALS_FOR_BOXED_NULL
// TARGET_BACKEND: JVM
// WITH_RUNTIME
@@ -38,4 +37,4 @@ public class J {
public static Long LONG_NULL = null;
public static Float FLOAT_NULL = null;
public static Double DOUBLE_NULL = null;
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
open class Foo {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
class Foo {
@@ -1,5 +1,4 @@
// TARGET_BACKEND: JVM
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
// FILE: J.java
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
lateinit var bar: String
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.2
fun runNoInline(f: () -> Unit) = f()
fun box(): String {
@@ -8,4 +6,4 @@ fun box(): String {
ok = "OK"
}
return ok
}
}
@@ -1,9 +1,7 @@
// LANGUAGE_VERSION: 1.2
fun box(): String {
lateinit var ok: String
run {
ok = "OK"
}
return ok
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.UninitializedPropertyAccessException
@@ -20,4 +19,4 @@ fun box(): String {
catch (e: Throwable) {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.UninitializedPropertyAccessException
@@ -20,4 +19,4 @@ fun box(): String {
catch (e: Throwable) {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.UninitializedPropertyAccessException
@@ -16,4 +15,4 @@ fun box(): String {
catch (e: Throwable) {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.UninitializedPropertyAccessException
@@ -16,4 +15,4 @@ fun box(): String {
catch (e: Throwable) {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
// FILE: lateinit.kt
private lateinit var s: String
@@ -24,4 +23,4 @@ fun box(): String {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.2
// FILE: lateinit.kt
private lateinit var s: String
@@ -12,4 +10,4 @@ object C {
fun box(): String {
C.setS("OK")
return C.getS()
}
}
@@ -1,5 +1,3 @@
// LANGUAGE_VERSION: 1.2
lateinit var ok: String
fun box(): String {
@@ -7,4 +5,4 @@ fun box(): String {
ok = "OK"
}
return ok
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.UninitializedPropertyAccessException
@@ -17,4 +16,4 @@ fun box(): String {
catch (e: Throwable) {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,4 +1,3 @@
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.UninitializedPropertyAccessException
@@ -17,4 +16,4 @@ fun box(): String {
catch (e: Throwable) {
return "Unexpected exception: ${e::class}"
}
}
}
@@ -1,8 +1,7 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS, NATIVE
// LANGUAGE_VERSION: 1.2
// WITH_RUNTIME
import kotlin.test.assertEquals
inline fun <reified T> foo(): T {
@@ -1,6 +1,5 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
// WITH_REFLECT
// IGNORE_BACKEND: JS
@@ -67,4 +66,4 @@ fun box(): String {
}
return "OK"
}
}