Commit da37b5e
committed
Follow re-export chains when checking call safety
Re-exported symbols (e.g. bar.Foo re-exporting foo.Foo) were not being
resolved to their original definitions during safety analysis. This
caused check_call to miss unsafe constructors/functions accessed through
re-exports, incorrectly marking them as safe.
Change re_exports from a HashSet to a HashMap that preserves the mapping
to original names, add resolve_re_export() that follows chains, and
apply it in check_call and the ImportedTypeAttr property lookup.1 parent 26fb058 commit da37b5e
2 files changed
Lines changed: 120 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
177 | | - | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
178 | 181 | | |
179 | 182 | | |
180 | 183 | | |
| |||
790 | 793 | | |
791 | 794 | | |
792 | 795 | | |
793 | | - | |
| 796 | + | |
794 | 797 | | |
795 | 798 | | |
796 | 799 | | |
| |||
810 | 813 | | |
811 | 814 | | |
812 | 815 | | |
813 | | - | |
| 816 | + | |
814 | 817 | | |
815 | | - | |
| 818 | + | |
816 | 819 | | |
817 | 820 | | |
818 | 821 | | |
| |||
833 | 836 | | |
834 | 837 | | |
835 | 838 | | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
836 | 855 | | |
837 | 856 | | |
838 | 857 | | |
| |||
841 | 860 | | |
842 | 861 | | |
843 | 862 | | |
844 | | - | |
| 863 | + | |
845 | 864 | | |
846 | 865 | | |
847 | 866 | | |
| |||
943 | 962 | | |
944 | 963 | | |
945 | 964 | | |
| 965 | + | |
946 | 966 | | |
947 | 967 | | |
948 | 968 | | |
| |||
1024 | 1044 | | |
1025 | 1045 | | |
1026 | 1046 | | |
1027 | | - | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
1028 | 1052 | | |
1029 | | - | |
| 1053 | + | |
1030 | 1054 | | |
1031 | | - | |
| 1055 | + | |
1032 | 1056 | | |
1033 | 1057 | | |
1034 | 1058 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
226 | | - | |
| 225 | + | |
227 | 226 | | |
228 | 227 | | |
229 | 228 | | |
| |||
478 | 477 | | |
479 | 478 | | |
480 | 479 | | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
481 | 567 | | |
0 commit comments