37 lines
550 B
Kotlin
Vendored
37 lines
550 B
Kotlin
Vendored
// EXPECTED_REACHABLE_NODES: 1310
|
|
package foo
|
|
|
|
object O {
|
|
val result = "O"
|
|
}
|
|
|
|
operator fun O.invoke() = result
|
|
|
|
|
|
class A(val x: Int) {
|
|
companion object {
|
|
val result = "A"
|
|
}
|
|
}
|
|
|
|
operator fun A.Companion.invoke() = result
|
|
|
|
|
|
enum class B {
|
|
E {
|
|
val result = "B"
|
|
|
|
override operator fun invoke() = result
|
|
};
|
|
|
|
abstract operator fun invoke(): String
|
|
}
|
|
|
|
fun f() = { O() + A() + B.E() }
|
|
|
|
fun box(): String {
|
|
val result = f()()
|
|
if (result != "OAB") return "expected 'OAB', got '$result'"
|
|
|
|
return "OK"
|
|
} |