summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/ASTUnit.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-05-10 01:28:51 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-05-10 01:28:51 +0000
commit1c7455f42ff8f51e09477fbfa763f56fd3a85a65 (patch)
treed2f61ce243668f6052579b56aa67bef678d5a428 /clang/lib/Frontend/ASTUnit.cpp
parentea2d5f818b0573255740a80b42605999b28eefea (diff)
downloadbcm5719-llvm-1c7455f42ff8f51e09477fbfa763f56fd3a85a65.tar.gz
bcm5719-llvm-1c7455f42ff8f51e09477fbfa763f56fd3a85a65.zip
[libclang] When parsing with CXTranslationUnit_ForSerialization, make sure to install the ASTWriter that we create as an ASTMutationListener.
Fixes rdar://13833268 llvm-svn: 181575
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index f05d7225465..7850dc697be 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -638,6 +638,12 @@ void StoredDiagnosticConsumer::HandleDiagnostic(DiagnosticsEngine::Level Level,
StoredDiags.push_back(StoredDiagnostic(Level, Info));
}
+ASTMutationListener *ASTUnit::getASTMutationListener() {
+ if (WriterData)
+ return &WriterData->Writer;
+ return 0;
+}
+
ASTDeserializationListener *ASTUnit::getDeserializationListener() {
if (WriterData)
return &WriterData->Writer;
@@ -929,6 +935,10 @@ public:
handleTopLevelDecl(*it);
}
+ virtual ASTMutationListener *GetASTMutationListener() {
+ return Unit.getASTMutationListener();
+ }
+
virtual ASTDeserializationListener *GetASTDeserializationListener() {
return Unit.getDeserializationListener();
}
OpenPOWER on IntegriCloud