diff options
author | Devang Patel <dpatel@apple.com> | 2009-09-01 00:53:21 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-09-01 00:53:21 +0000 |
commit | d4794f1da6e32d0eda205da2f994a25d1632aea9 (patch) | |
tree | 469aa3e7a10a0b5de942f8b63c973a4411c8c2ec /include/llvm/Analysis | |
parent | 318d70da84dd9c3371774284695e2f96613d68a9 (diff) | |
download | external_llvm-d4794f1da6e32d0eda205da2f994a25d1632aea9.zip external_llvm-d4794f1da6e32d0eda205da2f994a25d1632aea9.tar.gz external_llvm-d4794f1da6e32d0eda205da2f994a25d1632aea9.tar.bz2 |
Add getDirectory() and getFilename() interface to DIScope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80647 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r-- | include/llvm/Analysis/DebugInfo.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index 30cc099..f4783c0 100644 --- a/include/llvm/Analysis/DebugInfo.h +++ b/include/llvm/Analysis/DebugInfo.h @@ -128,6 +128,14 @@ namespace llvm { if (DbgNode && !isScope()) DbgNode = 0; } + + virtual const std::string &getFilename(std::string &F) const { + return F; + } + + virtual const std::string &getDirectory(std::string &D) const { + return D; + } }; /// DICompileUnit - A wrapper for a compile unit. @@ -382,6 +390,13 @@ namespace llvm { unsigned isLocalToUnit() const { return getUnsignedField(9); } unsigned isDefinition() const { return getUnsignedField(10); } + const std::string &getFilename(std::string &F) const { + return getCompileUnit().getFilename(F); + } + const std::string &getDirectory(std::string &F) const { + return getCompileUnit().getDirectory(F); + } + /// Verify - Verify that a subprogram descriptor is well formed. bool Verify() const; @@ -448,7 +463,16 @@ namespace llvm { if (DbgNode && !isLexicalBlock()) DbgNode = 0; } - DIDescriptor getContext() const { return getDescriptorField(1); } + DIScope getContext() const { return getFieldAs<DIScope>(1); } + + const std::string &getFilename(std::string &F) const { + return getContext().getFilename(F); + } + const std::string &getDirectory(std::string &D) const { + return getContext().getDirectory(D); + } + + }; /// DIFactory - This object assists with the construction of the various |