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
@@ -5,25 +5,25 @@ val value_1 = <!UNRESOLVED_REFERENCE!>E0<!>
val value_2 = <!UNRESOLVED_REFERENCE!>e000<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>+<!>0
val value_3 = <!UNRESOLVED_REFERENCE!>E<!>+0
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>e00<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>+<!>1
val value_5 = <!UNRESOLVED_REFERENCE!>e<!>+1
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>e22<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>-<!>333
val value_7 = <!UNRESOLVED_REFERENCE!>E<!>-333
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>e4444<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>-<!>55555
val value_9 = <!UNRESOLVED_REFERENCE!>e<!>-55555
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>e666666<!>
@@ -32,7 +32,7 @@ val value_10 = <!UNRESOLVED_REFERENCE!>e666666<!>
val value_11 = <!UNRESOLVED_REFERENCE!>E7777777<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>-<!>88888888
val value_12 = <!UNRESOLVED_REFERENCE!>e<!>-88888888
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>+<!>999999999
val value_13 = <!UNRESOLVED_REFERENCE!>E<!>+999999999
@@ -5,25 +5,25 @@ val value_1 = <!UNRESOLVED_REFERENCE!>E0f<!>
val value_2 = <!UNRESOLVED_REFERENCE!>e000F<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>+<!>0f
val value_3 = <!UNRESOLVED_REFERENCE!>E<!>+0f
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>e00f<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>+<!>1F
val value_5 = <!UNRESOLVED_REFERENCE!>e<!>+1F
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>e22F<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>-<!>333F
val value_7 = <!UNRESOLVED_REFERENCE!>E<!>-333F
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>e4444f<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>-<!>55555f
val value_9 = <!UNRESOLVED_REFERENCE!>e<!>-55555f
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>e666666F<!>
@@ -32,7 +32,7 @@ val value_10 = <!UNRESOLVED_REFERENCE!>e666666F<!>
val value_11 = <!UNRESOLVED_REFERENCE!>E7777777f<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>e<!><!AMBIGUITY!>-<!>88888888F
val value_12 = <!UNRESOLVED_REFERENCE!>e<!>-88888888F
// TESTCASE NUMBER: 13
val value_13 = <!UNRESOLVED_REFERENCE!>E<!><!AMBIGUITY!>+<!>999999999F
val value_13 = <!UNRESOLVED_REFERENCE!>E<!>+999999999F
@@ -191,7 +191,7 @@ fun case_13(x: <!UNRESOLVED_REFERENCE!>otherpackage.Case13?<!>) =
class Case14 {
val x: <!UNRESOLVED_REFERENCE!>otherpackage.Case14?<!>
init {
x = <!UNRESOLVED_REFERENCE!>otherpackage<!>.<!UNRESOLVED_REFERENCE!>Case14<!>()
x = <!UNRESOLVED_REFERENCE!>otherpackage<!>.Case14()
}
}