Commit 1f845d1
[CFE] Expression evaluation: Use dynamic get etc and fixup names to access private stuff when possible
For expression evaluation we want to be "more than dart" in that if for
instance we can see (in the debugger) that a List contains `B`s (even
if it's typed as containing `A`s) we'd like to be able to access things
on `B` (without manually having to cast to either `B` or `dynamic`).
Furthermore - when we in the debugger can see that it's a `B`, and that
`B` has, say, a field `_privateField` or a method `_privateMethod` we'd
like to be able to access that even if `B` is in another library.
This CL - for expression evaluation - makes dynamic accesses and calls
where we would normally issue a "missing getter" (etc) error, and tries
to create a `Name` so private access is possible.
Change-Id: I887318a50413e9a5f11ec685b27719edd312dca0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/446260
Reviewed-by: Alexander Markov <[email protected]>
Commit-Queue: Jens Johansen <[email protected]>
Reviewed-by: Nicholas Shahan <[email protected]>1 parent d084999 commit 1f845d1
File tree
35 files changed
+844
-39
lines changed- pkg
- dev_compiler/test/expression_compiler
- front_end
- lib/src
- base
- type_inference
- testcases
- expression
- incremental
- test
- kernel/lib/text
- vm_service/test
35 files changed
+844
-39
lines changedLines changed: 28 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1066 | 1066 | | |
1067 | 1067 | | |
1068 | 1068 | | |
1069 | | - | |
1070 | | - | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
1071 | 1073 | | |
1072 | 1074 | | |
1073 | 1075 | | |
| |||
1076 | 1078 | | |
1077 | 1079 | | |
1078 | 1080 | | |
1079 | | - | |
1080 | | - | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
1081 | 1085 | | |
1082 | 1086 | | |
1083 | 1087 | | |
| |||
1105 | 1109 | | |
1106 | 1110 | | |
1107 | 1111 | | |
1108 | | - | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
1109 | 1117 | | |
1110 | 1118 | | |
1111 | 1119 | | |
| |||
1183 | 1191 | | |
1184 | 1192 | | |
1185 | 1193 | | |
1186 | | - | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
1187 | 1199 | | |
1188 | 1200 | | |
1189 | 1201 | | |
| |||
1510 | 1522 | | |
1511 | 1523 | | |
1512 | 1524 | | |
1513 | | - | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
1514 | 1530 | | |
1515 | 1531 | | |
1516 | 1532 | | |
| |||
1645 | 1661 | | |
1646 | 1662 | | |
1647 | 1663 | | |
1648 | | - | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
1649 | 1669 | | |
1650 | 1670 | | |
1651 | 1671 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | | - | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
| 55 | + | |
| 56 | + | |
53 | 57 | | |
54 | 58 | | |
55 | | - | |
56 | | - | |
| 59 | + | |
57 | 60 | | |
58 | 61 | | |
59 | 62 | | |
| |||
92 | 95 | | |
93 | 96 | | |
94 | 97 | | |
95 | | - | |
| 98 | + | |
96 | 99 | | |
97 | 100 | | |
98 | 101 | | |
| |||
1953 | 1956 | | |
1954 | 1957 | | |
1955 | 1958 | | |
| 1959 | + | |
| 1960 | + | |
1956 | 1961 | | |
1957 | | - | |
| 1962 | + | |
1958 | 1963 | | |
1959 | 1964 | | |
1960 | 1965 | | |
| |||
2188 | 2193 | | |
2189 | 2194 | | |
2190 | 2195 | | |
| 2196 | + | |
2191 | 2197 | | |
2192 | | - | |
| 2198 | + | |
| 2199 | + | |
2193 | 2200 | | |
2194 | 2201 | | |
2195 | 2202 | | |
| |||
2232 | 2239 | | |
2233 | 2240 | | |
2234 | 2241 | | |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
| 2259 | + | |
| 2260 | + | |
| 2261 | + | |
| 2262 | + | |
| 2263 | + | |
| 2264 | + | |
| 2265 | + | |
| 2266 | + | |
| 2267 | + | |
| 2268 | + | |
| 2269 | + | |
| 2270 | + | |
| 2271 | + | |
| 2272 | + | |
| 2273 | + | |
| 2274 | + | |
| 2275 | + | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + | |
2235 | 2283 | | |
2236 | 2284 | | |
2237 | 2285 | | |
| |||
Lines changed: 73 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
76 | 75 | | |
77 | 76 | | |
78 | 77 | | |
| |||
174 | 173 | | |
175 | 174 | | |
176 | 175 | | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | 176 | | |
182 | | - | |
183 | | - | |
| 177 | + | |
| 178 | + | |
184 | 179 | | |
185 | 180 | | |
186 | 181 | | |
187 | | - | |
188 | | - | |
| 182 | + | |
189 | 183 | | |
190 | 184 | | |
191 | 185 | | |
| |||
7292 | 7286 | | |
7293 | 7287 | | |
7294 | 7288 | | |
| 7289 | + | |
| 7290 | + | |
| 7291 | + | |
| 7292 | + | |
| 7293 | + | |
| 7294 | + | |
| 7295 | + | |
| 7296 | + | |
| 7297 | + | |
| 7298 | + | |
7295 | 7299 | | |
7296 | 7300 | | |
7297 | 7301 | | |
| |||
7462 | 7466 | | |
7463 | 7467 | | |
7464 | 7468 | | |
| 7469 | + | |
| 7470 | + | |
| 7471 | + | |
| 7472 | + | |
| 7473 | + | |
| 7474 | + | |
| 7475 | + | |
| 7476 | + | |
| 7477 | + | |
| 7478 | + | |
| 7479 | + | |
| 7480 | + | |
7465 | 7481 | | |
7466 | 7482 | | |
7467 | 7483 | | |
| |||
7589 | 7605 | | |
7590 | 7606 | | |
7591 | 7607 | | |
| 7608 | + | |
| 7609 | + | |
| 7610 | + | |
| 7611 | + | |
| 7612 | + | |
| 7613 | + | |
| 7614 | + | |
| 7615 | + | |
| 7616 | + | |
| 7617 | + | |
| 7618 | + | |
7592 | 7619 | | |
7593 | 7620 | | |
7594 | 7621 | | |
| |||
7731 | 7758 | | |
7732 | 7759 | | |
7733 | 7760 | | |
| 7761 | + | |
| 7762 | + | |
| 7763 | + | |
| 7764 | + | |
| 7765 | + | |
| 7766 | + | |
| 7767 | + | |
| 7768 | + | |
| 7769 | + | |
| 7770 | + | |
| 7771 | + | |
7734 | 7772 | | |
7735 | 7773 | | |
7736 | 7774 | | |
| |||
7902 | 7940 | | |
7903 | 7941 | | |
7904 | 7942 | | |
| 7943 | + | |
| 7944 | + | |
| 7945 | + | |
| 7946 | + | |
| 7947 | + | |
| 7948 | + | |
| 7949 | + | |
| 7950 | + | |
| 7951 | + | |
| 7952 | + | |
| 7953 | + | |
| 7954 | + | |
7905 | 7955 | | |
7906 | 7956 | | |
7907 | 7957 | | |
| |||
12824 | 12874 | | |
12825 | 12875 | | |
12826 | 12876 | | |
| 12877 | + | |
| 12878 | + | |
| 12879 | + | |
| 12880 | + | |
| 12881 | + | |
| 12882 | + | |
| 12883 | + | |
| 12884 | + | |
| 12885 | + | |
| 12886 | + | |
| 12887 | + | |
| 12888 | + | |
| 12889 | + | |
| 12890 | + | |
12827 | 12891 | | |
Lines changed: 31 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
144 | | - | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
145 | 150 | | |
146 | 151 | | |
147 | 152 | | |
| |||
3797 | 3802 | | |
3798 | 3803 | | |
3799 | 3804 | | |
| 3805 | + | |
| 3806 | + | |
| 3807 | + | |
| 3808 | + | |
| 3809 | + | |
| 3810 | + | |
| 3811 | + | |
| 3812 | + | |
| 3813 | + | |
| 3814 | + | |
| 3815 | + | |
3800 | 3816 | | |
3801 | 3817 | | |
3802 | 3818 | | |
| |||
4840 | 4856 | | |
4841 | 4857 | | |
4842 | 4858 | | |
| 4859 | + | |
| 4860 | + | |
| 4861 | + | |
| 4862 | + | |
| 4863 | + | |
| 4864 | + | |
| 4865 | + | |
| 4866 | + | |
| 4867 | + | |
| 4868 | + | |
| 4869 | + | |
| 4870 | + | |
| 4871 | + | |
| 4872 | + | |
4843 | 4873 | | |
4844 | 4874 | | |
4845 | 4875 | | |
| |||
0 commit comments