cfg analyzing enhancement

This commit is contained in:
svtk
2011-11-03 18:31:18 +04:00
parent 2eb7835ae1
commit 6a16cecce9
7 changed files with 175 additions and 81 deletions
@@ -247,4 +247,62 @@ class ForwardAccessToBackingField() { //kt-147
val a = <!UNRESOLVED_REFERENCE, UNINITIALIZED_VARIABLE!>$a<!> // error
val b = <!UNINITIALIZED_VARIABLE!>$c<!> // error
val c = 1
}
class ClassObject() {
class object {
val x : Int
{
$x = 1
}
fun foo() {
val a : Int
doSmth(<!UNINITIALIZED_VARIABLE!>a<!>)
}
}
}
fun foo() {
val a = object {
val x : Int
val <!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>y<!> : Int
{
$x = 1
}
//todo
/* fun foo() {
<VAL_REASSIGNMENT>y<> = 10
}*/
}
}
object O {
val x : Int
val <!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>y<!> : Int
{
$x = 1
}
fun foo() {
<!VAL_REASSIGNMENT!>y<!> = 10
val i: Int
if (1 < 3) {
i = 10
}
doSmth(<!UNINITIALIZED_VARIABLE!>i<!>)
}
}
fun foo() {
val b = 1
val a = object {
val x = b
{
<!VAL_REASSIGNMENT!>b<!> = 4
<!UNRESOLVED_REFERENCE!>$b<!> = 3
}
}
}