[FIR] Add checker for uninitialized properties

This commit is contained in:
Dmitriy Novozhilov
2020-06-17 11:51:15 +03:00
parent 25621d699b
commit 26458875d5
96 changed files with 1476 additions and 1358 deletions
@@ -0,0 +1,32 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNREACHABLE_CODE -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* TESTCASE NUMBER: 1
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-35565
*/
fun case1() {
val x1: String
val x: Boolean
try {
val x0: Boolean = (throw Exception()) || true
!<!UNINITIALIZED_VARIABLE!>x<!> // UNINITIALIZED_VARIABLE should be
val a: Int = <!UNINITIALIZED_VARIABLE!>x1<!>.toInt() // UNINITIALIZED_VARIABLE should be
} catch (e: Exception) {
}
}
/*
* TESTCASE NUMBER: 2
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-35565
*/
fun case2() {
val x: Boolean = false
try {
x = (throw Exception()) || true //VAL_REASSIGNMENT should be
} catch (e: Exception) {
}
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNREACHABLE_CODE -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT