[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
@@ -8,8 +8,8 @@ fun case_1(x: Class?) {
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>.fun_4()
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>.fun_4().<!INAPPLICABLE_CANDIDATE!>fun_4<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>.fun_4().<!INAPPLICABLE_CANDIDATE!>fun_4<!>().<!UNRESOLVED_REFERENCE!>fun_4<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>.fun_4().<!INAPPLICABLE_CANDIDATE!>fun_4<!>().<!UNRESOLVED_REFERENCE!>fun_4<!>().<!UNRESOLVED_REFERENCE!>fun_4<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>.fun_4().<!INAPPLICABLE_CANDIDATE!>fun_4<!>().<!INAPPLICABLE_CANDIDATE!>fun_4<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>.fun_4().<!INAPPLICABLE_CANDIDATE!>fun_4<!>().<!INAPPLICABLE_CANDIDATE!>fun_4<!>().<!INAPPLICABLE_CANDIDATE!>fun_4<!>()
}
}
@@ -36,6 +36,6 @@ fun case_4(x: Class?) {
if (x?.prop_8.also { } != null) {
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>prop_8<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>prop_8<!>.<!UNRESOLVED_REFERENCE!>fun_4<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>prop_8<!>.<!INAPPLICABLE_CANDIDATE!>fun_4<!>()
}
}