Introduce FirFunctionReturnTypeMismatchChecker
This commit is contained in:
@@ -33,5 +33,5 @@ fun baz(s: String?, r: String?): String {
|
||||
fun withNull(s: String?): String {
|
||||
val t = s ?: null
|
||||
// Error: nullable
|
||||
return t
|
||||
return <!RETURN_TYPE_MISMATCH!>t<!>
|
||||
}
|
||||
@@ -8,7 +8,7 @@ class Immutable(val x: String?) {
|
||||
|
||||
class Mutable(var y: String?) {
|
||||
fun foo(): String {
|
||||
if (y != null) return y
|
||||
if (y != null) return <!RETURN_TYPE_MISMATCH!>y<!>
|
||||
return ""
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -3,5 +3,5 @@
|
||||
fun calc(x: List<String>?, y: Int?): Int {
|
||||
x?.subList(y!! - 1, y)
|
||||
// y!! above should not provide smart cast here
|
||||
return y
|
||||
return <!RETURN_TYPE_MISMATCH!>y<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@ fun calc(x: String?, y: Int?): Int {
|
||||
// Smart cast because of x!! in receiver
|
||||
foo(x!!)?.subSequence(y!!, x.length)?.length
|
||||
// No smart cast possible
|
||||
return y
|
||||
return <!RETURN_TYPE_MISMATCH!>y<!>
|
||||
}
|
||||
|
||||
@@ -13,5 +13,5 @@ fun list(start: SomeObject): SomeObject {
|
||||
e = e<!UNSAFE_CALL!>.<!>next()
|
||||
}
|
||||
// Smart cast is not possible here due to next()
|
||||
return e
|
||||
return <!RETURN_TYPE_MISMATCH!>e<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,5 +14,5 @@ fun list(start: SomeObject): SomeObject {
|
||||
e.doSomething()
|
||||
e = e.next()
|
||||
}
|
||||
return e
|
||||
return <!RETURN_TYPE_MISMATCH!>e<!>
|
||||
}
|
||||
+1
-1
@@ -14,5 +14,5 @@ fun list(start: SomeObject): SomeObject {
|
||||
e.doSomething()
|
||||
e = e.next()
|
||||
}
|
||||
return e
|
||||
return <!RETURN_TYPE_MISMATCH!>e<!>
|
||||
}
|
||||
Reference in New Issue
Block a user