diff options
| author | Enrico Granata <egranata@apple.com> | 2016-03-15 21:50:51 +0000 |
|---|---|---|
| committer | Enrico Granata <egranata@apple.com> | 2016-03-15 21:50:51 +0000 |
| commit | 592afe73ada21856f908a42486378b2860037ebd (patch) | |
| tree | 78ac6d4497414e805da1090ed2014455d8659266 /lldb/source/Target/StackFrame.cpp | |
| parent | 298516ffa97e5cc292fc3a0bfd21054fd677a354 (diff) | |
| download | bcm5719-llvm-592afe73ada21856f908a42486378b2860037ebd.tar.gz bcm5719-llvm-592afe73ada21856f908a42486378b2860037ebd.zip | |
Improve the 'type lookup' command such that it guesses to use the current's frame language as the one to start searching from.
llvm-svn: 263592
Diffstat (limited to 'lldb/source/Target/StackFrame.cpp')
| -rw-r--r-- | lldb/source/Target/StackFrame.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lldb/source/Target/StackFrame.cpp b/lldb/source/Target/StackFrame.cpp index 1d1a68fd334..37dc67bed0c 100644 --- a/lldb/source/Target/StackFrame.cpp +++ b/lldb/source/Target/StackFrame.cpp @@ -12,10 +12,11 @@ // Other libraries and framework includes // Project includes #include "lldb/Target/StackFrame.h" -#include "lldb/Core/Module.h" #include "lldb/Core/Debugger.h" #include "lldb/Core/Disassembler.h" #include "lldb/Core/FormatEntity.h" +#include "lldb/Core/Mangled.h" +#include "lldb/Core/Module.h" #include "lldb/Core/Value.h" #include "lldb/Core/ValueObjectVariable.h" #include "lldb/Core/ValueObjectConstResult.h" @@ -1356,6 +1357,23 @@ StackFrame::GetLanguage () return lldb::eLanguageTypeUnknown; } +lldb::LanguageType +StackFrame::GuessLanguage () +{ + LanguageType lang_type = GetLanguage(); + + if (lang_type == eLanguageTypeUnknown) + { + Function *f = GetSymbolContext(eSymbolContextFunction).function; + if (f) + { + lang_type = f->GetMangled().GuessLanguage(); + } + } + + return lang_type; +} + TargetSP StackFrame::CalculateTarget () { |

