Commit 593b6c4
committed
Serialization: Align conformance recovery logic across modes
Always give up early when attempting to deserialize a protocol
conformance broken by a context change. Don't attempt to replace missing
members of the conformance signature with invalid one, just mark the
whole protocol conformance as invalid.
The previous recovery logic, only for SourceKit mode and LLDB, was
inserting invalid conformances in the signature instead of dropping the
whole protocol conformance. It lead to failures later in the same
`finishNormalConformance` when accessing the invalid conformances.
rdar://989258421 parent 80f8cfb commit 593b6c4
1 file changed
+16
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1005 | 1005 | | |
1006 | 1006 | | |
1007 | 1007 | | |
1008 | | - | |
1009 | | - | |
1010 | | - | |
1011 | | - | |
1012 | | - | |
1013 | | - | |
1014 | | - | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
1015 | 1015 | | |
1016 | 1016 | | |
1017 | 1017 | | |
| |||
8868 | 8868 | | |
8869 | 8869 | | |
8870 | 8870 | | |
8871 | | - | |
8872 | | - | |
8873 | | - | |
| 8871 | + | |
| 8872 | + | |
| 8873 | + | |
8874 | 8874 | | |
| 8875 | + | |
| 8876 | + | |
| 8877 | + | |
| 8878 | + | |
8875 | 8879 | | |
8876 | 8880 | | |
8877 | 8881 | | |
8878 | 8882 | | |
8879 | 8883 | | |
8880 | 8884 | | |
8881 | 8885 | | |
8882 | | - | |
8883 | 8886 | | |
8884 | 8887 | | |
8885 | 8888 | | |
| 8889 | + | |
8886 | 8890 | | |
8887 | | - | |
| 8891 | + | |
8888 | 8892 | | |
8889 | 8893 | | |
8890 | 8894 | | |
| |||
0 commit comments