aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/clang/Basic/IdentifierTable.h18
-rw-r--r--include/clang/Basic/TokenKinds.h29
2 files changed, 6 insertions, 41 deletions
diff --git a/include/clang/Basic/IdentifierTable.h b/include/clang/Basic/IdentifierTable.h
index 8e68fd1f01..b505176c04 100644
--- a/include/clang/Basic/IdentifierTable.h
+++ b/include/clang/Basic/IdentifierTable.h
@@ -18,15 +18,12 @@
#include "clang/Basic/TokenKinds.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/Bitcode/Serialization.h"
#include <string>
#include <cassert>
-
namespace llvm {
template <typename T> struct DenseMapInfo;
- template <typename T> struct SerializeTrait;
- class Serializer;
- class Deserializer;
}
namespace clang {
@@ -311,21 +308,18 @@ struct DenseMapInfo<clang::Selector> {
/// Define SerializeTrait to enable serialization for IdentifierInfos.
template <>
struct SerializeTrait<clang::IdentifierInfo> {
- static void Serialize(llvm::Serializer& S, const clang::IdentifierInfo& I);
- static void Deserialize(llvm::Deserializer& S, clang::IdentifierInfo& I);
+ static void Emit(Serializer& S, const clang::IdentifierInfo& I);
+ static void Read(Deserializer& S, clang::IdentifierInfo& I);
};
/// Define SerializeTrait to enable serialization for IdentifierTables.
template <>
struct SerializeTrait<clang::IdentifierTable> {
- static void Serialize(llvm::Serializer& S, const clang::IdentifierTable& X);
- static void Deserialize(llvm::Deserializer& S, clang::IdentifierTable& X);
+ static void Emit(Serializer& S, const clang::IdentifierTable& X);
+ static void Read(Deserializer& S, clang::IdentifierTable& X);
private:
- static inline clang::IdentifierTable* Instantiate() {
- return new clang::IdentifierTable();
- }
-
+ static clang::IdentifierTable* Materialize(Deserializer& D);
friend class Deserializer;
};
diff --git a/include/clang/Basic/TokenKinds.h b/include/clang/Basic/TokenKinds.h
index 2e213bddf1..e51f0c7f8a 100644
--- a/include/clang/Basic/TokenKinds.h
+++ b/include/clang/Basic/TokenKinds.h
@@ -48,33 +48,4 @@ const char *getTokenName(enum TokenKind Kind);
} // end namespace tok
} // end namespace clang
-//===----------------------------------------------------------------------===//
-// Serialization traits.
-//===----------------------------------------------------------------------===//
-
-namespace llvm {
- template <typename T> struct SerializeTrait;
- class Serializer;
- class Deserializer;
-
-template<>
-struct SerializeTrait<clang::tok::TokenKind> {
- static void Serialize(llvm::Serializer& S, clang::tok::TokenKind X);
- static void Deserialize(llvm::Deserializer& D, clang::tok::TokenKind& X);
-};
-
-template<>
-struct SerializeTrait<clang::tok::PPKeywordKind> {
- static void Serialize(llvm::Serializer& S, clang::tok::PPKeywordKind X);
- static void Deserialize(llvm::Deserializer& D, clang::tok::PPKeywordKind& X);
-};
-
-template<>
-struct SerializeTrait<clang::tok::ObjCKeywordKind> {
- static void Serialize(llvm::Serializer& S, clang::tok::ObjCKeywordKind X);
- static void Deserialize(llvm::Deserializer& D, clang::tok::ObjCKeywordKind& X);
-};
-
-} // end namespace llvm
-
#endif