[FIR] Create error candidate for completion instead of simple error reference

This commit is contained in:
Dmitriy Novozhilov
2020-06-11 15:17:21 +03:00
parent 7c57c4a2fb
commit d7ee168dff
37 changed files with 369 additions and 248 deletions
@@ -12,5 +12,5 @@ FILE: implicitTypes.kt
^loop1 <Inapplicable(INAPPLICABLE): [/use]>#(::R|/loop2|)
}
public final fun loop2(): <ERROR TYPE REF: cycle> {
^loop2 R?C|/loop1|()
^loop2 R|/loop1|()
}
@@ -117,7 +117,7 @@ digraph delegateWithAnonymousObject_kt {
subgraph cluster_11 {
color=red
66 [label="Enter class IssuesListUserProfile" style="filled" fillcolor=red];
64 [label="Enter class IssuesListUserProfile" style="filled" fillcolor=red];
subgraph cluster_12 {
color=blue
48 [label="Enter function setter" style="filled" fillcolor=red];
@@ -144,36 +144,32 @@ digraph delegateWithAnonymousObject_kt {
57 [label="Postponed exit from lambda"];
58 [label="Function call: this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(...)"];
59 [label="Access variable this@R|/IssuesListUserProfile|"];
60 [label="Access variable this@R|/IssuesListUserProfile|"];
61 [label="Access variable this@R|/IssuesListUserProfile|"];
62 [label="Function call: this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(...).<Unresolved name: provideDelegate>#(...)"];
63 [label="Postponed enter to lambda"];
60 [label="Function call: this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(...).<Unresolved name: provideDelegate>#(...)"];
61 [label="Postponed enter to lambda"];
subgraph cluster_15 {
color=blue
21 [label="Enter function anonymousFunction" style="filled" fillcolor=red];
23 [label="Exit anonymous object"];
22 [label="Exit function anonymousFunction" style="filled" fillcolor=red];
}
64 [label="Postponed exit from lambda"];
65 [label="Function call: this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(...)"];
62 [label="Postponed exit from lambda"];
63 [label="Function call: this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(...)"];
55 [label="Exit property" style="filled" fillcolor=red];
}
67 [label="Exit class IssuesListUserProfile" style="filled" fillcolor=red];
65 [label="Exit class IssuesListUserProfile" style="filled" fillcolor=red];
}
66 -> {54} [color=green];
64 -> {54} [color=green];
54 -> {56};
55 -> {67} [color=green];
55 -> {65} [color=green];
56 -> {57};
57 -> {58};
58 -> {59};
59 -> {60};
60 -> {61};
61 -> {62};
61 -> {21} [color=red];
62 -> {63};
63 -> {64};
63 -> {21} [color=red];
64 -> {65};
65 -> {55};
63 -> {55};
21 -> {23};
21 -> {24 27 32} [color=red];
23 -> {22};
@@ -7,19 +7,19 @@ FILE: simpleDelegatedToMap.kt
public final val map: R|kotlin/collections/MutableMap<kotlin/String, kotlin/Any>| = R|<local>/map|
public get(): R|kotlin/collections/MutableMap<kotlin/String, kotlin/Any>|
public final var foo: <ERROR TYPE REF: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>by R|<local>/map|
public get(): <ERROR TYPE REF: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]> {
public final var foo: R|ERROR CLASS: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]|by R|<local>/map|
public get(): R|ERROR CLASS: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]| {
^ this@R|/C|.D|/C.foo|.<Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>#(this@R|/C|, ::R|/C.foo|)
}
public set(<set-?>: <ERROR TYPE REF: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>): R|kotlin/Unit| {
public set(<set-?>: R|ERROR CLASS: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]|): R|kotlin/Unit| {
this@R|/C|.D|/C.foo|.<Inapplicable(INAPPLICABLE): [kotlin/collections/setValue]>#(this@R|/C|, ::R|/C.foo|, R|<local>/foo|)
}
}
public final var bar: <ERROR TYPE REF: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>by R|kotlin/collections/hashMapOf|<R|kotlin/String|, R|kotlin/Any|>()
public get(): <ERROR TYPE REF: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]> {
public final var bar: R|ERROR CLASS: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]|by R|kotlin/collections/hashMapOf|<R|kotlin/String|, R|kotlin/Any|>()
public get(): R|ERROR CLASS: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]| {
^ D|/bar|.<Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>#(Null(null), ::R|/bar|)
}
public set(<set-?>: <ERROR TYPE REF: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>): R|kotlin/Unit| {
public set(<set-?>: R|ERROR CLASS: Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]|): R|kotlin/Unit| {
D|/bar|.<Inapplicable(INAPPLICABLE): [kotlin/collections/setValue]>#(Null(null), ::R|/bar|, R|<local>/bar|)
}