[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:
committed by
Mikhail Glukhikh
parent
5c0528b61e
commit
f283f2db43
@@ -22,24 +22,24 @@ import j.JavaProtected
|
||||
import j.JavaPackageLocal
|
||||
|
||||
class A {
|
||||
val p1 = JavaPackageLocal.<!INAPPLICABLE_CANDIDATE!>javaPPackage<!>
|
||||
val p2 = JavaProtected.<!INAPPLICABLE_CANDIDATE!>javaPProtectedStatic<!>
|
||||
val p3 = JavaProtected().<!INAPPLICABLE_CANDIDATE!>javaPProtectedPackage<!>
|
||||
val p1 = JavaPackageLocal.<!HIDDEN!>javaPPackage<!>
|
||||
val p2 = JavaProtected.<!HIDDEN!>javaPProtectedStatic<!>
|
||||
val p3 = JavaProtected().<!HIDDEN!>javaPProtectedPackage<!>
|
||||
|
||||
fun test() {
|
||||
JavaProtected.<!INAPPLICABLE_CANDIDATE!>javaMProtectedStatic<!>()
|
||||
JavaPackageLocal.<!INAPPLICABLE_CANDIDATE!>javaMPackage<!>()
|
||||
JavaProtected.<!HIDDEN!>javaMProtectedStatic<!>()
|
||||
JavaPackageLocal.<!HIDDEN!>javaMPackage<!>()
|
||||
}
|
||||
}
|
||||
|
||||
class B : JavaProtected() {
|
||||
val p1 = JavaPackageLocal.<!INAPPLICABLE_CANDIDATE!>javaPPackage<!>
|
||||
val p1 = JavaPackageLocal.<!HIDDEN!>javaPPackage<!>
|
||||
val p2 = JavaProtected.javaPProtectedStatic
|
||||
val p3 = javaPProtectedPackage
|
||||
|
||||
fun test() {
|
||||
JavaProtected.javaMProtectedStatic()
|
||||
JavaPackageLocal.<!INAPPLICABLE_CANDIDATE!>javaMPackage<!>()
|
||||
JavaPackageLocal.<!HIDDEN!>javaMPackage<!>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,4 +59,4 @@ class C {
|
||||
JavaProtected.javaMProtectedStatic()
|
||||
JavaPackageLocal.javaMPackage()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ import k.two
|
||||
import k.all
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>zero<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>zero<!>(1)
|
||||
<!INAPPLICABLE_CANDIDATE!>zero<!>("")
|
||||
<!NONE_APPLICABLE!>zero<!>()
|
||||
<!NONE_APPLICABLE!>zero<!>(1)
|
||||
<!NONE_APPLICABLE!>zero<!>("")
|
||||
|
||||
one()
|
||||
<!INAPPLICABLE_CANDIDATE!>one<!>(1)
|
||||
@@ -42,4 +42,4 @@ fun test() {
|
||||
all()
|
||||
all(1)
|
||||
all("")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,9 +29,9 @@ private object TopLevelObject {
|
||||
}
|
||||
|
||||
fun testAccess() {
|
||||
<!INAPPLICABLE_CANDIDATE!>NestedClass<!>()
|
||||
<!HIDDEN!>NestedClass<!>()
|
||||
E1
|
||||
InNested()
|
||||
NestedEntry
|
||||
inObject()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -15,4 +15,4 @@ package p1
|
||||
import p2.*
|
||||
|
||||
val <!EXPOSED_PROPERTY_TYPE!>x<!>: X = X()
|
||||
val <!EXPOSED_PROPERTY_TYPE!>y<!>: Y = <!INAPPLICABLE_CANDIDATE!>Y<!>()
|
||||
val <!EXPOSED_PROPERTY_TYPE!>y<!>: Y = <!HIDDEN!>Y<!>()
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@ package a
|
||||
import pack1.*
|
||||
import pack2.*
|
||||
|
||||
class X : <!EXPOSED_SUPER_CLASS, INAPPLICABLE_CANDIDATE!>SomeClass<!>()
|
||||
class X : <!EXPOSED_SUPER_CLASS, HIDDEN!>SomeClass<!>()
|
||||
|
||||
+1
-1
@@ -8,4 +8,4 @@ package a
|
||||
|
||||
import pack1.*
|
||||
|
||||
private class X : <!INAPPLICABLE_CANDIDATE!>SomeClass<!>()
|
||||
private class X : <!HIDDEN!>SomeClass<!>()
|
||||
|
||||
@@ -17,5 +17,5 @@ package a
|
||||
import pack1.SomeClass.*
|
||||
import pack2.*
|
||||
|
||||
class X : <!EXPOSED_SUPER_CLASS, INAPPLICABLE_CANDIDATE!>N<!>()
|
||||
class X : <!EXPOSED_SUPER_CLASS, HIDDEN!>N<!>()
|
||||
class Y : PublicNested()
|
||||
|
||||
+1
-1
@@ -11,4 +11,4 @@ package a
|
||||
|
||||
import pack1.SomeClass.*
|
||||
|
||||
private class X : <!INAPPLICABLE_CANDIDATE!>N<!>()
|
||||
private class X : <!HIDDEN!>N<!>()
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
import B.foo
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>
|
||||
<!HIDDEN!>foo<!>
|
||||
}
|
||||
|
||||
// FILE: B.kt
|
||||
@@ -13,4 +13,4 @@ object B : C<String>()
|
||||
|
||||
open class C<T> {
|
||||
private var foo: String = "abc"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user