[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible

Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
This commit is contained in:
Dmitriy Novozhilov
2020-07-22 16:40:14 +03:00
committed by Mikhail Glukhikh
parent 5c0528b61e
commit f283f2db43
365 changed files with 1400 additions and 1451 deletions
@@ -4,7 +4,7 @@ package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.<!INAPPLICABLE_CANDIDATE!>doSomething<!> { }
javaClass.<!HIDDEN!>doSomething<!> { }
}
// FILE: KotlinFile2.kt
@@ -15,4 +15,4 @@ fun foo(javaClass: JavaClass) {
// FILE: JavaClass.java
public class JavaClass {
void doSomething(Runnable runnable) { runnable.run(); }
}
}
@@ -1,10 +1,10 @@
// !WITH_NEW_INFERENCE
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.<!INAPPLICABLE_CANDIDATE!>doSomething<!> { }
javaClass.<!HIDDEN!>doSomething<!> { }
}
// FILE: JavaClass.java
public class JavaClass {
private void doSomething(Runnable runnable) { runnable.run(); }
}
}
@@ -4,7 +4,7 @@ package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.<!INAPPLICABLE_CANDIDATE!>doSomething<!> {
javaClass.<!HIDDEN!>doSomething<!> {
bar()
}
}
@@ -32,5 +32,5 @@ fun x(a: A, r: Runnable) {
a.bar(null as CharSequence?) checkType { _<String>() }
a.bar("") checkType { _<String>() }
a.<!INAPPLICABLE_CANDIDATE!>bar<!>(123)
a.<!NONE_APPLICABLE!>bar<!>(123)
}
@@ -32,5 +32,5 @@ fun x(r: Runnable) {
A.bar(null as CharSequence?) checkType { _<String>() }
A.bar("") checkType { _<String>() }
A.<!INAPPLICABLE_CANDIDATE!>bar<!>(123)
A.<!NONE_APPLICABLE!>bar<!>(123)
}
@@ -33,5 +33,5 @@ fun x(r: Runnable) {
A.bar(null as CharSequence?) checkType { _<String>() }
A.bar("") checkType { _<String>() }
A.<!INAPPLICABLE_CANDIDATE!>bar<!>(123)
A.<!NONE_APPLICABLE!>bar<!>(123)
}
@@ -33,5 +33,5 @@ fun x(a: A, r: Runnable) {
a.bar(null as CharSequence?) checkType { _<String>() }
a.bar("") checkType { _<String>() }
a.<!INAPPLICABLE_CANDIDATE!>bar<!>(123)
a.<!NONE_APPLICABLE!>bar<!>(123)
}