aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaLookup.cpp
diff options
context:
space:
mode:
authorYanzuo Liu <zwuis@outlook.com>2025-07-18 09:01:47 +0800
committerGitHub <noreply@github.com>2025-07-18 09:01:47 +0800
commit4a9eaad9e1283b872788832d5bce7e7945b97c78 (patch)
tree38e8732ae27a471c01fab0c24cb3bbac684a86ac /clang/lib/Sema/SemaLookup.cpp
parent28417e6459bb5174b9502f440e3dbb86f7a0046e (diff)
downloadllvm-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.cpp13
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();