aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectFrame.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-11-14 22:13:40 +0000
committerGreg Clayton <gclayton@apple.com>2010-11-14 22:13:40 +0000
commit83c5cd9dfd01cedf4048b5e5cefdb9c8dd67d2c2 (patch)
treef922968949fc67cc31c403555b6d2e3110d44e10 /lldb/source/Commands/CommandObjectFrame.cpp
parent2f9f63af0b6417160284c0db9c56b49e3e45594d (diff)
downloadllvm-83c5cd9dfd01cedf4048b5e5cefdb9c8dd67d2c2.zip
llvm-83c5cd9dfd01cedf4048b5e5cefdb9c8dd67d2c2.tar.gz
llvm-83c5cd9dfd01cedf4048b5e5cefdb9c8dd67d2c2.tar.bz2
Just like functions can have a basename and a mangled/demangled name, variable
can too. So now the lldb_private::Variable class has support for this. Variables now have support for having a basename ("i"), and a mangled name ("_ZN12_GLOBAL__N_11iE"), and a demangled name ("(anonymous namespace)::i"). Nowwhen searching for a variable by name, users might enter the fully qualified name, or just the basename. So new test functions were added to the Variable and Mangled classes as: bool NameMatches (const ConstString &name); bool NameMatches (const RegularExpression &regex); I also modified "ClangExpressionDeclMap::FindVariableInScope" to also search for global variables that are not in the current file scope by first starting with the current module, then moving on to all modules. Fixed an issue in the DWARF parser that could cause a varaible to get parsed more than once. Now, once we have parsed a VariableSP for a DIE, we cache the result even if a variable wasn't made so we don't do any re-parsing. Some DW_TAG_variable DIEs don't have locations, or are missing vital info that stops a debugger from being able to display anything for it, we parse a NULL variable shared pointer for these DIEs so we don't keep trying to reparse it. llvm-svn: 119085
Diffstat (limited to 'lldb/source/Commands/CommandObjectFrame.cpp')
-rw-r--r--lldb/source/Commands/CommandObjectFrame.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Commands/CommandObjectFrame.cpp b/lldb/source/Commands/CommandObjectFrame.cpp
index 4821e7e..37cfbfa 100644
--- a/lldb/source/Commands/CommandObjectFrame.cpp
+++ b/lldb/source/Commands/CommandObjectFrame.cpp
@@ -727,7 +727,7 @@ public:
ValueObject::DumpValueObject (result.GetOutputStream(),
exe_ctx.frame,
valobj_sp.get(),
- name_cstr,
+ valobj_sp->GetParent() ? name_cstr : NULL,
ptr_depth,
0,
m_options.max_depth,