diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-03-10 05:13:43 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-03-10 05:13:43 +0000 |
commit | 321abd4583dc02a254489132c5ccbe125d18ce4f (patch) | |
tree | 3501bf38cd8046416d72060384440b05aecd38a1 | |
parent | b327793860737d1c103a73aeda8057dd628a101d (diff) |
Add FullSourceLoc::getDecomposedLoc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66522 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Basic/SourceLocation.h | 5 | ||||
-rw-r--r-- | lib/Basic/SourceLocation.cpp | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/Basic/SourceLocation.h b/include/clang/Basic/SourceLocation.h index b5906e1393..ba0bb6faac 100644 --- a/include/clang/Basic/SourceLocation.h +++ b/include/clang/Basic/SourceLocation.h @@ -216,6 +216,11 @@ public: /// data for the specified FileID. std::pair<const char*, const char*> getBufferData() const; + /// getDecomposedLoc - Decompose the specified location into a raw FileID + + /// Offset pair. The first element is the FileID, the second is the + /// offset from the start of the buffer of the location. + std::pair<FileID, unsigned> getDecomposedLoc() const; + bool isInSystemHeader() const; /// Prints information about this FullSourceLoc to stderr. Useful for diff --git a/lib/Basic/SourceLocation.cpp b/lib/Basic/SourceLocation.cpp index fd90b5a2ce..dc1dceb724 100644 --- a/lib/Basic/SourceLocation.cpp +++ b/lib/Basic/SourceLocation.cpp @@ -142,3 +142,7 @@ std::pair<const char*, const char*> FullSourceLoc::getBufferData() const { const llvm::MemoryBuffer *Buf = getBuffer(); return std::make_pair(Buf->getBufferStart(), Buf->getBufferEnd()); } + +std::pair<FileID, unsigned> FullSourceLoc::getDecomposedLoc() const { + return SrcMgr->getDecomposedLoc(*this); +} |