Raise deprecation level to ERROR of coroutineContext

inside kotlin.coroutines.experimental.intrinsics package
 #KT-22400
This commit is contained in:
Ilmir Usmanov
2018-03-16 19:34:55 +03:00
parent dd8a00f651
commit bd7ad8c9d5
6 changed files with 21 additions and 25 deletions
@@ -4,6 +4,7 @@ import helpers.*
import kotlin.coroutines.experimental.* import kotlin.coroutines.experimental.*
import kotlin.test.assertEquals import kotlin.test.assertEquals
@Suppress("DEPRECATION_ERROR")
suspend fun suspendHereOld() = suspend fun suspendHereOld() =
if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext) if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext)
"${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext" "${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext"
@@ -16,6 +17,7 @@ suspend fun suspendHereNew() =
else else
"OK" "OK"
@Suppress("DEPRECATION_ERROR")
suspend fun multipleArgsOld(a: Any, b: Any, c: Any) = suspend fun multipleArgsOld(a: Any, b: Any, c: Any) =
if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext) if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext)
"${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext" "${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext"
@@ -59,6 +61,7 @@ fun box(): String {
return "fail 2 $res" return "fail 2 $res"
} }
res = builder { res = builder {
@Suppress("DEPRECATION_ERROR")
if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext) if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext)
"${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext" "${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext"
else else
@@ -5,6 +5,7 @@ import kotlin.coroutines.experimental.*
import kotlin.coroutines.experimental.intrinsics.* import kotlin.coroutines.experimental.intrinsics.*
import kotlin.test.assertEquals import kotlin.test.assertEquals
@Suppress("DEPRECATION_ERROR")
class Controller { class Controller {
suspend fun controllerSuspendHereOld() = suspend fun controllerSuspendHereOld() =
if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext) if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext)
@@ -61,6 +62,7 @@ fun box(): String {
return "fail 2 $res" return "fail 2 $res"
} }
res = c.builder { res = c.builder {
@Suppress("DEPRECATION_ERROR")
if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext) if (kotlin.coroutines.experimental.intrinsics.coroutineContext != EmptyCoroutineContext)
"${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext" "${kotlin.coroutines.experimental.intrinsics.coroutineContext} != $EmptyCoroutineContext"
else else
@@ -5,6 +5,7 @@ import kotlin.coroutines.experimental.*
import kotlin.coroutines.experimental.intrinsics.* import kotlin.coroutines.experimental.intrinsics.*
import kotlin.test.assertEquals import kotlin.test.assertEquals
@Suppress("DEPRECATION_ERROR")
class Controller { class Controller {
val coroutineContext = object : CoroutineContext { val coroutineContext = object : CoroutineContext {
public override fun <E : CoroutineContext.Element> get(key: CoroutineContext.Key<E>): E? = null public override fun <E : CoroutineContext.Element> get(key: CoroutineContext.Key<E>): E? = null
@@ -6,6 +6,7 @@ suspend fun suspendHere(ctx: CoroutineContext) = suspendCoroutineOrReturn<String
if (x.context == ctx) x.resume("OK") else x.resume("FAIL") if (x.context == ctx) x.resume("OK") else x.resume("FAIL")
} }
@Suppress("DEPRECATION_ERROR")
suspend fun mustBeTailCallOld(): String { suspend fun mustBeTailCallOld(): String {
return suspendHere(kotlin.coroutines.experimental.intrinsics.coroutineContext) return suspendHere(kotlin.coroutines.experimental.intrinsics.coroutineContext)
} }
@@ -15,7 +16,7 @@ suspend fun mustBeTailCallNew(): String {
} }
suspend fun retrieveCoroutineContext(): CoroutineContext = suspend fun retrieveCoroutineContext(): CoroutineContext =
suspendCoroutineOrReturn { cont -> cont.context } suspendCoroutineOrReturn { cont -> cont.context }
suspend fun notTailCall(): String { suspend fun notTailCall(): String {
return suspendHere(retrieveCoroutineContext()) return suspendHere(retrieveCoroutineContext())
@@ -4,38 +4,38 @@
import kotlin.coroutines.experimental.* import kotlin.coroutines.experimental.*
fun ordinal() { fun ordinal() {
kotlin.coroutines.experimental.intrinsics.<!DEPRECATION, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
} }
suspend fun named() { suspend fun named() {
kotlin.coroutines.experimental.intrinsics.<!DEPRECATION!>coroutineContext<!> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR!>coroutineContext<!>
kotlin.coroutines.experimental.coroutineContext kotlin.coroutines.experimental.coroutineContext
coroutineContext coroutineContext
} }
class A { class A {
val coroutineContextOld = kotlin.coroutines.experimental.intrinsics.<!DEPRECATION, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> val coroutineContextOld = kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
val coroutineContextNew = kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> val coroutineContextNew = kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
val context = <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> val context = <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
} }
class Controller { class Controller {
fun ordinal() { fun ordinal() {
kotlin.coroutines.experimental.intrinsics.<!DEPRECATION, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!>
} }
suspend fun named() { suspend fun named() {
kotlin.coroutines.experimental.intrinsics.<!DEPRECATION!>coroutineContext<!> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR!>coroutineContext<!>
kotlin.coroutines.experimental.coroutineContext kotlin.coroutines.experimental.coroutineContext
coroutineContext coroutineContext
} }
suspend fun severalArgs(s: String, a: Any) { suspend fun severalArgs(s: String, a: Any) {
kotlin.coroutines.experimental.intrinsics.<!DEPRECATION!>coroutineContext<!> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR!>coroutineContext<!>
kotlin.coroutines.experimental.coroutineContext kotlin.coroutines.experimental.coroutineContext
coroutineContext coroutineContext
} }
@@ -48,16 +48,16 @@ fun builderSeveralArgs(c: (Int, Int, Int) -> CoroutineContext) = {}
fun builderSuspendSeveralArgs(c: suspend (Int, Int, Int) -> CoroutineContext) = {} fun builderSuspendSeveralArgs(c: suspend (Int, Int, Int) -> CoroutineContext) = {}
fun test() { fun test() {
builder { kotlin.coroutines.experimental.intrinsics.<!DEPRECATION, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> } builder { kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> }
builder { kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> } builder { kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> }
builder { <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> } builder { <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> }
builderSuspend { kotlin.coroutines.experimental.intrinsics.<!DEPRECATION!>coroutineContext<!> } builderSuspend { kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR!>coroutineContext<!> }
builderSuspend { kotlin.coroutines.experimental.coroutineContext } builderSuspend { kotlin.coroutines.experimental.coroutineContext }
builderSuspend { coroutineContext } builderSuspend { coroutineContext }
builderSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> } builderSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR, ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> }
builderSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> } builderSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.<!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> }
builderSeveralArgs {_, _,_ -> <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> } builderSeveralArgs {_, _,_ -> <!ILLEGAL_SUSPEND_PROPERTY_ACCESS!>coroutineContext<!> }
builderSuspendSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION!>coroutineContext<!>} builderSuspendSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.intrinsics.<!DEPRECATION_ERROR!>coroutineContext<!>}
builderSuspendSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.coroutineContext} builderSuspendSeveralArgs {_, _,_ -> kotlin.coroutines.experimental.coroutineContext}
builderSuspendSeveralArgs {_, _,_ -> coroutineContext} builderSuspendSeveralArgs {_, _,_ -> coroutineContext}
} }
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2017 JetBrains s.r.o. * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
@file:kotlin.jvm.JvmName("IntrinsicsKt") @file:kotlin.jvm.JvmName("IntrinsicsKt")
@@ -76,7 +65,7 @@ public inline fun <T> Continuation<T>.intercepted(): Continuation<T> =
@Deprecated( @Deprecated(
"Use kotlin.coroutines.experimental.coroutineContext instead", "Use kotlin.coroutines.experimental.coroutineContext instead",
ReplaceWith("kotlin.coroutines.experimental.coroutineContext"), ReplaceWith("kotlin.coroutines.experimental.coroutineContext"),
DeprecationLevel.WARNING DeprecationLevel.ERROR
) )
public suspend inline val coroutineContext: CoroutineContext public suspend inline val coroutineContext: CoroutineContext
get() { get() {