[FIR] Add inline checker for bodies of inline functions

This checker doesn't support `@PublishedAPI` yet, so some BB tests for it
 were muted. #KT-46270
This commit is contained in:
Dmitriy Novozhilov
2021-04-23 10:15:36 +03:00
committed by TeamCityServer
parent 7e052c1eb1
commit 32c3f85679
95 changed files with 804 additions and 543 deletions
@@ -15,16 +15,16 @@ fun foo(y: Boolean) {
inline fun case1(block: () -> Unit) {
val contracts = listOf(
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
callsInPlace(<!USAGE_IS_NOT_INLINABLE!>block<!>, InvocationKind.EXACTLY_ONCE)
}, contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
callsInPlace(<!USAGE_IS_NOT_INLINABLE!>block<!>, InvocationKind.EXACTLY_ONCE)
}
)
block()
}
inline fun case_2(block: () -> Unit) = contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
callsInPlace(<!USAGE_IS_NOT_INLINABLE!>block<!>, InvocationKind.EXACTLY_ONCE)
}
fun case_3(block: () -> Unit) {
@@ -73,4 +73,4 @@ fun case_7(cond: Boolean): Boolean {
}
}
return true
}
}