1ba900be44
Related to KT-54887
102 lines
2.6 KiB
Kotlin
Vendored
102 lines
2.6 KiB
Kotlin
Vendored
data class Result {
|
|
constructor(i: Int) /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
val i: Int
|
|
field = i
|
|
get
|
|
|
|
operator fun component1(): Int {
|
|
return <this>.#i
|
|
}
|
|
|
|
fun copy(i: Int = <this>.#i): Result {
|
|
return Result(i = i)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
override fun hashCode(): Int {
|
|
return <this>.#i.hashCode()
|
|
}
|
|
|
|
override fun toString(): String {
|
|
return "Result(i=" + <this>.#i + ")"
|
|
}
|
|
|
|
}
|
|
|
|
var operationScore: Int
|
|
field = 0
|
|
get
|
|
set
|
|
|
|
operator fun Result.unaryMinus($context_receiver_0: Int): Result {
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = $context_receiver_0))
|
|
return Result(i = <this>.<get-i>().unaryMinus())
|
|
}
|
|
|
|
operator fun Result.unaryPlus($context_receiver_0: Int): Result {
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = $context_receiver_0))
|
|
return Result(i = when {
|
|
less(arg0 = <this>.<get-i>(), arg1 = 0) -> <this>.<get-i>().unaryMinus()
|
|
else -> <this>.<get-i>()
|
|
})
|
|
}
|
|
|
|
operator fun Result.inc($context_receiver_0: Int): Result {
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = $context_receiver_0))
|
|
return Result(i = <this>.<get-i>().plus(other = 1))
|
|
}
|
|
|
|
operator fun Result.dec($context_receiver_0: Int): Result {
|
|
<set-operationScore>(<set-?> = <get-operationScore>().plus(other = $context_receiver_0))
|
|
return Result(i = <this>.<get-i>().minus(other = 1))
|
|
}
|
|
|
|
fun box(): String {
|
|
var result: Result = Result(i = 0)
|
|
with<Int, Result>(receiver = 1, block = local fun Int.<anonymous>(): Result {
|
|
{ // BLOCK
|
|
val <unary>: Result = result
|
|
result = <unary>.inc($context_receiver_0 = $this$with)
|
|
<unary>
|
|
} /*~> Unit */
|
|
{ // BLOCK
|
|
val <unary>: Result = result
|
|
result = <unary>.inc($context_receiver_0 = $this$with)
|
|
<unary>
|
|
} /*~> Unit */
|
|
result.unaryMinus($context_receiver_0 = $this$with) /*~> Unit */
|
|
result.unaryPlus($context_receiver_0 = $this$with) /*~> Unit */
|
|
return { // BLOCK
|
|
val <unary>: Result = result
|
|
result = <unary>.dec($context_receiver_0 = $this$with)
|
|
<unary>
|
|
}
|
|
}
|
|
) /*~> Unit */
|
|
return when {
|
|
when {
|
|
EQEQ(arg0 = result.<get-i>(), arg1 = 1) -> EQEQ(arg0 = <get-operationScore>(), arg1 = 5)
|
|
else -> false
|
|
} -> "OK"
|
|
else -> "fail"
|
|
}
|
|
}
|