blob: 36527d2af24c423cf3d743bf9e75b26be7221f2b [file]
// LANGUAGE: +FullValueClasses
// CHECK_BYTECODE_LISTING
// WITH_STDLIB
value class A(val x: Int)
value class A1(val x: Int)
value class A2(val x: Int, val y: Int)
data class A1_(val x: Int)
data class A2_(val x: Int, val y: Int)
fun box(): String {
singleField()
multipleField()
return "OK"
}
private fun singleField() {
val a = A1(2)
val a_ = A1_(2)
require(a == A1(2)) { a.toString() }
require(a.x == a_.x) { a.x.toString() }
require(a.toString() == a_.toString().replace("_", "")) { a.toString() }
require(a.hashCode() == a_.hashCode()) { "${a.hashCode()} ${A1(2).hashCode()} ${a_.hashCode()}" }
}
private fun multipleField() {
val a = A2(2, 3)
val a_ = A2_(2, 3)
require(a == A2(2, 3)) { a.toString() }
require(a.x == a_.x) { a.x.toString() }
require(a.y == a_.y) { a.y.toString() }
require(a.toString() == a_.toString().replace("_", "")) { a.toString() }
require(a.hashCode() == a_.hashCode()) { "${a.hashCode()} ${a_.hashCode()}" }
}