Commit a621059
committed
ModuleInterface: Avoid crashing on invalid extensions in lazy typechecking mode.
With `-experimental-lazy-typecheck` specified during module interface emission,
`collectProtocols()` may be the first piece of code to request the extended
type for a given extension and it therefore needs to ignore invalid extensions
and ensure that diagnostics are emitted.
Also, add some `PrettyStackTrace` coverage to `ModuleInterfaceSupport.cpp` to make
investigating future issues easier.
Resolves rdar://126232836.1 parent cc8af17 commit a621059
File tree
4 files changed
+29
-2
lines changed- include/swift/Frontend
- lib/Frontend
- test
- ModuleInterface
- Serialization
4 files changed
+29
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
| 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 | | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
29 | | - | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
530 | 531 | | |
531 | 532 | | |
532 | 533 | | |
| 534 | + | |
533 | 535 | | |
534 | 536 | | |
535 | 537 | | |
| |||
602 | 604 | | |
603 | 605 | | |
604 | 606 | | |
| 607 | + | |
605 | 608 | | |
606 | 609 | | |
607 | 610 | | |
608 | 611 | | |
609 | 612 | | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
610 | 620 | | |
611 | 621 | | |
612 | 622 | | |
| |||
615 | 625 | | |
616 | 626 | | |
617 | 627 | | |
| 628 | + | |
618 | 629 | | |
619 | 630 | | |
620 | | - | |
621 | 631 | | |
622 | 632 | | |
623 | 633 | | |
| |||
697 | 707 | | |
698 | 708 | | |
699 | 709 | | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
700 | 713 | | |
701 | 714 | | |
702 | 715 | | |
| |||
881 | 894 | | |
882 | 895 | | |
883 | 896 | | |
| 897 | + | |
| 898 | + | |
884 | 899 | | |
885 | 900 | | |
886 | 901 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
0 commit comments