21fef70367
Previously, FIR used `_context_receiver_n` while FE10 used `<this>` for all context receiver parameters. This commit changes the code in FE10 to follow the convention from FIR.
135 lines
4.0 KiB
Plaintext
Vendored
135 lines
4.0 KiB
Plaintext
Vendored
data class Result {
|
|
constructor(i: Int) /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
var i: Int
|
|
field = i
|
|
get
|
|
set
|
|
|
|
operator fun component1(): Int {
|
|
return <this>.#i
|
|
}
|
|
|
|
fun copy(i: Int = <this>.#i): Result {
|
|
return Result(i = i)
|
|
}
|
|
|
|
override fun toString(): String {
|
|
return "Result(" + "i=" + <this>.#i + ")"
|
|
}
|
|
|
|
override fun hashCode(): Int {
|
|
return <this>.#i.hashCode()
|
|
}
|
|
|
|
override operator fun equals(other: Any?): Boolean {
|
|
when {
|
|
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
|
|
}
|
|
when {
|
|
other !is Result -> return false
|
|
}
|
|
val tmp0_other_with_cast: Result = other as Result
|
|
when {
|
|
EQEQ(arg0 = <this>.#i, arg1 = tmp0_other_with_cast.#i).not() -> return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
}
|
|
|
|
var operationScore: Int
|
|
field = 0
|
|
get
|
|
set
|
|
|
|
operator fun Result.plus(_context_receiver_0: Int, other: Result): Result {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
return Result(i = <this>.<get-i>().plus(other = other.<get-i>()))
|
|
}
|
|
|
|
operator fun Result.plusAssign(_context_receiver_0: Int, other: Result) {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
{ // BLOCK
|
|
val tmp0_this: Result = <this>
|
|
tmp0_this.<set-i>(<set-?> = tmp0_this.<get-i>().plus(other = other.<get-i>()))
|
|
}
|
|
}
|
|
|
|
operator fun Result.minus(_context_receiver_0: Int, other: Result): Result {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
return Result(i = <this>.<get-i>().minus(other = other.<get-i>()))
|
|
}
|
|
|
|
operator fun Result.minusAssign(_context_receiver_0: Int, other: Result) {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
{ // BLOCK
|
|
val tmp0_this: Result = <this>
|
|
tmp0_this.<set-i>(<set-?> = tmp0_this.<get-i>().minus(other = other.<get-i>()))
|
|
}
|
|
}
|
|
|
|
operator fun Result.times(_context_receiver_0: Int, other: Result): Result {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
return Result(i = <this>.<get-i>().times(other = other.<get-i>()))
|
|
}
|
|
|
|
operator fun Result.timesAssign(_context_receiver_0: Int, other: Result) {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
{ // BLOCK
|
|
val tmp0_this: Result = <this>
|
|
tmp0_this.<set-i>(<set-?> = tmp0_this.<get-i>().times(other = other.<get-i>()))
|
|
}
|
|
}
|
|
|
|
operator fun Result.div(_context_receiver_0: Int, other: Result): Result {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
return Result(i = <this>.<get-i>().div(other = other.<get-i>()))
|
|
}
|
|
|
|
operator fun Result.divAssign(_context_receiver_0: Int, other: Result) {
|
|
{ // BLOCK
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = _context_receiver_0))
|
|
}
|
|
{ // BLOCK
|
|
val tmp0_this: Result = <this>
|
|
tmp0_this.<set-i>(<set-?> = tmp0_this.<get-i>().div(other = other.<get-i>()))
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
val result: Result = Result(i = 0)
|
|
with<Int, Unit>(receiver = 1, block = local fun Int.<anonymous>() {
|
|
result.plusAssign(_context_receiver_0 = $this$with, other = Result(i = 1).plus(_context_receiver_0 = $this$with, other = Result(i = 1)))
|
|
result.minusAssign(_context_receiver_0 = $this$with, other = Result(i = 1).minus(_context_receiver_0 = $this$with, other = Result(i = 0)))
|
|
result.timesAssign(_context_receiver_0 = $this$with, other = Result(i = 1).times(_context_receiver_0 = $this$with, other = Result(i = 2)))
|
|
result.divAssign(_context_receiver_0 = $this$with, other = Result(i = 4).div(_context_receiver_0 = $this$with, other = Result(i = 2)))
|
|
}
|
|
)
|
|
return when {
|
|
when {
|
|
EQEQ(arg0 = result.<get-i>(), arg1 = 1) -> EQEQ(arg0 = <get-operationScore>(), arg1 = 8)
|
|
else -> false
|
|
} -> "OK"
|
|
else -> "fail"
|
|
}
|
|
}
|