Minor, remove obsolete directives and suppressions from contracts test data

This commit is contained in:
Alexander Udalov
2019-11-05 16:01:46 +01:00
parent 66e19b13ce
commit 4164b620e8
17 changed files with 8 additions and 53 deletions
@@ -1,10 +1,8 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
import kotlin.contracts.* import kotlin.contracts.*
@ExperimentalContracts
fun runOnce(action: () -> Unit) { fun runOnce(action: () -> Unit) {
contract { contract {
callsInPlace(action, InvocationKind.EXACTLY_ONCE) callsInPlace(action, InvocationKind.EXACTLY_ONCE)
@@ -12,7 +10,6 @@ fun runOnce(action: () -> Unit) {
action() action()
} }
@ExperimentalContracts
class Foo(foo: Boolean) { class Foo(foo: Boolean) {
var res = "FAIL" var res = "FAIL"
init { init {
@@ -23,7 +20,6 @@ class Foo(foo: Boolean) {
} }
} }
@ExperimentalContracts
fun box(): String { fun box(): String {
val foo = Foo(true) val foo = Foo(true)
return foo.res return foo.res
@@ -1,10 +1,8 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public fun myrun(block: () -> Unit) { public fun myrun(block: () -> Unit) {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
// NO_CHECK_LAMBDA_INLINING // NO_CHECK_LAMBDA_INLINING
@@ -12,36 +11,27 @@ interface SomeOutputScreenCallbacks {
fun ontest() fun ontest()
} }
@ExperimentalContracts
class OutputWorkScreenView(callbacks: SomeOutputScreenCallbacks) { class OutputWorkScreenView(callbacks: SomeOutputScreenCallbacks) {
val root = vBox { val root = vBox {
button(callbacks::ontest) button(callbacks::ontest)
} }
} }
@ExperimentalContracts inline fun vBox(crossinline action: () -> Unit) {
inline fun vBox(
crossinline action: () -> Unit
) {
contract { contract {
callsInPlace(action, InvocationKind.EXACTLY_ONCE) callsInPlace(action, InvocationKind.EXACTLY_ONCE)
} }
return { action() }() return { action() }()
} }
@ExperimentalContracts inline fun button(onAction: () -> Unit) {
inline fun button(
onAction: () -> Unit
) {
onAction() onAction()
} }
// FILE: 2.kt // FILE: 2.kt
import test.* import test.*
import kotlin.contracts.*
@ExperimentalContracts
fun box(): String { fun box(): String {
var res = "FAIL" var res = "FAIL"
OutputWorkScreenView(object : SomeOutputScreenCallbacks { OutputWorkScreenView(object : SomeOutputScreenCallbacks {
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
// NO_CHECK_LAMBDA_INLINING // NO_CHECK_LAMBDA_INLINING
@@ -9,7 +8,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun myrun(crossinline block: () -> Unit): Unit { public inline fun myrun(crossinline block: () -> Unit): Unit {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
// FILE: 1.kt // FILE: 1.kt
@@ -6,7 +5,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@ExperimentalContracts
class A { class A {
var res = "FAIL" var res = "FAIL"
@@ -23,7 +21,6 @@ class A {
} }
} }
@ExperimentalContracts
inline fun baz(crossinline exactly_once: () -> Unit) { inline fun baz(crossinline exactly_once: () -> Unit) {
contract { contract {
callsInPlace(exactly_once, InvocationKind.EXACTLY_ONCE) callsInPlace(exactly_once, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
// NO_CHECK_LAMBDA_INLINING // NO_CHECK_LAMBDA_INLINING
@@ -9,7 +8,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun myrun(noinline block: () -> Unit): Unit { public inline fun myrun(noinline block: () -> Unit): Unit {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
// WITH_RUNTIME // WITH_RUNTIME
@@ -10,7 +9,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,15 +1,13 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JVM_IR, JS_IR, NATIVE
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR // IGNORE_BACKEND_MULTI_MODULE: JVM_IR
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: NATIVE
// FILE: 1.kt // FILE: 1.kt
package test package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)
@@ -1,4 +1,3 @@
// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts
// !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts
// IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: NATIVE
@@ -8,7 +7,6 @@ package test
import kotlin.contracts.* import kotlin.contracts.*
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
public inline fun <R> myrun(block: () -> R): R { public inline fun <R> myrun(block: () -> R): R {
contract { contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE) callsInPlace(block, InvocationKind.EXACTLY_ONCE)