FIR: report UNSAFE_CALL on dot when possible
This commit is contained in:
@@ -64,7 +64,7 @@ import outer.*
|
||||
|
||||
command.foo
|
||||
|
||||
command.<!UNSAFE_CALL!>equals<!>(null)
|
||||
command<!UNSAFE_CALL!>.<!>equals(null)
|
||||
command?.equals(null)
|
||||
command.equals1(null)
|
||||
command?.equals1(null)
|
||||
|
||||
@@ -9,13 +9,13 @@ interface T {
|
||||
}
|
||||
|
||||
fun test(t: T) {
|
||||
t.<!UNSAFE_CALL!>f<!>(1) //unsafe call error
|
||||
t<!UNSAFE_CALL!>.<!>f(1) //unsafe call error
|
||||
t.f?.invoke(1)
|
||||
}
|
||||
|
||||
fun test1(t: T?) {
|
||||
t.<!UNRESOLVED_REFERENCE!>f<!>(1) // todo resolve f as value and report UNSAFE_CALL
|
||||
t?.<!UNSAFE_CALL!>f<!>(1)
|
||||
t.<!UNSAFE_CALL!>f<!>?.invoke(1)
|
||||
t<!UNSAFE_CALL!>.<!>f?.invoke(1)
|
||||
t?.f?.invoke(1)
|
||||
}
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ fun <R> List<R>.a() {}
|
||||
|
||||
fun test1(i: Int?) {
|
||||
1.<!INAPPLICABLE_CANDIDATE!>a<!>()
|
||||
i.<!UNSAFE_CALL!>a<!>()
|
||||
i<!UNSAFE_CALL!>.<!>a()
|
||||
}
|
||||
|
||||
fun <R> test2(c: Collection<R>) {
|
||||
@@ -19,7 +19,7 @@ fun Int.foo() {}
|
||||
|
||||
fun test3(s: String?) {
|
||||
"".<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
s.<!UNSAFE_CALL!>foo<!>()
|
||||
s<!UNSAFE_CALL!>.<!>foo()
|
||||
"".<!INAPPLICABLE_CANDIDATE!>foo<!>(1)
|
||||
s.<!INAPPLICABLE_CANDIDATE!>foo<!>("a")
|
||||
}
|
||||
@@ -52,5 +52,5 @@ fun test7(l: List<String?>) {
|
||||
}
|
||||
|
||||
fun test8(l: List<Any>?) {
|
||||
l.<!UNSAFE_CALL!>b<!>()
|
||||
l<!UNSAFE_CALL!>.<!>b()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user