diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-10-11 16:05:00 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-10-11 16:05:00 +0000 |
commit | 900ab95e12bb7483971640a91075699eec391804 (patch) | |
tree | 7c665d86bcfa0926f78ebe6f0ddb5149f0db9035 /include/clang/Frontend/ASTUnit.h | |
parent | 50d2b268d7a49719fe9dae89195ff809c4572dbf (diff) |
[libclang] Improve AST serialization done by ASTUnit::Save().
The ASTUnit needs to initialize an ASTWriter at the beginning of
parsing to fully handle serialization of a translation unit that
imports modules. Do this by introducing an option to enable it, which
corresponds to CXTranslationUnit_ForSerialization on the C API side.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165717 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Frontend/ASTUnit.h')
-rw-r--r-- | include/clang/Frontend/ASTUnit.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/clang/Frontend/ASTUnit.h b/include/clang/Frontend/ASTUnit.h index d1e0edbeab..be46950fd3 100644 --- a/include/clang/Frontend/ASTUnit.h +++ b/include/clang/Frontend/ASTUnit.h @@ -56,6 +56,7 @@ class Preprocessor; class SourceManager; class TargetInfo; class ASTFrontendAction; +class ASTDeserializationListener; /// \brief Utility class for loading a ASTContext from an AST file. /// @@ -71,6 +72,9 @@ private: IntrusiveRefCntPtr<ASTContext> Ctx; ASTReader *Reader; + struct ASTWriterData; + OwningPtr<ASTWriterData> WriterData; + FileSystemOptions FileSystemOpts; /// \brief The AST consumer that received information about the translation @@ -468,6 +472,8 @@ public: const std::string &getOriginalSourceFileName(); + ASTDeserializationListener *getDeserializationListener(); + /// \brief Add a temporary file that the ASTUnit depends on. /// /// This file will be erased when the ASTUnit is destroyed. @@ -773,6 +779,7 @@ public: bool AllowPCHWithCompilerErrors = false, bool SkipFunctionBodies = false, bool UserFilesAreVolatile = false, + bool ForSerialization = false, OwningPtr<ASTUnit> *ErrAST = 0); /// \brief Reparse the source files using the same command-line options that |