FIR checker: report uninitialized member/extension properties

This commit is contained in:
Jinseong Jeon
2021-02-23 14:33:44 -08:00
committed by Dmitriy Novozhilov
parent e8028e7825
commit e009b71f88
63 changed files with 487 additions and 230 deletions
@@ -5,7 +5,7 @@ class A(val w: Char) {
val z: Int
val v = -1
val uninitialized: Int
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val uninitialized: Int<!>
val overinitialized: Int
constructor(): this('a') {
@@ -5,7 +5,7 @@ class A {
val z: Int
val v = -1
val uninitialized: Int
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val uninitialized: Int<!>
val overinitialized: Int
constructor() {
@@ -1,5 +1,5 @@
class A0 {
val x: Int
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val x: Int<!>
constructor() {
if (1 == 1) {
return
@@ -12,7 +12,7 @@ class A0 {
}
class A1 {
val x: Int
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val x: Int<!>
constructor() {
if (1 == 1) {
return
@@ -8,7 +8,7 @@ class A(val w: Int) {
val v = -1
val useInitialized = useUnitialized + v + w
val uninitialized: Int
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val uninitialized: Int<!>
constructor(): this(1) {
x + y + v + uninitialized + w
@@ -9,7 +9,11 @@ class A {
val useInitialized = useUnitialized + v
val uninitialized: Int
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val uninitialized: Int<!>
constructor(x: String): this() {
x + y + v + uninitialized
}
constructor() {
x = 1
@@ -30,10 +34,6 @@ class A {
x + y + v + uninitialized
}
constructor(x: String): this() {
x + y + v + uninitialized
}
//anonymous
init {
y
@@ -11,6 +11,10 @@ class A {
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val uninitialized: Int<!>
constructor(x: String): this() {
x + y + v + uninitialized
}
constructor() {
x = 1
y = 2
@@ -30,10 +34,6 @@ class A {
x + y + v + <!UNINITIALIZED_VARIABLE!>uninitialized<!>
}
constructor(x: String): this() {
x + y + v + uninitialized
}
//anonymous
init {
<!UNINITIALIZED_VARIABLE, UNINITIALIZED_VARIABLE!>y<!>