mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +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:
@@ -1150,7 +1150,7 @@ static StringRef printGenericSignature(SDKContext &Ctx, Decl *D, bool Canonical)
|
||||
if (auto *GC = D->getAsGenericContext()) {
|
||||
if (auto Sig = GC->getGenericSignature()) {
|
||||
if (Canonical)
|
||||
Sig->getCanonicalSignature()->print(OS, Opts);
|
||||
Sig.getCanonicalSignature()->print(OS, Opts);
|
||||
else
|
||||
Sig->print(OS, Opts);
|
||||
return Ctx.buffer(OS.str());
|
||||
|
||||
Reference in New Issue
Block a user