From e81d9d49145e432d917eea3a70d2ae74dcad1d89 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 30 Dec 2015 11:55:28 +0000 Subject: Vendor import of stripped lldb trunk r256633: https://llvm.org/svn/llvm-project/lldb/trunk@256633 --- source/API/SBFunction.cpp | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'source/API/SBFunction.cpp') diff --git a/source/API/SBFunction.cpp b/source/API/SBFunction.cpp index 2ec6072b51eb..2d03d53fd9f7 100644 --- a/source/API/SBFunction.cpp +++ b/source/API/SBFunction.cpp @@ -16,6 +16,7 @@ #include "lldb/Symbol/CompileUnit.h" #include "lldb/Symbol/Function.h" #include "lldb/Symbol/Type.h" +#include "lldb/Symbol/VariableList.h" #include "lldb/Target/ExecutionContext.h" #include "lldb/Target/Target.h" @@ -216,6 +217,24 @@ SBFunction::GetEndAddress () return addr; } +const char * +SBFunction::GetArgumentName (uint32_t arg_idx) +{ + if (m_opaque_ptr) + { + Block &block = m_opaque_ptr->GetBlock(true); + VariableListSP variable_list_sp = block.GetBlockVariableList(true); + if (variable_list_sp) + { + VariableList arguments; + variable_list_sp->AppendVariablesWithScope (eValueTypeVariableArgument, arguments, true); + lldb::VariableSP variable_sp = arguments.GetVariableAtIndex(arg_idx); + if (variable_sp) + return variable_sp->GetName().GetCString(); + } + } + return nullptr; +} uint32_t SBFunction::GetPrologueByteSize () @@ -258,4 +277,13 @@ SBFunction::GetLanguage () return lldb::eLanguageTypeUnknown; } - +bool +SBFunction::GetIsOptimized () +{ + if (m_opaque_ptr) + { + if (m_opaque_ptr->GetCompileUnit()) + return m_opaque_ptr->GetCompileUnit()->GetIsOptimized(); + } + return false; +} -- cgit v1.2.3