Modified ClangExpressionDeclMap to use existing
ValueObjects when creating variables referring to live data rather than constructing ValueObjectConstResults. llvm-svn: 145437
This commit is contained in:
parent
f545f67de3
commit
0712f46f4f
|
@ -909,10 +909,14 @@ private:
|
|||
///
|
||||
/// @param[in] var
|
||||
/// The LLDB Variable that needs a Decl.
|
||||
///
|
||||
/// @param[in] valobj
|
||||
/// The LLDB ValueObject for that variable.
|
||||
//------------------------------------------------------------------
|
||||
void
|
||||
AddOneVariable (NameSearchContext &context,
|
||||
lldb::VariableSP var,
|
||||
lldb::ValueObjectSP valobj,
|
||||
unsigned int current_id);
|
||||
|
||||
//------------------------------------------------------------------
|
||||
|
|
|
@ -2507,7 +2507,7 @@ ClangExpressionDeclMap::FindExternalVisibleDecls (NameSearchContext &context,
|
|||
// If we found a variable in scope, no need to pull up function names
|
||||
if (err.Success() && var != NULL)
|
||||
{
|
||||
AddOneVariable(context, var, current_id);
|
||||
AddOneVariable(context, var, valobj, current_id);
|
||||
context.m_found.variable = true;
|
||||
return;
|
||||
}
|
||||
|
@ -2522,7 +2522,8 @@ ClangExpressionDeclMap::FindExternalVisibleDecls (NameSearchContext &context,
|
|||
|
||||
if (var)
|
||||
{
|
||||
AddOneVariable(context, var, current_id);
|
||||
valobj = frame->TrackGlobalVariable(var, eNoDynamicValues);
|
||||
AddOneVariable(context, var, valobj, current_id);
|
||||
context.m_found.variable = true;
|
||||
}
|
||||
}
|
||||
|
@ -2728,7 +2729,7 @@ ClangExpressionDeclMap::GetVariableValue
|
|||
}
|
||||
|
||||
void
|
||||
ClangExpressionDeclMap::AddOneVariable (NameSearchContext &context, VariableSP var, unsigned int current_id)
|
||||
ClangExpressionDeclMap::AddOneVariable (NameSearchContext &context, VariableSP var, ValueObjectSP valobj, unsigned int current_id)
|
||||
{
|
||||
assert (m_parser_vars.get());
|
||||
|
||||
|
@ -2757,11 +2758,8 @@ ClangExpressionDeclMap::AddOneVariable (NameSearchContext &context, VariableSP v
|
|||
|
||||
std::string decl_name(context.m_decl_name.getAsString());
|
||||
ConstString entity_name(decl_name.c_str());
|
||||
ClangExpressionVariableSP entity(m_found_entities.CreateVariable (m_parser_vars->m_exe_ctx->GetBestExecutionContextScope (),
|
||||
entity_name,
|
||||
ut,
|
||||
m_parser_vars->m_target_info.byte_order,
|
||||
m_parser_vars->m_target_info.address_byte_size));
|
||||
ClangExpressionVariableSP entity(m_found_entities.CreateVariable (valobj));
|
||||
|
||||
assert (entity.get());
|
||||
entity->EnableParserVars();
|
||||
entity->m_parser_vars->m_parser_type = pt;
|
||||
|
|
Loading…
Reference in New Issue