6a03f31e50
Previously unsafe call is reported as part of InapplicableWrongReceiver. This makes it difficult for the downstream checkers to report different diagnostics.
126 lines
3.8 KiB
Plaintext
Vendored
126 lines
3.8 KiB
Plaintext
Vendored
digraph smartcastAfterReassignment_kt {
|
|
graph [nodesep=3]
|
|
node [shape=box penwidth=2]
|
|
edge [penwidth=2]
|
|
|
|
subgraph cluster_0 {
|
|
color=red
|
|
0 [label="Enter function test_1" style="filled" fillcolor=red];
|
|
subgraph cluster_1 {
|
|
color=blue
|
|
1 [label="Enter block"];
|
|
2 [label="Const: Int(1)"];
|
|
3 [label="Variable declaration: lvar x: R|kotlin/Any|"];
|
|
4 [label="Const: String()"];
|
|
5 [label="Assignment: R|<local>/x|"];
|
|
6 [label="Access variable R|<local>/x|"];
|
|
7 [label="Access variable R|kotlin/String.length|"];
|
|
8 [label="Exit block"];
|
|
}
|
|
9 [label="Exit function test_1" style="filled" fillcolor=red];
|
|
}
|
|
0 -> {1};
|
|
1 -> {2};
|
|
2 -> {3};
|
|
3 -> {4};
|
|
4 -> {5};
|
|
5 -> {6};
|
|
6 -> {7};
|
|
7 -> {8};
|
|
8 -> {9};
|
|
|
|
subgraph cluster_2 {
|
|
color=red
|
|
10 [label="Enter function test_2" style="filled" fillcolor=red];
|
|
subgraph cluster_3 {
|
|
color=blue
|
|
11 [label="Enter block"];
|
|
12 [label="Const: Null(null)"];
|
|
13 [label="Variable declaration: lvar x: R|kotlin/String?|"];
|
|
subgraph cluster_4 {
|
|
color=blue
|
|
14 [label="Enter when"];
|
|
subgraph cluster_5 {
|
|
color=blue
|
|
15 [label="Enter when branch condition "];
|
|
16 [label="Access variable R|<local>/x|"];
|
|
17 [label="Const: Null(null)"];
|
|
18 [label="Equality operator =="];
|
|
19 [label="Exit when branch condition"];
|
|
}
|
|
20 [label="Synthetic else branch"];
|
|
21 [label="Enter when branch result"];
|
|
subgraph cluster_6 {
|
|
color=blue
|
|
22 [label="Enter block"];
|
|
23 [label="Const: String()"];
|
|
24 [label="Assignment: R|<local>/x|"];
|
|
25 [label="Exit block"];
|
|
}
|
|
26 [label="Exit when branch result"];
|
|
27 [label="Exit when"];
|
|
}
|
|
28 [label="Access variable R|<local>/x|"];
|
|
29 [label="Access variable R|kotlin/String.length|"];
|
|
30 [label="Exit block"];
|
|
}
|
|
31 [label="Exit function test_2" style="filled" fillcolor=red];
|
|
}
|
|
10 -> {11};
|
|
11 -> {12};
|
|
12 -> {13};
|
|
13 -> {14};
|
|
14 -> {15};
|
|
15 -> {16};
|
|
16 -> {17};
|
|
17 -> {18};
|
|
18 -> {19};
|
|
19 -> {21 20};
|
|
20 -> {27};
|
|
21 -> {22};
|
|
22 -> {23};
|
|
23 -> {24};
|
|
24 -> {25};
|
|
25 -> {26};
|
|
26 -> {27};
|
|
27 -> {28};
|
|
28 -> {29};
|
|
29 -> {30};
|
|
30 -> {31};
|
|
|
|
subgraph cluster_7 {
|
|
color=red
|
|
32 [label="Enter function test_3" style="filled" fillcolor=red];
|
|
subgraph cluster_8 {
|
|
color=blue
|
|
33 [label="Enter block"];
|
|
34 [label="Const: Null(null)"];
|
|
35 [label="Variable declaration: lvar x: R|kotlin/String?|"];
|
|
36 [label="Const: String()"];
|
|
37 [label="Assignment: R|<local>/x|"];
|
|
38 [label="Access variable R|<local>/x|"];
|
|
39 [label="Access variable R|kotlin/String.length|"];
|
|
40 [label="Const: Null(null)"];
|
|
41 [label="Assignment: R|<local>/x|"];
|
|
42 [label="Access variable R|<local>/x|"];
|
|
43 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
|
|
44 [label="Exit block"];
|
|
}
|
|
45 [label="Exit function test_3" style="filled" fillcolor=red];
|
|
}
|
|
32 -> {33};
|
|
33 -> {34};
|
|
34 -> {35};
|
|
35 -> {36};
|
|
36 -> {37};
|
|
37 -> {38};
|
|
38 -> {39};
|
|
39 -> {40};
|
|
40 -> {41};
|
|
41 -> {42};
|
|
42 -> {43};
|
|
43 -> {44};
|
|
44 -> {45};
|
|
|
|
}
|