FIR. Refactor smart-cast representation in FIR tree
Make smart-casts non-transparent expression without delegation to underlying FirQualifiedAccessExpression, as children delegation in fir tree has unclear semantics Remove two different kinds of tree nodes for smart-casts
This commit is contained in:
committed by
teamcity
parent
bc9db58b3c
commit
513af2dfbc
+13
-11
@@ -65,10 +65,11 @@ digraph smartCastInInit_kt {
|
||||
19 [label="Function call: R|/s|()"];
|
||||
20 [label="Assignment: R|/Main.x|"];
|
||||
21 [label="Access variable R|/Main.x|"];
|
||||
22 [label="Function call: this@R|/Main|.R|/Main.x|.R|/S.foo|()"];
|
||||
23 [label="Exit block"];
|
||||
22 [label="Smart cast: this@R|/Main|.R|/Main.x|"];
|
||||
23 [label="Function call: this@R|/Main|.R|/Main.x|.R|/S.foo|()"];
|
||||
24 [label="Exit block"];
|
||||
}
|
||||
24 [label="Exit init block" style="filled" fillcolor=red];
|
||||
25 [label="Exit init block" style="filled" fillcolor=red];
|
||||
}
|
||||
17 -> {18};
|
||||
18 -> {19};
|
||||
@@ -77,17 +78,18 @@ digraph smartCastInInit_kt {
|
||||
21 -> {22};
|
||||
22 -> {23};
|
||||
23 -> {24};
|
||||
24 -> {27} [color=green];
|
||||
24 -> {25};
|
||||
25 -> {28} [color=green];
|
||||
|
||||
subgraph cluster_8 {
|
||||
color=red
|
||||
25 [label="Enter class Main" style="filled" fillcolor=red];
|
||||
26 [label="Part of class initialization"];
|
||||
27 [label="Exit class Main" style="filled" fillcolor=red];
|
||||
26 [label="Enter class Main" style="filled" fillcolor=red];
|
||||
27 [label="Part of class initialization"];
|
||||
28 [label="Exit class Main" style="filled" fillcolor=red];
|
||||
}
|
||||
25 -> {26} [color=green];
|
||||
26 -> {27} [style=dotted];
|
||||
26 -> {17} [color=green];
|
||||
26 -> {17} [style=dashed];
|
||||
26 -> {27} [color=green];
|
||||
27 -> {28} [style=dotted];
|
||||
27 -> {17} [color=green];
|
||||
27 -> {17} [style=dashed];
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user