aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/DeclarationFragments.cpp
diff options
context:
space:
mode:
authorErick Velez <erickvelez7@gmail.com>2023-08-22 09:12:23 -0700
committerErick Velez <erickvelez7@gmail.com>2023-08-22 09:56:34 -0700
commit08f034f952fa67fc379df4caee2904de466a69f9 (patch)
tree83354144f3dc9629e404280f25084f5c923b1cbe /clang/lib/ExtractAPI/DeclarationFragments.cpp
parent62020a3a7eb359cfea0bc719a7151cad0717d7be (diff)
downloadllvm-08f034f952fa67fc379df4caee2904de466a69f9.zip
llvm-08f034f952fa67fc379df4caee2904de466a69f9.tar.gz
llvm-08f034f952fa67fc379df4caee2904de466a69f9.tar.bz2
[clang][ExtractAPI] Add support for namespaces
Serialize namespaces, nested namespaces, and class relationships inside them. Depends on D157076 Reviewed By: dang Differential Revision: https://reviews.llvm.org/D158239
Diffstat (limited to 'clang/lib/ExtractAPI/DeclarationFragments.cpp')
-rw-r--r--clang/lib/ExtractAPI/DeclarationFragments.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/ExtractAPI/DeclarationFragments.cpp b/clang/lib/ExtractAPI/DeclarationFragments.cpp
index 36b0d1f..f1fff6b 100644
--- a/clang/lib/ExtractAPI/DeclarationFragments.cpp
+++ b/clang/lib/ExtractAPI/DeclarationFragments.cpp
@@ -423,6 +423,16 @@ DeclarationFragments DeclarationFragmentsBuilder::getFragmentsForType(
return QualsFragments.appendSpace().append(std::move(TypeFragments));
}
+DeclarationFragments DeclarationFragmentsBuilder::getFragmentsForNamespace(
+ const NamespaceDecl *Decl) {
+ DeclarationFragments Fragments;
+ Fragments.append("namespace", DeclarationFragments::FragmentKind::Keyword);
+ if (!Decl->isAnonymousNamespace())
+ Fragments.appendSpace().append(
+ Decl->getName(), DeclarationFragments::FragmentKind::Identifier);
+ return Fragments.append(";", DeclarationFragments::FragmentKind::Text);
+}
+
DeclarationFragments
DeclarationFragmentsBuilder::getFragmentsForVar(const VarDecl *Var) {
DeclarationFragments Fragments;