[FIR] Add CallsInPlace contract analyzer

This commit is contained in:
Oleg Ivanov
2020-07-30 17:13:11 +03:00
parent cc9c5b9e3c
commit 4367d6631f
39 changed files with 4021 additions and 2064 deletions
@@ -6,9 +6,9 @@ import kotlin.contracts.*
inline fun <R> callIt(fn: () -> R): R = TODO()
inline fun <R> callItContracted(fn: () -> R): R {
contract {
<!WRONG_INVOCATION_KIND!>contract {
callsInPlace(fn, InvocationKind.EXACTLY_ONCE)
}
}<!>
TODO()
}