10 #ifndef LLVM_CLANG_SERIALIZATION_MODULEFILEEXTENSION_H 11 #define LLVM_CLANG_SERIALIZATION_MODULEFILEEXTENSION_H 13 #include "llvm/ADT/IntrusiveRefCntPtr.h" 18 class BitstreamCursor;
19 class BitstreamWriter;
30 namespace serialization {
83 virtual llvm::hash_code hashExtension(llvm::hash_code c)
const;
88 virtual std::unique_ptr<ModuleFileExtensionWriter>
89 createExtensionWriter(
ASTWriter &Writer) = 0;
97 virtual std::unique_ptr<ModuleFileExtensionReader>
100 const llvm::BitstreamCursor &Stream) = 0;
110 : Extension(Extension) { }
124 virtual void writeExtensionContents(
Sema &SemaRef,
125 llvm::BitstreamWriter &Stream) = 0;
137 : Extension(Extension) { }
149 #endif // LLVM_CLANG_FRONTEND_MODULEFILEEXTENSION_H DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterat...
ModuleFileExtensionWriter(ModuleFileExtension *Extension)
Sema - This implements semantic analysis and AST building for C.
Abstract base class that reads a module file extension block from a module file.
ModuleFileExtension * getExtension() const
Retrieve the module file extension with which this reader is associated.
Information about a module that has been loaded by the ASTReader.
Abstract base class that writes a module file extension block into a module file. ...
ModuleFileExtensionReader(ModuleFileExtension *Extension)
Dataflow Directional Tag Classes.
Reads an AST files chain containing the contents of a translation unit.
ModuleFileExtension * getExtension() const
Retrieve the module file extension with which this writer is associated.
Writes an AST file containing the contents of a translation unit.
An abstract superclass that describes a custom extension to the module/precompiled header file format...