diff --git a/compiler/testData/codegen/box/contracts/constructorArgument.kt b/compiler/testData/codegen/box/contracts/constructorArgument.kt index d2bf4c3575c..7471b1adbf7 100644 --- a/compiler/testData/codegen/box/contracts/constructorArgument.kt +++ b/compiler/testData/codegen/box/contracts/constructorArgument.kt @@ -1,10 +1,8 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE import kotlin.contracts.* -@ExperimentalContracts fun runOnce(action: () -> Unit) { contract { callsInPlace(action, InvocationKind.EXACTLY_ONCE) @@ -12,7 +10,6 @@ fun runOnce(action: () -> Unit) { action() } -@ExperimentalContracts class Foo(foo: Boolean) { var res = "FAIL" init { @@ -23,8 +20,7 @@ class Foo(foo: Boolean) { } } -@ExperimentalContracts fun box(): String { val foo = Foo(true) return foo.res -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/box/contracts/exactlyOnceNotInline.kt b/compiler/testData/codegen/box/contracts/exactlyOnceNotInline.kt index ed2f2f30864..f7b19d6e890 100644 --- a/compiler/testData/codegen/box/contracts/exactlyOnceNotInline.kt +++ b/compiler/testData/codegen/box/contracts/exactlyOnceNotInline.kt @@ -1,10 +1,8 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public fun myrun(block: () -> Unit) { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/cfgDependendValInitialization.kt b/compiler/testData/codegen/boxInline/contracts/cfgDependendValInitialization.kt index eb2a4673284..f6ff580d681 100644 --- a/compiler/testData/codegen/boxInline/contracts/cfgDependendValInitialization.kt +++ b/compiler/testData/codegen/boxInline/contracts/cfgDependendValInitialization.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/complexInitializer.kt b/compiler/testData/codegen/boxInline/contracts/complexInitializer.kt index fad72c31a30..b01a2d8657b 100644 --- a/compiler/testData/codegen/boxInline/contracts/complexInitializer.kt +++ b/compiler/testData/codegen/boxInline/contracts/complexInitializer.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/complexInitializerWithStackTransformation.kt b/compiler/testData/codegen/boxInline/contracts/complexInitializerWithStackTransformation.kt index c5c809c9c49..2157bdee544 100644 --- a/compiler/testData/codegen/boxInline/contracts/complexInitializerWithStackTransformation.kt +++ b/compiler/testData/codegen/boxInline/contracts/complexInitializerWithStackTransformation.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/crossinlineCallableReference.kt b/compiler/testData/codegen/boxInline/contracts/crossinlineCallableReference.kt index 829521d9a32..485f8045b9f 100644 --- a/compiler/testData/codegen/boxInline/contracts/crossinlineCallableReference.kt +++ b/compiler/testData/codegen/boxInline/contracts/crossinlineCallableReference.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE // NO_CHECK_LAMBDA_INLINING @@ -12,36 +11,27 @@ interface SomeOutputScreenCallbacks { fun ontest() } -@ExperimentalContracts class OutputWorkScreenView(callbacks: SomeOutputScreenCallbacks) { val root = vBox { button(callbacks::ontest) } } -@ExperimentalContracts -inline fun vBox( - crossinline action: () -> Unit -) { +inline fun vBox(crossinline action: () -> Unit) { contract { callsInPlace(action, InvocationKind.EXACTLY_ONCE) } return { action() }() } -@ExperimentalContracts -inline fun button( - onAction: () -> Unit -) { +inline fun button(onAction: () -> Unit) { onAction() } // FILE: 2.kt import test.* -import kotlin.contracts.* -@ExperimentalContracts fun box(): String { var res = "FAIL" OutputWorkScreenView(object : SomeOutputScreenCallbacks { @@ -50,4 +40,4 @@ fun box(): String { } }) return res -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/boxInline/contracts/definiteLongValInitialization.kt b/compiler/testData/codegen/boxInline/contracts/definiteLongValInitialization.kt index cb74e451874..c4ba6c41a60 100644 --- a/compiler/testData/codegen/boxInline/contracts/definiteLongValInitialization.kt +++ b/compiler/testData/codegen/boxInline/contracts/definiteLongValInitialization.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/definiteNestedValInitialization.kt b/compiler/testData/codegen/boxInline/contracts/definiteNestedValInitialization.kt index 92a797141a8..acc062478d5 100644 --- a/compiler/testData/codegen/boxInline/contracts/definiteNestedValInitialization.kt +++ b/compiler/testData/codegen/boxInline/contracts/definiteNestedValInitialization.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/definiteValInitInInitializer.kt b/compiler/testData/codegen/boxInline/contracts/definiteValInitInInitializer.kt index dfc0c8e8b0e..7e8b27ff751 100644 --- a/compiler/testData/codegen/boxInline/contracts/definiteValInitInInitializer.kt +++ b/compiler/testData/codegen/boxInline/contracts/definiteValInitInInitializer.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE // NO_CHECK_LAMBDA_INLINING @@ -9,7 +8,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/definiteValInitialization.kt b/compiler/testData/codegen/boxInline/contracts/definiteValInitialization.kt index c626ec81cd9..f30fc098526 100644 --- a/compiler/testData/codegen/boxInline/contracts/definiteValInitialization.kt +++ b/compiler/testData/codegen/boxInline/contracts/definiteValInitialization.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline.kt b/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline.kt index 3b2cae45b67..6feee24df46 100644 --- a/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline.kt +++ b/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(crossinline block: () -> Unit): Unit { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline2.kt b/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline2.kt index 06d71a7adb9..0146cf341ae 100644 --- a/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline2.kt +++ b/compiler/testData/codegen/boxInline/contracts/exactlyOnceCrossinline2.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE // FILE: 1.kt @@ -6,7 +5,6 @@ package test import kotlin.contracts.* -@ExperimentalContracts class A { var res = "FAIL" @@ -23,7 +21,6 @@ class A { } } -@ExperimentalContracts inline fun baz(crossinline exactly_once: () -> Unit) { contract { callsInPlace(exactly_once, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/exactlyOnceNoinline.kt b/compiler/testData/codegen/boxInline/contracts/exactlyOnceNoinline.kt index 84abbfe63e9..771c624ad49 100644 --- a/compiler/testData/codegen/boxInline/contracts/exactlyOnceNoinline.kt +++ b/compiler/testData/codegen/boxInline/contracts/exactlyOnceNoinline.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE // NO_CHECK_LAMBDA_INLINING @@ -9,7 +8,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(noinline block: () -> Unit): Unit { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/nonLocalReturn.kt b/compiler/testData/codegen/boxInline/contracts/nonLocalReturn.kt index f9731fff196..7cff445f4d4 100644 --- a/compiler/testData/codegen/boxInline/contracts/nonLocalReturn.kt +++ b/compiler/testData/codegen/boxInline/contracts/nonLocalReturn.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/nonLocalReturnWithCycle.kt b/compiler/testData/codegen/boxInline/contracts/nonLocalReturnWithCycle.kt index e4b76bc6c06..0805b74260c 100644 --- a/compiler/testData/codegen/boxInline/contracts/nonLocalReturnWithCycle.kt +++ b/compiler/testData/codegen/boxInline/contracts/nonLocalReturnWithCycle.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE // WITH_RUNTIME @@ -10,7 +9,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) diff --git a/compiler/testData/codegen/boxInline/contracts/propertyInitialization.kt b/compiler/testData/codegen/boxInline/contracts/propertyInitialization.kt index e89d5b8e5fc..86ae6f5e4b4 100644 --- a/compiler/testData/codegen/boxInline/contracts/propertyInitialization.kt +++ b/compiler/testData/codegen/boxInline/contracts/propertyInitialization.kt @@ -1,15 +1,13 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts -// IGNORE_BACKEND: JVM_IR +// IGNORE_BACKEND: JVM_IR, JS_IR, NATIVE // IGNORE_BACKEND_MULTI_MODULE: JVM_IR -// IGNORE_BACKEND: JS_IR -// IGNORE_BACKEND: NATIVE + // FILE: 1.kt + package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) @@ -32,4 +30,4 @@ class A { fun box(): String { return A().z -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/boxInline/contracts/valInitializationAndUsageInNestedLambda.kt b/compiler/testData/codegen/boxInline/contracts/valInitializationAndUsageInNestedLambda.kt index da2b88721ba..077d52c72c1 100644 --- a/compiler/testData/codegen/boxInline/contracts/valInitializationAndUsageInNestedLambda.kt +++ b/compiler/testData/codegen/boxInline/contracts/valInitializationAndUsageInNestedLambda.kt @@ -1,4 +1,3 @@ -// !LANGUAGE: +AllowContractsForCustomFunctions +UseCallsInPlaceEffect +ReadDeserializedContracts // !USE_EXPERIMENTAL: kotlin.contracts.ExperimentalContracts // IGNORE_BACKEND: NATIVE @@ -8,7 +7,6 @@ package test import kotlin.contracts.* -@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") public inline fun myrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE)