diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Frontend/TestModuleFileExtension.h')
-rw-r--r-- | contrib/llvm-project/clang/lib/Frontend/TestModuleFileExtension.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/contrib/llvm-project/clang/lib/Frontend/TestModuleFileExtension.h b/contrib/llvm-project/clang/lib/Frontend/TestModuleFileExtension.h index 13e090783b11..e22c87ed2d1b 100644 --- a/contrib/llvm-project/clang/lib/Frontend/TestModuleFileExtension.h +++ b/contrib/llvm-project/clang/lib/Frontend/TestModuleFileExtension.h @@ -17,7 +17,8 @@ namespace clang { /// A module file extension used for testing purposes. -class TestModuleFileExtension : public ModuleFileExtension { +class TestModuleFileExtension + : public llvm::RTTIExtends<TestModuleFileExtension, ModuleFileExtension> { std::string BlockName; unsigned MajorVersion; unsigned MinorVersion; @@ -43,19 +44,18 @@ class TestModuleFileExtension : public ModuleFileExtension { }; public: - TestModuleFileExtension(StringRef BlockName, - unsigned MajorVersion, - unsigned MinorVersion, - bool Hashed, + static char ID; + + TestModuleFileExtension(StringRef BlockName, unsigned MajorVersion, + unsigned MinorVersion, bool Hashed, StringRef UserInfo) - : BlockName(BlockName), - MajorVersion(MajorVersion), MinorVersion(MinorVersion), - Hashed(Hashed), UserInfo(UserInfo) { } + : BlockName(BlockName), MajorVersion(MajorVersion), + MinorVersion(MinorVersion), Hashed(Hashed), UserInfo(UserInfo) {} ~TestModuleFileExtension() override; ModuleFileExtensionMetadata getExtensionMetadata() const override; - llvm::hash_code hashExtension(llvm::hash_code Code) const override; + void hashExtension(ExtensionHashBuilder &HBuilder) const override; std::unique_ptr<ModuleFileExtensionWriter> createExtensionWriter(ASTWriter &Writer) override; @@ -64,6 +64,8 @@ public: createExtensionReader(const ModuleFileExtensionMetadata &Metadata, ASTReader &Reader, serialization::ModuleFile &Mod, const llvm::BitstreamCursor &Stream) override; + + std::string str() const; }; } // end namespace clang |