Commit bb418ad
authored
Propagate
Fixes dotnet/linker#1731
We currently maintain two invariants:
1. The types returned by the API will have `.Interfaces` annotations at minimum
2. If the parent type was annotated `.All`, the types returned by the API will also be `.All`
We do this in the logic that keeps things, but we don't do this in terms of dataflow analysis warnings (the types retrieved from the array are not annotated as such, as far as the analysis is concerned). Because of the lacking annotation, we have warning suppressions in multiple places within the framework.
This fixes it.Type.GetInterfaces through dataflow analysis (#114149)1 parent d0e6ce8 commit bb418ad
File tree
13 files changed
+257
-32
lines changed- src
- coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow
- libraries
- Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/CompilerServices
- System.ComponentModel.TypeConverter/src/System/ComponentModel
- System.Private.DataContractSerialization/src/System/Runtime/Serialization
- System.Reflection.DispatchProxy/src/System/Reflection
- System.Reflection.Emit/src/System/Reflection/Emit
- tools/illink
- src
- ILLink.RoslynAnalyzer/TrimAnalysis
- linker/Linker.Dataflow
- test/Mono.Linker.Tests.Cases/DataFlow
13 files changed
+257
-32
lines changedLines changed: 24 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1305 | 1305 | | |
1306 | 1306 | | |
1307 | 1307 | | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
1308 | 1312 | | |
1309 | 1313 | | |
1310 | 1314 | | |
| |||
1354 | 1358 | | |
1355 | 1359 | | |
1356 | 1360 | | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
1357 | 1365 | | |
1358 | 1366 | | |
1359 | 1367 | | |
| |||
1366 | 1374 | | |
1367 | 1375 | | |
1368 | 1376 | | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
1369 | 1393 | | |
1370 | 1394 | | |
1371 | 1395 | | |
1372 | 1396 | | |
1373 | 1397 | | |
1374 | | - | |
1375 | | - | |
1376 | 1398 | | |
1377 | 1399 | | |
1378 | 1400 | | |
| |||
Lines changed: 3 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
524 | 524 | | |
525 | 525 | | |
526 | 526 | | |
527 | | - | |
| 527 | + | |
528 | 528 | | |
529 | 529 | | |
530 | 530 | | |
| |||
931 | 931 | | |
932 | 932 | | |
933 | 933 | | |
934 | | - | |
| 934 | + | |
935 | 935 | | |
936 | | - | |
| 936 | + | |
937 | 937 | | |
938 | 938 | | |
939 | 939 | | |
| |||
950 | 950 | | |
951 | 951 | | |
952 | 952 | | |
953 | | - | |
954 | | - | |
955 | | - | |
956 | 953 | | |
957 | 954 | | |
958 | 955 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
Lines changed: 15 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
984 | 984 | | |
985 | 985 | | |
986 | 986 | | |
987 | | - | |
988 | | - | |
989 | | - | |
990 | 987 | | |
991 | 988 | | |
992 | 989 | | |
993 | 990 | | |
994 | 991 | | |
995 | 992 | | |
996 | | - | |
997 | | - | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
998 | 1000 | | |
999 | 1001 | | |
1000 | 1002 | | |
| |||
1280 | 1282 | | |
1281 | 1283 | | |
1282 | 1284 | | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | 1285 | | |
1287 | 1286 | | |
1288 | 1287 | | |
1289 | 1288 | | |
1290 | 1289 | | |
1291 | 1290 | | |
1292 | 1291 | | |
1293 | | - | |
1294 | | - | |
| 1292 | + | |
| 1293 | + | |
1295 | 1294 | | |
1296 | | - | |
1297 | | - | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
1298 | 1301 | | |
1299 | 1302 | | |
1300 | 1303 | | |
| |||
Lines changed: 3 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | 167 | | |
171 | 168 | | |
172 | 169 | | |
| |||
202 | 199 | | |
203 | 200 | | |
204 | 201 | | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
210 | 205 | | |
211 | 206 | | |
212 | 207 | | |
| |||
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
939 | 939 | | |
940 | 940 | | |
941 | 941 | | |
942 | | - | |
943 | 942 | | |
944 | 943 | | |
945 | 944 | | |
| |||
967 | 966 | | |
968 | 967 | | |
969 | 968 | | |
| 969 | + | |
| 970 | + | |
970 | 971 | | |
| 972 | + | |
971 | 973 | | |
972 | 974 | | |
973 | 975 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
246 | 250 | | |
247 | 251 | | |
248 | 252 | | |
| |||
270 | 274 | | |
271 | 275 | | |
272 | 276 | | |
| 277 | + | |
| 278 | + | |
273 | 279 | | |
274 | 280 | | |
275 | 281 | | |
| |||
308 | 314 | | |
309 | 315 | | |
310 | 316 | | |
| 317 | + | |
| 318 | + | |
311 | 319 | | |
312 | 320 | | |
313 | 321 | | |
| |||
Lines changed: 42 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
253 | 283 | | |
254 | 284 | | |
255 | 285 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
175 | 179 | | |
176 | 180 | | |
177 | 181 | | |
| |||
0 commit comments