18#ifndef ROOT_CLING_RDICT_MODULE_FILE_EXTENSION_H
19#define ROOT_CLING_RDICT_MODULE_FILE_EXTENSION_H
21#include "clang/Serialization/ModuleFileExtension.h"
23#include "llvm/Bitstream/BitstreamReader.h"
28 class Writer :
public clang::ModuleFileExtensionWriter {
30 Writer(ModuleFileExtension *Ext) : ModuleFileExtensionWriter(Ext) {}
36 class Reader :
public clang::ModuleFileExtensionReader {
42 Reader(clang::ModuleFileExtension *Ext, clang::ASTReader &
Reader, clang::serialization::ModuleFile &Mod,
43 const llvm::BitstreamCursor &InStream);
53 llvm::hash_code
hashExtension(llvm::hash_code Code)
const override;
55 std::unique_ptr<clang::ModuleFileExtensionWriter>
createExtensionWriter(clang::ASTWriter &Writer)
override;
57 std::unique_ptr<clang::ModuleFileExtensionReader>
59 clang::serialization::ModuleFile &Mod,
const llvm::BitstreamCursor &Stream)
override;
llvm::BitstreamCursor Stream
void writeExtensionContents(clang::Sema &SemaRef, llvm::BitstreamWriter &Stream) override
Writer(ModuleFileExtension *Ext)
A module file extension used for testing purposes.
std::unique_ptr< clang::ModuleFileExtensionReader > createExtensionReader(const clang::ModuleFileExtensionMetadata &Metadata, clang::ASTReader &Reader, clang::serialization::ModuleFile &Mod, const llvm::BitstreamCursor &Stream) override
clang::ModuleFileExtensionMetadata getExtensionMetadata() const override
std::unique_ptr< clang::ModuleFileExtensionWriter > createExtensionWriter(clang::ASTWriter &Writer) override
TClingRdictModuleFileExtension()
llvm::hash_code hashExtension(llvm::hash_code Code) const override
~TClingRdictModuleFileExtension() override