aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic/IdentifierTable.h
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-10-24 19:06:02 +0000
committerTed Kremenek <kremenek@apple.com>2007-10-24 19:06:02 +0000
commita2bfb91c55a9baeb368dec97cd5971484b1d0656 (patch)
tree7547f6e35684ee150ac13cea47f928a8bc3489c7 /include/clang/Basic/IdentifierTable.h
parenta83cc33195c7d1fa31d6809416eaa4c3ebf036eb (diff)
Modified current clients of Bitcode-Object serialization to use the
new split-header file configuration (Serialize.h and Deserialize.h) now in place in the core LLVM repository. Removed unneeded SerializeTrait specializations for enums in TokenKinds.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43306 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/IdentifierTable.h')
-rw-r--r--include/clang/Basic/IdentifierTable.h18
1 files changed, 6 insertions, 12 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;
};