[FIR] Add REDUNDANT_NULLABLE diagnostics
This commit is contained in:
committed by
TeamCityServer
parent
4caf3c5e83
commit
51b73bb6ae
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_VARIABLE
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Any?) {
|
||||
@@ -108,7 +109,7 @@ fun case_8(x: TypealiasNullableString) {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: TypealiasNullableString?) {
|
||||
fun case_9(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>) {
|
||||
if (<!SENSELESS_COMPARISON!>x === null === null<!>) {
|
||||
|
||||
} else if (<!USELESS_IS_CHECK!>false is Boolean<!>) {
|
||||
@@ -138,7 +139,7 @@ fun case_10() {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 11
|
||||
fun case_11(x: TypealiasNullableStringIndirect?, y: TypealiasNullableStringIndirect) {
|
||||
fun case_11(x: TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>, y: TypealiasNullableStringIndirect) {
|
||||
val t: TypealiasNullableStringIndirect = null
|
||||
|
||||
if (<!EQUALITY_NOT_APPLICABLE!>x == null is Boolean<!>) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNREACHABLE_CODE
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Nothing?) {
|
||||
@@ -68,7 +69,7 @@ fun case_8(x: Nothing?) {
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: Nothing?) {
|
||||
if (!!(<!USELESS_IS_CHECK!>x !is TypealiasNullableStringIndirect?<!>)) else {
|
||||
if (!!(<!USELESS_IS_CHECK!>x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!><!>)) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing?")!>x<!>?.<!UNRESOLVED_REFERENCE!>length<!>
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Any?) {
|
||||
@@ -70,8 +71,8 @@ fun case_8(x: Any?) {
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: Any?) {
|
||||
if (!!!(x !is TypealiasNullableStringIndirect?)) else {
|
||||
if (!(x !is TypealiasNullableStringIndirect?)) else {
|
||||
if (!!!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>)) else {
|
||||
if (!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>)) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>?.<!UNRESOLVED_REFERENCE!>get<!>(0)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// TODO: https://youtrack.jetbrains.com/issue/KT-49862
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Any?) {
|
||||
@@ -68,7 +69,7 @@ fun case_8(x: Any?) {
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: Any?) {
|
||||
if (!!(x !is TypealiasNullableStringIndirect?)) else {
|
||||
if (!!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>)) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & TypealiasNullableStringIndirect?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & TypealiasNullableStringIndirect?")!>x<!>?.get(0)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Any?) {
|
||||
@@ -80,7 +81,7 @@ fun case_8(x: Any?) {
|
||||
* ISSUES: KT-28329
|
||||
*/
|
||||
fun case_9(x: Any?) {
|
||||
if (true && true && !!(x !is TypealiasNullableStringIndirect?) && true && true && true && true) else {
|
||||
if (true && true && !!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>) && true && true && true && true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>?.<!UNRESOLVED_REFERENCE!>get<!>(0)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Any?) {
|
||||
@@ -84,7 +85,7 @@ fun case_8(x: Any?) {
|
||||
* ISSUES: KT-28329
|
||||
*/
|
||||
fun case_9(x: Any?) {
|
||||
if (!!(x !is TypealiasNullableStringIndirect?) !== false === true) else {
|
||||
if (!!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>) !== false === true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & TypealiasNullableStringIndirect?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & TypealiasNullableStringIndirect?")!>x<!>?.get(0)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case_1(x: Any?) {
|
||||
@@ -84,8 +85,8 @@ fun case_8(x: Any?) {
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: Any?) {
|
||||
if (!!!(x !is TypealiasNullableStringIndirect?)) else {
|
||||
if (!!(x !is TypealiasNullableStringIndirect?)) else {
|
||||
if (!!!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>)) else {
|
||||
if (!!(x !is TypealiasNullableStringIndirect<!REDUNDANT_NULLABLE!>?<!>)) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & TypealiasNullableStringIndirect?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & TypealiasNullableStringIndirect?")!>x<!>?.get(0)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_VARIABLE
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// FILE: other_package.kt
|
||||
|
||||
@@ -76,7 +77,7 @@ fun case_8(x: TypealiasNullableString) {
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28329
|
||||
*/
|
||||
fun case_9(x: TypealiasNullableString?) {
|
||||
fun case_9(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>) {
|
||||
if (true && true && true && true && x !== null) {
|
||||
|
||||
} else if (false) {
|
||||
@@ -96,7 +97,7 @@ fun case_10() {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 11
|
||||
fun case_11(x: TypealiasNullableString?, y: TypealiasNullableString) {
|
||||
fun case_11(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>, y: TypealiasNullableString) {
|
||||
val z: TypealiasNullableString = null
|
||||
|
||||
if (x != null) {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
// FIR_IGNORE
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_VARIABLE -UNREACHABLE_CODE -CAN_BE_VAL
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// FILE: other_types.kt
|
||||
|
||||
@@ -153,7 +154,7 @@ fun case_8(x: TypealiasNullableString) {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: TypealiasNullableString?, y: Nothing?) {
|
||||
fun case_9(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>, y: Nothing?) {
|
||||
if (x === y) {
|
||||
|
||||
} else if (false) {
|
||||
@@ -192,7 +193,7 @@ fun case_10() {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 11
|
||||
fun case_11(x: TypealiasNullableString?, y: TypealiasNullableString) {
|
||||
fun case_11(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>, y: TypealiasNullableString) {
|
||||
val z = null
|
||||
val u: TypealiasNullableString = null
|
||||
val v = null
|
||||
@@ -253,7 +254,7 @@ fun case_13(x: EmptyClass12_48?, z: Nothing?) =
|
||||
|
||||
// TESTCASE NUMBER: 14
|
||||
class Case14 {
|
||||
val x: TypealiasNullableString?
|
||||
val x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>
|
||||
init {
|
||||
x = TypealiasNullableString()
|
||||
}
|
||||
@@ -800,7 +801,7 @@ fun case_43(x: TypealiasNullableString) {
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28329
|
||||
*/
|
||||
fun case_44(x: TypealiasNullableString?, z1: Nothing?) {
|
||||
fun case_44(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>, z1: Nothing?) {
|
||||
if (true && true && true && true && x !== z1) {
|
||||
|
||||
} else if (false) {
|
||||
@@ -831,7 +832,7 @@ fun case_45() {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 46
|
||||
fun case_46(x: TypealiasNullableString?, y: TypealiasNullableString) {
|
||||
fun case_46(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>, y: TypealiasNullableString) {
|
||||
val t: TypealiasNullableString = null
|
||||
var z: Nothing? = null
|
||||
|
||||
@@ -879,7 +880,7 @@ fun case_48(x: EmptyClass12_48?, z: Nothing?) =
|
||||
|
||||
// TESTCASE NUMBER: 49
|
||||
class Case49 {
|
||||
val x: TypealiasNullableString?
|
||||
val x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>
|
||||
init {
|
||||
x = TypealiasNullableString()
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_VARIABLE -UNREACHABLE_CODE -CAN_BE_VAL
|
||||
// SKIP_TXT
|
||||
// WITH_EXTENDED_CHECKERS
|
||||
|
||||
// FILE: other_package.kt
|
||||
|
||||
@@ -146,7 +147,7 @@ fun case_8(x: TypealiasString) {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
fun case_9(x: TypealiasNullableString?) {
|
||||
fun case_9(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>) {
|
||||
if (x === null && <!SENSELESS_COMPARISON!>x === null<!> || <!SENSELESS_COMPARISON!>x === null<!>) {
|
||||
|
||||
} else if (<!SENSELESS_COMPARISON!>x === null<!> || <!SENSELESS_COMPARISON!>x === null<!>) {
|
||||
@@ -185,7 +186,7 @@ fun case_10() {
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 11
|
||||
fun case_11(x: TypealiasNullableString?, y: TypealiasNullableString) {
|
||||
fun case_11(x: TypealiasNullableString<!REDUNDANT_NULLABLE!>?<!>, y: TypealiasNullableString) {
|
||||
val t: TypealiasNullableString = null
|
||||
|
||||
if (x == null) {
|
||||
|
||||
Reference in New Issue
Block a user