aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorDaniel Grumberg <dgrumberg@apple.com>2022-10-21 14:49:46 +0100
committerDaniel Grumberg <dgrumberg@apple.com>2022-10-25 11:46:04 +0100
commit791fe26d758173e569d26d831b36ee8527e1a766 (patch)
tree359d7b8fb23af14a20b6f30d46f27108a913f6a2 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parent1fe096ef59d1436c5cdd94ea617c1c89767f8f66 (diff)
downloadllvm-791fe26d758173e569d26d831b36ee8527e1a766.zip
llvm-791fe26d758173e569d26d831b36ee8527e1a766.tar.gz
llvm-791fe26d758173e569d26d831b36ee8527e1a766.tar.bz2
[clang][ExtractAPI] Allow users to specify a list of symbols to ignore
Adds a `--extract-api-ignores=` command line option that allows users to provide a file containing a new line separated list of symbols to unconditionally ignore when extracting API information. Differential Revision: https://reviews.llvm.org/D136450
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
-rw-r--r--clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp b/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
index 0810dec..988ecd2 100644
--- a/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
+++ b/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
@@ -14,6 +14,7 @@
#include "clang/ExtractAPI/Serialization/SymbolGraphSerializer.h"
#include "clang/Basic/Version.h"
#include "clang/ExtractAPI/API.h"
+#include "clang/ExtractAPI/APIIgnoresList.h"
#include "clang/ExtractAPI/DeclarationFragments.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/Path.h"
@@ -480,6 +481,10 @@ Object SymbolGraphSerializer::serializeModule() const {
}
bool SymbolGraphSerializer::shouldSkip(const APIRecord &Record) const {
+ // Skip explicitly ignored symbols.
+ if (IgnoresList.shouldIgnore(Record.Name))
+ return true;
+
// Skip unconditionally unavailable symbols
if (Record.Availabilities.isUnconditionallyUnavailable())
return true;