KT-244 Use dataflow info while resolving variable initializers

This commit is contained in:
svtk
2011-12-14 16:01:23 +04:00
committed by Nikolay Krasko
parent d76310f4d6
commit 09acc4d0da
4 changed files with 48 additions and 10 deletions
@@ -0,0 +1,34 @@
namespace kt244
//+JDK
// KT-244 Use dataflow info while resolving variable initializers
fun f(s: String?) {
if (s != null) {
s.length //ok
var <!UNUSED_VARIABLE!>i<!> = s.length //error: Only safe calls are allowed on a nullable receiver
System.out?.println(s.length) //error
}
}
// more tests
class A(a: String?) {
val b = if (a != null) a.length else 1
{
if (a != null) {
val c = a.length
}
}
val i : Int
{
if (a is String) {
i = a.length
}
else {
i = 3
}
}
}