diff options
author | Yanzuo Liu <zwuis@outlook.com> | 2025-07-18 09:01:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-18 09:01:47 +0800 |
commit | 4a9eaad9e1283b872788832d5bce7e7945b97c78 (patch) | |
tree | 38e8732ae27a471c01fab0c24cb3bbac684a86ac /clang/lib/Sema/SemaLookup.cpp | |
parent | 28417e6459bb5174b9502f440e3dbb86f7a0046e (diff) | |
download | llvm-4a9eaad9e1283b872788832d5bce7e7945b97c78.zip llvm-4a9eaad9e1283b872788832d5bce7e7945b97c78.tar.gz llvm-4a9eaad9e1283b872788832d5bce7e7945b97c78.tar.bz2 |
[Clang][AST][NFC] Introduce `NamespaceBaseDecl` (#149123)
Add `NamespaceBaseDecl` as common base class of `NamespaceDecl` and
`NamespaceAliasDecl`. This simplifies `NestedNameSpecifier` a bit.
Co-authored-by: Matheus Izvekov <mizvekov@gmail.com>
Diffstat (limited to 'clang/lib/Sema/SemaLookup.cpp')
-rw-r--r-- | clang/lib/Sema/SemaLookup.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/clang/lib/Sema/SemaLookup.cpp b/clang/lib/Sema/SemaLookup.cpp index 6d6e07a..8bde18f 100644 --- a/clang/lib/Sema/SemaLookup.cpp +++ b/clang/lib/Sema/SemaLookup.cpp @@ -4560,15 +4560,14 @@ static void getNestedNameSpecifierIdentifiers( II = NNS->getAsIdentifier(); break; - case NestedNameSpecifier::Namespace: - if (NNS->getAsNamespace()->isAnonymousNamespace()) + case NestedNameSpecifier::Namespace: { + const NamespaceBaseDecl *Namespace = NNS->getAsNamespace(); + if (const auto *NS = dyn_cast<NamespaceDecl>(Namespace); + NS && NS->isAnonymousNamespace()) return; - II = NNS->getAsNamespace()->getIdentifier(); - break; - - case NestedNameSpecifier::NamespaceAlias: - II = NNS->getAsNamespaceAlias()->getIdentifier(); + II = Namespace->getIdentifier(); break; + } case NestedNameSpecifier::TypeSpec: II = QualType(NNS->getAsType(), 0).getBaseTypeIdentifier(); |