blob: 5ebe564dcdf7ed3a6e7eed9cb3471c1b64f31064 [file]
// CHECK_CONTAINS_NO_CALLS: testDispatch except=Unit_getInstance
// CHECK_CONTAINS_NO_CALLS: testExtension except=Unit_getInstance
class Bar {
inline operator fun invoke(f: () -> String) { f() }
}
class Baz
inline operator fun Baz.invoke(f: () -> String) { f() }
class Foo {
val bar = Bar()
val baz = Baz()
}
// CHECK_BREAKS_COUNT: function=testDispatch count=0
// CHECK_LABELS_COUNT: function=testDispatch name=$l$block count=0
fun testDispatch(foo: Foo): String {
foo.bar { return "O" }
return "FailDispatch;"
}
// CHECK_BREAKS_COUNT: function=testExtension count=0
// CHECK_LABELS_COUNT: function=testExtension name=$l$block count=0
fun testExtension(foo: Foo): String {
foo.baz { return "K" }
return "FailExtension;"
}
fun box(): String {
val f = Foo()
return testDispatch(f) + testExtension(f)
}