Files
kotlin-fork/compiler/testData/ir/irText/declarations/contextReceivers/arrayAccessOperators.kt.txt
T
2023-03-23 16:23:09 +00:00

79 lines
1.8 KiB
Plaintext
Vendored

data class MyContainer {
constructor(s: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
var s: String
field = s
get
set
operator fun component1(): String {
return <this>.#s
}
fun copy(s: String = <this>.#s): MyContainer {
return MyContainer(s = s)
}
override fun toString(): String {
return "MyContainer(" + "s=" + <this>.#s + ")"
}
override fun hashCode(): Int {
return <this>.#s.hashCode()
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is MyContainer -> return false
}
val tmp0_other_with_cast: MyContainer = other as MyContainer
when {
EQEQ(arg0 = <this>.#s, arg1 = tmp0_other_with_cast.#s).not() -> return false
}
return true
}
}
operator fun MyContainer.get($context_receiver_0: Int, index: Int): String? {
return when {
when {
EQEQ(arg0 = index, arg1 = 0) -> EQEQ(arg0 = $context_receiver_0, arg1 = 42)
else -> false
} -> <this>.<get-s>()
else -> null
}
}
operator fun MyContainer.set($context_receiver_0: Int, index: Int, value: String) {
when {
when {
EQEQ(arg0 = index, arg1 = 0).not() -> true
else -> EQEQ(arg0 = $context_receiver_0, arg1 = 42).not()
} -> return Unit
}
<this>.<set-s>(<set-?> = value)
}
fun box(): String {
return with<Int, String>(receiver = 42, block = local fun Int.<anonymous>(): String {
val myContainer: MyContainer = MyContainer(s = "fail")
myContainer.set($context_receiver_0 = $this$with, index = 0, value = "OK")
return { // BLOCK
val tmp0_elvis_lhs: String? = myContainer.get($context_receiver_0 = $this$with, index = 0)
when {
EQEQ(arg0 = tmp0_elvis_lhs, arg1 = null) -> "fail"
else -> tmp0_elvis_lhs
}
}
}
)
}