mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[Serialization] witness_method should reference existing conformances.
Part of a series of commits to remove redundantly-serialized conformances. Swift SVN r22196
This commit is contained in:
@@ -136,6 +136,7 @@ namespace sil_block {
|
||||
SIL_WITNESS_ASSOC_PROTOCOL,
|
||||
SIL_WITNESS_ASSOC_ENTRY,
|
||||
SIL_GENERIC_OUTER_PARAMS,
|
||||
SIL_INST_WITNESS_METHOD,
|
||||
|
||||
// We also share these layouts from the decls block. Their enumerators must
|
||||
// not overlap with ours.
|
||||
@@ -346,6 +347,20 @@ namespace sil_block {
|
||||
SIL_GENERIC_OUTER_PARAMS,
|
||||
DeclIDField // The decl id of the outer param if any.
|
||||
>;
|
||||
|
||||
using SILInstWitnessMethodLayout = BCRecordLayout<
|
||||
SIL_INST_WITNESS_METHOD,
|
||||
TypeIDField, // result type
|
||||
SILTypeCategoryField,
|
||||
BCFixed<1>, // volatile?
|
||||
TypeIDField, // lookup type
|
||||
SILTypeCategoryField,
|
||||
DeclIDField, // conformance proto
|
||||
TypeIDField, // conformance type
|
||||
ModuleIDField, // conformance module
|
||||
BCArray<ValueIDField> // SILDeclRef
|
||||
// may be trailed by an inline protocol conformance
|
||||
>;
|
||||
}
|
||||
|
||||
} // end namespace serialization
|
||||
|
||||
Reference in New Issue
Block a user