FIR DFA: merge non-conflicting aliases from union flows

E.g. after `f({ x = a }, { x })`, if `f` calls both lambdas in-place,
`x` should be aliased to `a` even though only one path does that.
This commit is contained in:
pyos
2022-11-20 19:45:22 +01:00
committed by teamcity
parent e79b595639
commit 99bebfa183
4 changed files with 91 additions and 65 deletions
@@ -84,6 +84,6 @@ fun test7() {
val y: Any?
run2({ y = x }, { })
if (y is String) {
x.<!UNRESOLVED_REFERENCE!>length<!> // ok - aliased
x.length // ok - aliased
}
}