From 19a95bcf3561ed977c48d5f2a2793b60a8c8e573 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Thu, 25 Oct 2007 16:02:43 +0000 Subject: Implemented serialization of SourceLocation and SourceRange objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43343 91177308-0d34-0410-b5e6-96231b3b80d8 --- Basic/SourceLocation.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Basic/SourceLocation.cpp (limited to 'Basic/SourceLocation.cpp') diff --git a/Basic/SourceLocation.cpp b/Basic/SourceLocation.cpp new file mode 100644 index 0000000000..e39f6b7f64 --- /dev/null +++ b/Basic/SourceLocation.cpp @@ -0,0 +1,30 @@ +//==--- SourceLocation.cpp - Compact identifier for Source Files -*- C++ -*-==// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by Ted Kremenek and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines serialization methods for the SourceLocation class. +// +//===----------------------------------------------------------------------===// + +#include "clang/Basic/SourceLocation.h" +#include "llvm/Bitcode/Serialize.h" +#include "llvm/Bitcode/Deserialize.h" + +using llvm::Serializer; +using llvm::Deserializer; +using llvm::SerializeTrait; +using namespace clang; + +void SerializeTrait::Emit(Serializer& S, SourceLocation L) { + // FIXME: Add code for abbreviation. + S.EmitInt(L.getRawEncoding()); +} + +SourceLocation SerializeTrait::ReadVal(Deserializer& D) { + return SourceLocation::getFromRawEncoding(D.ReadInt()); +} -- cgit v1.2.3-18-g5258