Commit dfbb580
committed
AST: Store the GenericSignature in the AbstractFunctionDecl, NFC
For better or worse, the type of a function can end up as ErrorType,
and the generic signature was not stored anywhere else, causing
crashes from orphaned generic type parameters.
This patch is the first in a series to make this more robust by
storing the generic signature before the interface type is computed.1 parent d56cbfa commit dfbb580
File tree
4 files changed
+55
-32
lines changed- include/swift/AST
- lib
- AST
- Sema
- Serialization
4 files changed
+55
-32
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4371 | 4371 | | |
4372 | 4372 | | |
4373 | 4373 | | |
| 4374 | + | |
4374 | 4375 | | |
4375 | 4376 | | |
4376 | 4377 | | |
| |||
4379 | 4380 | | |
4380 | 4381 | | |
4381 | 4382 | | |
4382 | | - | |
| 4383 | + | |
4383 | 4384 | | |
4384 | 4385 | | |
4385 | 4386 | | |
| |||
4396 | 4397 | | |
4397 | 4398 | | |
4398 | 4399 | | |
| 4400 | + | |
| 4401 | + | |
| 4402 | + | |
| 4403 | + | |
| 4404 | + | |
| 4405 | + | |
| 4406 | + | |
| 4407 | + | |
| 4408 | + | |
| 4409 | + | |
| 4410 | + | |
4399 | 4411 | | |
4400 | 4412 | | |
4401 | 4413 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
253 | | - | |
254 | | - | |
| 253 | + | |
| 254 | + | |
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
653 | 653 | | |
654 | 654 | | |
655 | 655 | | |
| 656 | + | |
| 657 | + | |
656 | 658 | | |
657 | 659 | | |
658 | 660 | | |
659 | 661 | | |
660 | 662 | | |
661 | 663 | | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
| 664 | + | |
| 665 | + | |
666 | 666 | | |
667 | 667 | | |
668 | 668 | | |
| |||
677 | 677 | | |
678 | 678 | | |
679 | 679 | | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
| 680 | + | |
| 681 | + | |
684 | 682 | | |
685 | 683 | | |
686 | 684 | | |
| |||
694 | 692 | | |
695 | 693 | | |
696 | 694 | | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
697 | 721 | | |
698 | 722 | | |
699 | 723 | | |
| |||
742 | 766 | | |
743 | 767 | | |
744 | 768 | | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | | - | |
763 | | - | |
764 | 769 | | |
765 | 770 | | |
766 | 771 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2238 | 2238 | | |
2239 | 2239 | | |
2240 | 2240 | | |
2241 | | - | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
2242 | 2244 | | |
| 2245 | + | |
2243 | 2246 | | |
2244 | 2247 | | |
2245 | 2248 | | |
| |||
2480 | 2483 | | |
2481 | 2484 | | |
2482 | 2485 | | |
2483 | | - | |
| 2486 | + | |
| 2487 | + | |
| 2488 | + | |
2484 | 2489 | | |
| 2490 | + | |
2485 | 2491 | | |
2486 | 2492 | | |
2487 | 2493 | | |
| |||
0 commit comments