mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
NFC: Add GenericSignature::getCanonicalSignature. (#29105)
Motivation: `GenericSignatureImpl::getCanonicalSignature` crashes for `GenericSignature` with underlying `nullptr`. This led to verbose workarounds when computing `CanGenericSignature` from `GenericSignature`. Solution: `GenericSignature::getCanonicalSignature` is a wrapper around `GenericSignatureImpl::getCanonicalSignature` that returns the canonical signature, or `nullptr` if the underlying pointer is `nullptr`. Rewrite all verbose workarounds using `GenericSignature::getCanonicalSignature`.
This commit is contained in:
@@ -1585,7 +1585,7 @@ void Serializer::writeCrossReference(const DeclContext *DC, uint32_t pathLen) {
|
||||
abbrCode = DeclTypeAbbrCodes[XRefExtensionPathPieceLayout::Code];
|
||||
CanGenericSignature genericSig(nullptr);
|
||||
if (ext->isConstrainedExtension()) {
|
||||
genericSig = ext->getGenericSignature()->getCanonicalSignature();
|
||||
genericSig = ext->getGenericSignature().getCanonicalSignature();
|
||||
}
|
||||
XRefExtensionPathPieceLayout::emitRecord(
|
||||
Out, ScratchRecord, abbrCode, addContainingModuleRef(DC),
|
||||
|
||||
Reference in New Issue
Block a user