- Redo smart casts handling (yet again).
Front-end typing information can't be used for expressions in IR,
since it provides inferred type for PSI expressions for the last corresponding resoled call.

- Assignments handling, initial implementation.
This commit is contained in:
Dmitry Petrov
2016-08-15 17:29:34 +03:00
committed by Dmitry Petrov
parent c4bbcadb34
commit ecf6ab9e25
25 changed files with 647 additions and 158 deletions
@@ -0,0 +1,11 @@
// <<< smartCastsWithDestructuring.txt
interface I1
interface I2
operator fun I1.component1() = 1
operator fun I2.component2() = ""
fun test(x: I1) {
if (x !is I2) return
val (c1, c2) = x
}