ed188204b4
In particular, exception throwing path after finally block is distinguished via path label. KT-42350 Fixed
40 lines
612 B
Kotlin
Vendored
40 lines
612 B
Kotlin
Vendored
fun assignedInTry() {
|
|
val a: Int
|
|
try {
|
|
a = 42
|
|
} finally {
|
|
}
|
|
a.hashCode()
|
|
}
|
|
|
|
fun sideEffectBeforeAssignmentInTry(s: Any) {
|
|
val a: Int
|
|
try {
|
|
s as String // Potential cast exception
|
|
a = 42
|
|
} finally {
|
|
}
|
|
a.hashCode()
|
|
}
|
|
|
|
fun assignedInTryAndFinally() {
|
|
val a: Int
|
|
try {
|
|
a = 42
|
|
} finally {
|
|
a = 41
|
|
}
|
|
a.hashCode()
|
|
}
|
|
|
|
fun sideEffectBeforeAssignmentInTryButNotFinally(s: Any) {
|
|
val a: Int
|
|
try {
|
|
s as String // Potential cast exception
|
|
a = 42
|
|
} finally {
|
|
a = 41
|
|
}
|
|
a.hashCode()
|
|
}
|