diff options
Diffstat (limited to 'lldb/examples/summaries/sp_cp.py')
-rw-r--r-- | lldb/examples/summaries/sp_cp.py | 119 |
1 files changed, 71 insertions, 48 deletions
diff --git a/lldb/examples/summaries/sp_cp.py b/lldb/examples/summaries/sp_cp.py index 9aa0a2f..e2ef18b 100644 --- a/lldb/examples/summaries/sp_cp.py +++ b/lldb/examples/summaries/sp_cp.py @@ -6,56 +6,79 @@ This file is distributed under the University of Illinois Open Source License. See LICENSE.TXT for details. """ + class SharedPtr_SyntheticChildrenProvider: - def __init__(self,valobj,dict): - self.valobj = valobj - self.update() - def update(self): - pass - def num_children(self): - return 1 - def get_child_index(self,name): - if name == "ptr": - return 0 - if name == "count": - return 1 - return None - def get_child_at_index(self,index): - if index == 0: - return self.valobj.GetChildMemberWithName('_M_ptr') - if index == 1: - return self.valobj.GetChildMemberWithName('_M_refcount').GetChildMemberWithName('_M_pi').GetChildMemberWithName('_M_use_count') - return None - -def SharedPtr_SummaryProvider (valobj,dict): - return 'use = ' + str(valobj.GetChildMemberWithName("count").GetValueAsUnsigned()) + + def __init__(self, valobj, dict): + self.valobj = valobj + self.update() + + def update(self): + pass + + def num_children(self): + return 1 + + def get_child_index(self, name): + if name == "ptr": + return 0 + if name == "count": + return 1 + return None + + def get_child_at_index(self, index): + if index == 0: + return self.valobj.GetChildMemberWithName('_M_ptr') + if index == 1: + return self.valobj.GetChildMemberWithName('_M_refcount').GetChildMemberWithName( + '_M_pi').GetChildMemberWithName('_M_use_count') + return None + + +def SharedPtr_SummaryProvider(valobj, dict): + return 'use = ' + \ + str(valobj.GetChildMemberWithName("count").GetValueAsUnsigned()) + class ValueObjectSP_SyntheticChildrenProvider: - def __init__(self,valobj,dict): - self.valobj = valobj - self.update() - def update(self): - pass - def num_children(self): - return 1 - def get_child_index(self,name): - if name == "ptr": - return 0 - if name == "count": - return 1 - return None - def get_child_at_index(self,index): - if index == 0: - return self.valobj.GetChildMemberWithName('ptr_') - if index == 1: - return self.valobj.GetChildMemberWithName('cntrl_').GetChildMemberWithName('shared_owners_') - return None - -def ValueObjectSP_SummaryProvider (valobj,dict): - return 'use = ' + str(1 + valobj.GetChildMemberWithName("count").GetValueAsUnsigned()) + + def __init__(self, valobj, dict): + self.valobj = valobj + self.update() + + def update(self): + pass + + def num_children(self): + return 1 + + def get_child_index(self, name): + if name == "ptr": + return 0 + if name == "count": + return 1 + return None + + def get_child_at_index(self, index): + if index == 0: + return self.valobj.GetChildMemberWithName('ptr_') + if index == 1: + return self.valobj.GetChildMemberWithName( + 'cntrl_').GetChildMemberWithName('shared_owners_') + return None + + +def ValueObjectSP_SummaryProvider(valobj, dict): + return 'use = ' + \ + str(1 + valobj.GetChildMemberWithName("count").GetValueAsUnsigned()) + def __lldb_init_module(debugger, dict): - debugger.HandleCommand('type summary add -x ".*ValueObjectSP" --expand -F sp_cp.ValueObjectSP_SummaryProvider') - debugger.HandleCommand('type synthetic add -x ".*ValueObjectSP" -l sp_cp.ValueObjectSP_SyntheticChildrenProvider') - debugger.HandleCommand('type summary add -x ".*SP" --expand -F sp_cp.SharedPtr_SummaryProvider') - debugger.HandleCommand('type synthetic add -x ".*SP" -l sp_cp.SharedPtr_SyntheticChildrenProvider') + debugger.HandleCommand( + 'type summary add -x ".*ValueObjectSP" --expand -F sp_cp.ValueObjectSP_SummaryProvider') + debugger.HandleCommand( + 'type synthetic add -x ".*ValueObjectSP" -l sp_cp.ValueObjectSP_SyntheticChildrenProvider') + debugger.HandleCommand( + 'type summary add -x ".*SP" --expand -F sp_cp.SharedPtr_SummaryProvider') + debugger.HandleCommand( + 'type synthetic add -x ".*SP" -l sp_cp.SharedPtr_SyntheticChildrenProvider') |