aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic/SourceLocation.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Basic/SourceLocation.h')
-rw-r--r--include/clang/Basic/SourceLocation.h37
1 files changed, 11 insertions, 26 deletions
diff --git a/include/clang/Basic/SourceLocation.h b/include/clang/Basic/SourceLocation.h
index 31cbfa5085..7e64e3ebbf 100644
--- a/include/clang/Basic/SourceLocation.h
+++ b/include/clang/Basic/SourceLocation.h
@@ -148,6 +148,12 @@ public:
X.ID = Encoding;
return X;
}
+
+ /// Emit - Emit this SourceLocation object to Bitcode.
+ void Emit(llvm::Serializer& S) const;
+
+ /// ReadVal - Read a SourceLocation object from Bitcode.
+ static SourceLocation ReadVal(llvm::Deserializer& D);
};
inline bool operator==(const SourceLocation &LHS, const SourceLocation &RHS) {
@@ -174,35 +180,14 @@ public:
void setEnd(SourceLocation e) { E = e; }
bool isValid() const { return B.isValid() && E.isValid(); }
-};
-
-} // end namespace clang
-
-//===----------------------------------------------------------------------===//
-// Serialization of SourceLocations and SourceRanges.
-//===----------------------------------------------------------------------===//
-
-namespace llvm {
-template<> struct SerializeTrait<clang::SourceLocation> {
- static void Emit(Serializer& S, clang::SourceLocation L);
- static clang::SourceLocation ReadVal(Deserializer& D);
-};
+ /// Emit - Emit this SourceRange object to Bitcode.
+ void Emit(llvm::Serializer& S) const;
-template<> struct SerializeTrait<clang::SourceRange> {
- static inline void Emit(Serializer& S, clang::SourceRange R) {
- SerializeTrait<clang::SourceLocation>::Emit(S,R.getBegin());
- SerializeTrait<clang::SourceLocation>::Emit(S,R.getEnd());
- }
-
- static inline clang::SourceRange ReadVal(Deserializer& D) {
- using clang::SourceLocation;
- SourceLocation L = SerializeTrait<SourceLocation>::ReadVal(D);
- SourceLocation R = SerializeTrait<SourceLocation>::ReadVal(D);
- return clang::SourceRange(L,R);
- }
+ /// ReadVal - Read a SourceRange object from Bitcode.
+ static SourceRange ReadVal(llvm::Deserializer& D);
};
-} // end namespace llvm
+} // end namespace clang
#endif