diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-10-16 23:37:27 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-10-16 23:37:27 +0000 |
commit | bfa82c4c23ce96fdcf357a8f7ef70a9b71b69144 (patch) | |
tree | b9e50af5b4b3f0dfe0b35cd54d570a3cec010927 /include/clang/Basic/IdentifierTable.h | |
parent | 2a35fa9b5e0f9d9429c04adb2e1249b6fd425e7a (diff) |
Started work on clang object serialization. Experimental
serialization logic as well as driver code is now in
Driver/SerializationTest.cpp. The status of this code is that it
should be used by no clients.
Added --test-pickling option to driver to run the serialization code.
Modified IdentifierInfo and IdentifierTable to have friend classes
that permit object serialization. Such friendship may not be needed
in the final design.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43052 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/IdentifierTable.h')
-rw-r--r-- | include/clang/Basic/IdentifierTable.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/clang/Basic/IdentifierTable.h b/include/clang/Basic/IdentifierTable.h index 6d8f001376..25a6b94e72 100644 --- a/include/clang/Basic/IdentifierTable.h +++ b/include/clang/Basic/IdentifierTable.h @@ -21,7 +21,9 @@ #include <string> #include <cassert> + namespace llvm { + template<typename T> class IntrospectionTrait; template <typename T> struct DenseMapInfo; } @@ -136,6 +138,9 @@ public: template<typename T> T *getFETokenInfo() const { return static_cast<T*>(FETokenInfo); } void setFETokenInfo(void *T) { FETokenInfo = T; } + + // For serialization and profiling. + template<typename T> friend class llvm::IntrospectionTrait; }; /// IdentifierTable - This table implements an efficient mapping from strings to @@ -176,6 +181,9 @@ public: /// PrintStats - Print some statistics to stderr that indicate how well the /// hashing is doing. void PrintStats() const; + + // For serialization and profiling. + template<typename T> friend class llvm::IntrospectionTrait; private: void AddKeywords(const LangOptions &LangOpts); }; |