FIR checker: make property init analyzer path-sensitive

In particular, exception throwing path after finally block is
distinguished via path label.

KT-42350 Fixed
This commit is contained in:
Jinseong Jeon
2020-10-09 00:12:44 -07:00
committed by Dmitriy Novozhilov
parent 6fc3f7e776
commit ed188204b4
8 changed files with 199 additions and 37 deletions
@@ -27,7 +27,7 @@ fun assignedInTryAndCatch() {
a = 41
} finally {
}
<!UNINITIALIZED_VARIABLE!>a<!>.hashCode()
a.hashCode()
}
fun sideEffectBeforeAssignedInTryAndCatch(s: Any) {
@@ -40,7 +40,7 @@ fun sideEffectBeforeAssignedInTryAndCatch(s: Any) {
a = 41
} finally {
}
<!UNINITIALIZED_VARIABLE!>a<!>.hashCode()
a.hashCode()
}
fun assignedAtAll() {
@@ -4,7 +4,7 @@ fun assignedInTry() {
a = 42
} finally {
}
<!UNINITIALIZED_VARIABLE!>a<!>.hashCode()
a.hashCode()
}
fun sideEffectBeforeAssignmentInTry(s: Any) {
@@ -14,7 +14,7 @@ fun sideEffectBeforeAssignmentInTry(s: Any) {
a = 42
} finally {
}
<!UNINITIALIZED_VARIABLE!>a<!>.hashCode()
a.hashCode()
}
fun assignedInTryAndFinally() {