[FIR] Don't pass data flow to property accessors of non local classes

This commit is contained in:
Dmitriy Novozhilov
2020-03-31 15:44:10 +03:00
parent bb8d743741
commit 1d39270b3e
19 changed files with 305 additions and 333 deletions
@@ -11,15 +11,13 @@ digraph elvis_kt {
0 -> {1};
subgraph cluster_1 {
color=red
2 [label="Enter function getter" style="filled" fillcolor=red];
3 [label="Exit function getter" style="filled" fillcolor=red];
}
2 -> {3};
subgraph cluster_2 {
color=red
6 [label="Enter class A" style="filled" fillcolor=red];
subgraph cluster_2 {
color=blue
2 [label="Enter function getter" style="filled" fillcolor=red];
3 [label="Exit function getter" style="filled" fillcolor=red];
}
subgraph cluster_3 {
color=blue
4 [label="Enter property" style="filled" fillcolor=red];
@@ -30,6 +28,7 @@ digraph elvis_kt {
6 -> {4} [color=green];
4 -> {5};
5 -> {7} [color=green];
2 -> {3};
subgraph cluster_4 {
color=red
@@ -371,25 +371,24 @@ digraph returns_kt {
subgraph cluster_33 {
color=red
132 [label="Enter function getter" style="filled" fillcolor=red];
134 [label="Access variable R|kotlin/String.length|"];
135 [label="Jump: ^ this@R|/ext|.R|kotlin/String.length|"];
136 [label="Stub" style="filled" fillcolor=gray];
133 [label="Exit function getter" style="filled" fillcolor=red];
137 [label="Enter property" style="filled" fillcolor=red];
subgraph cluster_34 {
color=blue
132 [label="Enter function getter" style="filled" fillcolor=red];
134 [label="Access variable R|kotlin/String.length|"];
135 [label="Jump: ^ this@R|/ext|.R|kotlin/String.length|"];
136 [label="Stub" style="filled" fillcolor=gray];
133 [label="Exit function getter" style="filled" fillcolor=red];
}
138 [label="Exit property" style="filled" fillcolor=red];
}
137 -> {138};
132 -> {134};
134 -> {135};
135 -> {133};
135 -> {136} [style=dotted];
136 -> {133} [style=dotted];
subgraph cluster_34 {
color=red
137 [label="Enter property" style="filled" fillcolor=red];
138 [label="Exit property" style="filled" fillcolor=red];
}
137 -> {138};
subgraph cluster_35 {
color=red
139 [label="Enter function test_4" style="filled" fillcolor=red];