[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
@@ -404,7 +404,7 @@ digraph flowFromInplaceLambda_kt {
142 [label="Function call: R|/select|<R|kotlin/Int|>(...)"];
143 [label="Variable declaration: lval a: R|kotlin/Int|"];
144 [label="Access variable R|<local>/x|"];
145 [label="Function call: <Inapplicable(INAPPLICABLE): [/takeInt]>#(...)"];
145 [label="Function call: <Inapplicable(INAPPLICABLE): /takeInt>#(...)"];
146 [label="Access variable R|<local>/y|"];
147 [label="Function call: R|/takeInt|(...)"];
148 [label="Access variable R|<local>/a|"];
@@ -63,7 +63,7 @@ FILE: flowFromInplaceLambda.kt
^ Int(1)
}
)))
<Inapplicable(INAPPLICABLE): [/takeInt]>#(R|<local>/x|)
<Inapplicable(INAPPLICABLE): /takeInt>#(R|<local>/x|)
R|/takeInt|(R|<local>/y|)
R|/takeInt|(R|<local>/a|)
}
+1 -1
View File
@@ -127,7 +127,7 @@ digraph jumps_kt {
}
51 [label="Variable declaration: lval y: R|kotlin/Int?|"];
52 [label="Access variable R|<local>/y|"];
53 [label="Function call: R|<local>/y|.<Inapplicable(WRONG_RECEIVER): [kotlin/Int.inc]>#()"];
53 [label="Function call: R|<local>/y|.<Inapplicable(WRONG_RECEIVER): kotlin/Int.inc>#()"];
54 [label="Exit block"];
}
55 [label="Exit function test_2" style="filled" fillcolor=red];
+1 -1
View File
@@ -22,7 +22,7 @@ FILE: jumps.kt
}
}
R|<local>/y|.<Inapplicable(WRONG_RECEIVER): [kotlin/Int.inc]>#()
R|<local>/y|.<Inapplicable(WRONG_RECEIVER): kotlin/Int.inc>#()
}
public final fun test_3(x: R|kotlin/Int?|): R|kotlin/Unit| {
while(Boolean(true)) {