27625b04e1
Now BindingContext includes expression type info instead of jump out possible, data flow info and expression type. getType() was added into BindingContext, getType() and recordType() were added into BindingTrace. JetTypeInfo now includes also jump possible flag and jump point data flow info. Old TypeInfoWithJumpInfo deleted. TypeInfoFactory introduced to create JetTypeInfo instances. A pack of extra tests for break / continue in loops added.
13 lines
293 B
Kotlin
13 lines
293 B
Kotlin
fun bar(): Boolean { return true }
|
|
|
|
public fun foo(x: String?): Int {
|
|
var y: Any
|
|
do {
|
|
y = ""
|
|
y = if (x == null) break else <!DEBUG_INFO_SMARTCAST!>x<!>
|
|
} while (bar())
|
|
y.hashCode()
|
|
// x is null because of the break
|
|
return x<!UNSAFE_CALL!>.<!>length()
|
|
}
|