bool
HasLoop();
- static const size_t g_list_capping_size = 255;
+ size_t m_list_capping_size;
static const bool g_use_loop_detect = true;
lldb::addr_t m_node_address;
ValueObject* m_head;
ValueObject* m_tail;
ClangASTType m_element_type;
- uint32_t m_element_size;
size_t m_count;
std::map<size_t,lldb::ValueObjectSP> m_children;
};
void
GetValueOffset (const lldb::ValueObjectSP& node);
- static const size_t g_map_capping_size = 255;
ValueObject* m_tree;
ValueObject* m_root_node;
ClangASTType m_element_type;
- uint32_t m_element_size;
uint32_t m_skip_size;
size_t m_count;
std::map<size_t,lldb::ValueObjectSP> m_children;
lldb_private::formatters::LibcxxStdListSyntheticFrontEnd::LibcxxStdListSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp) :
SyntheticChildrenFrontEnd(*valobj_sp.get()),
+m_list_capping_size(0),
m_node_address(),
m_head(NULL),
m_tail(NULL),
m_element_type(),
-m_element_size(0),
m_count(UINT32_MAX),
m_children()
{
{
size++;
current.SetEntry(current.next());
- if (size > g_list_capping_size)
+ if (size > m_list_capping_size)
break;
}
return m_count = (size-1);
m_count = UINT32_MAX;
Error err;
ValueObjectSP backend_addr(m_backend.AddressOf(err));
+ m_list_capping_size = 0;
+ if (m_backend.GetTargetSP())
+ m_list_capping_size = m_backend.GetTargetSP()->GetMaximumNumberOfChildrenToDisplay();
+ if (m_list_capping_size == 0)
+ m_list_capping_size = 255;
if (err.Fail() || backend_addr.get() == NULL)
return false;
m_node_address = backend_addr->GetValueAsUnsigned(0);
return false;
lldb::TemplateArgumentKind kind;
m_element_type = ClangASTType(m_backend.GetClangAST(), ClangASTContext::GetTemplateArgument(m_backend.GetClangAST(), list_type, 0, kind));
- m_element_size = m_element_type.GetTypeByteSize();
m_head = impl_sp->GetChildMemberWithName(ConstString("__next_"), true).get();
m_tail = impl_sp->GetChildMemberWithName(ConstString("__prev_"), true).get();
return false;