Fix libraries analysis for case of isReleaseCoroutines feature enabled

#KT-25466 In Progress
This commit is contained in:
Denis Zharkov
2018-07-19 16:18:46 +03:00
parent f1463b4a2e
commit f72aa78eec
11 changed files with 168 additions and 18 deletions
@@ -0,0 +1,34 @@
import libN.*
import libO.*
suspend fun newMain() {
newFoo()
oldFoo(<error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'continuation'">)</error>
oldFoo(
object : kotlin.coroutines.experimental.Continuation<Unit> {
override val context
get() = null!!
override fun resume(value: Unit) {}
override fun resumeWithException(exception: Throwable) {}
}
)
// TODO: actually, it's a bug
oldMain()
}
fun newMain2() {
newBuilder {
newMain()
}
oldBuilder {
<error descr="[ILLEGAL_SUSPEND_FUNCTION_CALL] Suspend function 'newMain' should be called only from a coroutine or another suspend function">newMain</error>()
// `suspend () -> Unit` becomes (Continuation<Unit> -> Any?)
it.resume(Unit)
}
}