AST: Introduce abstraction for extension/type decl inheritance clauses.

Wrap the `InheritedEntry` array available on both `ExtensionDecl` and
`TypeDecl` in a new `InheritedTypes` class. This class will provide shared
conveniences for working with inherited type clauses. NFC.
This commit is contained in:
Allan Shortlidge
2023-09-05 17:08:05 -07:00
parent 2c3c3c1933
commit 0dd8f4c492
33 changed files with 221 additions and 163 deletions

View File

@@ -3399,7 +3399,7 @@ bool ContextualFailure::tryProtocolConformanceFixIt(
auto conformanceDiag =
emitDiagnostic(diag::assign_protocol_conformance_fix_it, constraint,
nominal->getDescriptiveKind(), fromType);
if (nominal->getInherited().size() > 0) {
if (!nominal->getInherited().empty()) {
auto lastInherited = nominal->getInherited().back().getLoc();
auto lastInheritedEndLoc =
Lexer::getLocForEndOfToken(getASTContext().SourceMgr, lastInherited);