FIR checker: skip error named reference if receiver is unresolved

Currently, FIR reports errors caused by previous resolution failure. For
example with unresolved `a` and `b` in code `a.b`, both `a` and `b` are
highlighted. FE1.0 only highlights `a` since it's the root cause. This
change applies this heuristics when reporting FirDiagnostics.
This commit is contained in:
Tianyu Geng
2021-03-25 12:20:18 -07:00
committed by Dmitriy Novozhilov
parent d6907222cd
commit fb14b03824
73 changed files with 209 additions and 228 deletions
@@ -3,18 +3,18 @@
fun test1() {
if (<!UNRESOLVED_REFERENCE!>rr<!>) {
if (<!UNRESOLVED_REFERENCE!>l<!>) {
<!UNRESOLVED_REFERENCE!>a<!>.<!UNRESOLVED_REFERENCE!>q<!>()
<!UNRESOLVED_REFERENCE!>a<!>.q()
}
else {
<!UNRESOLVED_REFERENCE!>a<!>.<!UNRESOLVED_REFERENCE!>w<!>()
<!UNRESOLVED_REFERENCE!>a<!>.w()
}
}
else {
if (<!UNRESOLVED_REFERENCE!>n<!>) {
<!UNRESOLVED_REFERENCE!>a<!>.<!UNRESOLVED_REFERENCE!>t<!>()
<!UNRESOLVED_REFERENCE!>a<!>.t()
}
else {
<!UNRESOLVED_REFERENCE!>a<!>.<!UNRESOLVED_REFERENCE!>u<!>()
<!UNRESOLVED_REFERENCE!>a<!>.u()
}
}
}