blob: 1d7013877327e84acafa64586bc4de9de10ac03c [file]
// IGNORE_BACKEND: JVM_IR
// ^^^ CIRCULAR REFERENCE: java.lang.AssertionError: D8 dexing warning: Ignoring an implementation of the method `int foo.IntPair.getFst()` because it has multiple definitions
package foo
import kotlin.test.*
// CHECK_CONTAINS_NO_CALLS: myAdd
internal data class IntPair(public var fst: Int, public var snd: Int) {
inline public fun getFst(): Int { return fst }
inline public fun setFst(v: Int) { fst = v }
inline public fun getSnd(): Int { return this.snd }
inline public fun setSnd(v: Int) { this.snd = v }
}
// CHECK_BREAKS_COUNT: function=myAdd count=0
// CHECK_LABELS_COUNT: function=myAdd name=$l$block count=0
internal fun myAdd(p: IntPair, toFst: Int, toSnd: Int) {
val fst = p.getFst()
p.setFst(fst + toFst)
val snd = p.getSnd()
p.setSnd(snd + toSnd)
}
fun box(): String {
val p = IntPair(0, 0)
myAdd(p, 1, 2)
assertEquals(IntPair(1, 2), p)
return "OK"
}