[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
+1
-1
@@ -8,6 +8,6 @@ class Foo : BaseClass() {
|
||||
fun bar() {
|
||||
val f = foo()
|
||||
f.x
|
||||
f.<!INAPPLICABLE_CANDIDATE!>y<!>
|
||||
f.<!HIDDEN!>y<!>
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+6
-6
@@ -39,20 +39,20 @@ class KotlinClass2 : JavaClass() {
|
||||
}
|
||||
|
||||
fun test(a: KotlinClass, b: KotlinClass2) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // Error, protected_and_package declared in different package
|
||||
a.<!HIDDEN!>foo<!>() // Error, protected_and_package declared in different package
|
||||
b.foo() // Error, protected visibility in same package (but could be protected_and_package)
|
||||
|
||||
a.<!INAPPLICABLE_CANDIDATE!>field<!>
|
||||
a.<!HIDDEN!>field<!>
|
||||
|
||||
JavaClass.<!INAPPLICABLE_CANDIDATE!>bar1<!>()
|
||||
JavaClass.<!INAPPLICABLE_CANDIDATE!>CONST1<!>
|
||||
JavaClass.<!HIDDEN!>bar1<!>()
|
||||
JavaClass.<!HIDDEN!>CONST1<!>
|
||||
|
||||
KotlinClass.<!UNRESOLVED_REFERENCE!>bar1<!>() // Currently it's unresolved, but it should be prohibited even in case it would be resolved
|
||||
KotlinClass.<!UNRESOLVED_REFERENCE!>CONST1<!>
|
||||
|
||||
JavaClassSamePackage.<!INAPPLICABLE_CANDIDATE!>bar1<!>()
|
||||
JavaClassSamePackage.<!HIDDEN!>bar1<!>()
|
||||
JavaClassSamePackage.bar2()
|
||||
|
||||
JavaClassSamePackage.<!INAPPLICABLE_CANDIDATE!>CONST1<!>
|
||||
JavaClassSamePackage.<!HIDDEN!>CONST1<!>
|
||||
JavaClassSamePackage.CONST2
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -4,7 +4,7 @@ open class A {
|
||||
|
||||
fun bar(x: B) {
|
||||
x.foo() // OK, foo declared in A
|
||||
x.<!INAPPLICABLE_CANDIDATE!>baz<!>() // Declared in B
|
||||
x.<!HIDDEN!>baz<!>() // Declared in B
|
||||
x.foobaz() // Declared in B
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -40,6 +40,6 @@ class B : A() {
|
||||
}
|
||||
|
||||
fun baz(a: A) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>
|
||||
a.<!HIDDEN!>foo<!>
|
||||
a.bar = a.bar + ""
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -27,5 +27,5 @@ class B : A() {
|
||||
}
|
||||
|
||||
fun baz(a: A) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!> { }
|
||||
a.<!HIDDEN!>foo<!> { }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user