FIR checker: report (expected|unnecessary) lateinit

This commit is contained in:
Jinseong Jeon
2021-03-08 12:35:02 -08:00
committed by Mikhail Glukhikh
parent 815e40620c
commit d2da15e039
25 changed files with 98 additions and 73 deletions
@@ -0,0 +1,6 @@
class Test {
<!UNNECESSARY_LATEINIT!>lateinit<!> var someRunnable: Runnable
init {
someRunnable = Runnable { someRunnable.run() }
}
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
class Test {
lateinit var someRunnable: Runnable
init {
@@ -1,9 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
lateinit var bar: String
constructor(baz: Int) {
bar = ""
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
@@ -1,7 +0,0 @@
class Foo {
lateinit var bar: String
init {
bar = ""
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
class Foo {
<!UNNECESSARY_LATEINIT!>lateinit<!> var bar: String
@@ -1,13 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
lateinit var bar: String
constructor() {
bar = ""
}
constructor(baz: Int) {
bar = ""
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
@@ -1,15 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
lateinit var bar: String
constructor() {
bar = ""
}
constructor(a: Int) : this() {
}
constructor(a: Int, b: Int) : this(a) {
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
@@ -0,0 +1,8 @@
class Foo {
<!UNNECESSARY_LATEINIT!>lateinit<!> var bar: String
constructor(baz: Int) {
// At best, we should have error here despite of lateinit
bar += baz
}
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
class Foo {
lateinit var bar: String
@@ -1,13 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {
lateinit var bar: String
constructor() {
bar = ""
}
constructor(a: Int) : <!CYCLIC_CONSTRUCTOR_DELEGATION_CALL!>this<!>(a) {
bar = "a"
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class Foo {