Front-end fix: result type corrected for increment / decrement expressions. Smart cast allowed on a postfix increment result. See KT-7561.

Now result type is receiver type for postfix increment, or increment result type for prefix increment.
A set of relevant tests.
This commit is contained in:
Mikhail Glukhikh
2015-04-30 15:08:15 +03:00
parent ea6d0b464d
commit 5723c2a077
17 changed files with 212 additions and 3 deletions
@@ -0,0 +1,12 @@
class MyClass
// Correct at compile time but wrong at run-time
fun MyClass?.inc(): MyClass? { return null }
public fun box() : MyClass? {
var i : MyClass?
i = MyClass()
var j = i++
<!DEBUG_INFO_SMARTCAST!>j<!>.hashCode()
return i
}