46 lines
823 B
Plaintext
46 lines
823 B
Plaintext
class IncDec() {
|
|
fun inc() : IncDec = this
|
|
fun dec() : IncDec = this
|
|
}
|
|
|
|
fun testIncDec() {
|
|
var x = IncDec()
|
|
x++
|
|
++x
|
|
x--
|
|
--x
|
|
x = <!UNUSED_CHANGED_VALUE!>x++<!>
|
|
x = <!UNUSED_CHANGED_VALUE!>x--<!>
|
|
x = ++x
|
|
x = <!UNUSED_VALUE!>--x<!>
|
|
}
|
|
|
|
class WrongIncDec() {
|
|
fun inc() : Int = 1
|
|
fun dec() : Int = 1
|
|
}
|
|
|
|
fun testWrongIncDec() {
|
|
var x = WrongIncDec()
|
|
x<!RESULT_TYPE_MISMATCH!>++<!>
|
|
<!RESULT_TYPE_MISMATCH!>++<!>x
|
|
x<!RESULT_TYPE_MISMATCH!>--<!>
|
|
<!RESULT_TYPE_MISMATCH!>--<!>x
|
|
}
|
|
|
|
class UnitIncDec() {
|
|
fun inc() : Unit {}
|
|
fun dec() : Unit {}
|
|
}
|
|
|
|
fun testUnitIncDec() {
|
|
var x = UnitIncDec()
|
|
x++
|
|
++x
|
|
x--
|
|
--x
|
|
x = <!TYPE_MISMATCH, UNUSED_CHANGED_VALUE!>x++<!>
|
|
x = <!TYPE_MISMATCH, UNUSED_CHANGED_VALUE!>x--<!>
|
|
x = <!TYPE_MISMATCH!>++x<!>
|
|
x = <!TYPE_MISMATCH, UNUSED_VALUE!>--x<!>
|
|
} |