comparison clang/lib/Frontend/TestModuleFileExtension.h @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children c4bab56944e8
comparison
equal deleted inserted replaced
173:0572611fdcc8 207:2e18cbf3894f
15 #include <string> 15 #include <string>
16 16
17 namespace clang { 17 namespace clang {
18 18
19 /// A module file extension used for testing purposes. 19 /// A module file extension used for testing purposes.
20 class TestModuleFileExtension : public ModuleFileExtension { 20 class TestModuleFileExtension
21 : public llvm::RTTIExtends<TestModuleFileExtension, ModuleFileExtension> {
21 std::string BlockName; 22 std::string BlockName;
22 unsigned MajorVersion; 23 unsigned MajorVersion;
23 unsigned MinorVersion; 24 unsigned MinorVersion;
24 bool Hashed; 25 bool Hashed;
25 std::string UserInfo; 26 std::string UserInfo;
41 42
42 Reader(ModuleFileExtension *Ext, const llvm::BitstreamCursor &InStream); 43 Reader(ModuleFileExtension *Ext, const llvm::BitstreamCursor &InStream);
43 }; 44 };
44 45
45 public: 46 public:
46 TestModuleFileExtension(StringRef BlockName, 47 static char ID;
47 unsigned MajorVersion, 48
48 unsigned MinorVersion, 49 TestModuleFileExtension(StringRef BlockName, unsigned MajorVersion,
49 bool Hashed, 50 unsigned MinorVersion, bool Hashed,
50 StringRef UserInfo) 51 StringRef UserInfo)
51 : BlockName(BlockName), 52 : BlockName(BlockName), MajorVersion(MajorVersion),
52 MajorVersion(MajorVersion), MinorVersion(MinorVersion), 53 MinorVersion(MinorVersion), Hashed(Hashed), UserInfo(UserInfo) {}
53 Hashed(Hashed), UserInfo(UserInfo) { }
54 ~TestModuleFileExtension() override; 54 ~TestModuleFileExtension() override;
55 55
56 ModuleFileExtensionMetadata getExtensionMetadata() const override; 56 ModuleFileExtensionMetadata getExtensionMetadata() const override;
57 57
58 llvm::hash_code hashExtension(llvm::hash_code Code) const override; 58 llvm::hash_code hashExtension(llvm::hash_code Code) const override;
62 62
63 std::unique_ptr<ModuleFileExtensionReader> 63 std::unique_ptr<ModuleFileExtensionReader>
64 createExtensionReader(const ModuleFileExtensionMetadata &Metadata, 64 createExtensionReader(const ModuleFileExtensionMetadata &Metadata,
65 ASTReader &Reader, serialization::ModuleFile &Mod, 65 ASTReader &Reader, serialization::ModuleFile &Mod,
66 const llvm::BitstreamCursor &Stream) override; 66 const llvm::BitstreamCursor &Stream) override;
67
68 std::string str() const;
67 }; 69 };
68 70
69 } // end namespace clang 71 } // end namespace clang
70 72
71 #endif // LLVM_CLANG_FRONTEND_TESTMODULEFILEEXTENSION_H 73 #endif // LLVM_CLANG_FRONTEND_TESTMODULEFILEEXTENSION_H