[clang] Add [is|set]Nested methods to NamespaceDecl
authorNathan James <n.james93@hotmail.co.uk>
Thu, 24 Nov 2022 12:44:33 +0000 (12:44 +0000)
committerNathan James <n.james93@hotmail.co.uk>
Thu, 24 Nov 2022 12:44:35 +0000 (12:44 +0000)
commit15e76eed0c7662f8a4bce849a58637070d3b0a75
tree89c245285af78db30039b6c342a1d6e87782481f
parent3467f9c7d6f4be022577f3f96fdcd90266d4a969
[clang] Add [is|set]Nested methods to NamespaceDecl

Adds support for NamespaceDecl to inform if its part of a nested namespace.
This flag only corresponds to the inner namespaces in a nested namespace declaration.
In this example:
namespace <X>::<Y>::<Z> {}
Only <Y> and <Z> will be classified as nested.

This flag isn't meant for assisting in building the AST, more for static analysis and refactorings.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D90568
16 files changed:
clang/include/clang/AST/Decl.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ASTContext.cpp
clang/lib/AST/ASTImporter.cpp
clang/lib/AST/DeclCXX.cpp
clang/lib/AST/ItaniumMangle.cpp
clang/lib/AST/JSONNodeDumper.cpp
clang/lib/AST/TextNodeDumper.cpp
clang/lib/Parse/ParseDeclCXX.cpp
clang/lib/Sema/HLSLExternalSemaSource.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/AST/ast-dump-decl.cpp
clang/test/AST/ast-dump-namespace-json.cpp
clang/unittests/Sema/ExternalSemaSourceTest.cpp