From 58e7a2dfc2e0203abb5a4637bd0fcf9c1992fb95 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Tue, 1 Sep 2009 00:53:21 +0000 Subject: [PATCH] Add getDirectory() and getFilename() interface to DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80647 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/DebugInfo.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index 30cc0992834..f4783c022a4 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(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