blob: f89900275c31bf3f7636e4931935d291d540d084 [file]
// IGNORE_BACKEND: JVM_IR, JVM_IR_SERIALIZE
// ^^^ CIRCULAR REFERENCE: java.lang.AssertionError: D8 dexing warning: Ignoring an implementation of the method `void foo.A.setParam(int)` because it has multiple definitions]
// FILE: lib.kt
package foo
import kotlin.test.*
class A() {
public var param: Int = 0
inline public fun setParam(value: Int) {
val b = B(value)
b.setParam(this)
}
}
class B(val value: Int) {
inline fun setParam(a: A) {
a.param = this.value
}
}
// FILE: main.kt
package foo
import kotlin.test.*
// CHECK_BREAKS_COUNT: function=box count=0
// CHECK_LABELS_COUNT: function=box name=$l$block count=0
fun box(): String {
val a = A()
a.setParam(10)
assertEquals(10, a.param)
return "OK"
}