FIR checker: warn unnecessary non-null assertions
This commit is contained in:
committed by
Mikhail Glukhikh
parent
5229d4e4f4
commit
2ecb6733ed
Vendored
+2
-2
@@ -11,7 +11,7 @@ fun takeB(b: B) {}
|
||||
|
||||
fun test_1() {
|
||||
val flag = SomeEnum.A1
|
||||
val b: B = when (flag!!) {
|
||||
val b: B = when (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {
|
||||
SomeEnum.A1 -> B()
|
||||
SomeEnum.A2 -> B()
|
||||
}
|
||||
@@ -21,7 +21,7 @@ fun test_1() {
|
||||
fun test_2() {
|
||||
val flag = SomeEnum.A1
|
||||
|
||||
val b = when (flag!!) {
|
||||
val b = when (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {
|
||||
SomeEnum.A1 -> B()
|
||||
SomeEnum.A2 -> B()
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ fun get(f: Boolean) = if (f) {A.A1} else {""}
|
||||
<!CONFLICTING_OVERLOADS!>fun case2()<!> {
|
||||
|
||||
val flag: Any = get(false) //string
|
||||
val l1 = <!NO_ELSE_IN_WHEN!>when<!> (flag!!) { // should be NO_ELSE_IN_WHEN
|
||||
val l1 = <!NO_ELSE_IN_WHEN!>when<!> (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) { // should be NO_ELSE_IN_WHEN
|
||||
A.A1 -> B()
|
||||
A.A2 -> B()
|
||||
}
|
||||
@@ -30,7 +30,7 @@ fun get(f: Boolean) = if (f) {A.A1} else {""}
|
||||
<!CONFLICTING_OVERLOADS!>fun case2()<!> {
|
||||
|
||||
val flag: Any = get(true) //A
|
||||
val l1 = <!NO_ELSE_IN_WHEN!>when<!> (flag!!) {// should be NO_ELSE_IN_WHEN
|
||||
val l1 = <!NO_ELSE_IN_WHEN!>when<!> (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {// should be NO_ELSE_IN_WHEN
|
||||
A.A1 -> B()
|
||||
A.A2 -> B()
|
||||
}
|
||||
@@ -44,7 +44,7 @@ fun get(f: Boolean) = if (f) {A.A1} else {""}
|
||||
fun case3() {
|
||||
|
||||
val flag = "" //A
|
||||
val l1 = <!NO_ELSE_IN_WHEN!>when<!> (flag!!) {// should be NO_ELSE_IN_WHEN
|
||||
val l1 = <!NO_ELSE_IN_WHEN!>when<!> (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {// should be NO_ELSE_IN_WHEN
|
||||
A.A1 -> B() //should be INCOMPATIBLE_TYPES
|
||||
A.A2 -> B() //should be INCOMPATIBLE_TYPES
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class C(val b: B)
|
||||
// TESTCASE NUMBER: 1
|
||||
fun case1() {
|
||||
val flag = A.A1
|
||||
val l0: B = when (flag!!) {
|
||||
val l0: B = when (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {
|
||||
A.A1 -> B()
|
||||
A.A2 -> B()
|
||||
}
|
||||
@@ -34,7 +34,7 @@ fun case2() {
|
||||
fun case3() {
|
||||
val flag = A.A1
|
||||
|
||||
val l1 = when (flag!!) {
|
||||
val l1 = when (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {
|
||||
A.A1 -> B()
|
||||
A.A2 -> B()
|
||||
}
|
||||
@@ -68,7 +68,7 @@ fun case5() {
|
||||
// TESTCASE NUMBER: 6
|
||||
fun case6() {
|
||||
val flag: Any = A.A1
|
||||
val l1 = when (flag!!) {
|
||||
val l1 = when (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {
|
||||
A.A1 -> B()
|
||||
A.A2 -> B()
|
||||
else -> B()
|
||||
@@ -91,7 +91,7 @@ fun case7() {
|
||||
// TESTCASE NUMBER: 8
|
||||
fun case8() {
|
||||
val flag: Any = A.A1
|
||||
val l1: B = when (flag!!) {
|
||||
val l1: B = when (flag<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>) {
|
||||
A.A1 -> B()
|
||||
A.A2 -> B()
|
||||
else -> B()
|
||||
|
||||
@@ -16,5 +16,5 @@ fun foo() {
|
||||
var c: MutableSet<String>? = null
|
||||
c = HashSet()
|
||||
|
||||
c!!.d = produce()
|
||||
}
|
||||
c<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.d = produce()
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
fun foo() {
|
||||
val inv = {{}}!!
|
||||
val inv = {{}}<!NOT_NULL_ASSERTION_ON_LAMBDA_EXPRESSION!>!!<!>
|
||||
val bar = {{}}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user