(valueobject, inner_getter)
| 188 | |
| 189 | |
| 190 | def summarize_heap_object_internal(valueobject, inner_getter): |
| 191 | # By indicating that this synthentic child provider is called from an object |
| 192 | # with a formatter, we can ensure it is updated only when that formatter is |
| 193 | # called, preventing it from being reevaluated multiple times on a single step |
| 194 | DictProvider.updating_for_formatter = True |
| 195 | dumpobj = valueobject.GetChildMemberWithName(OBJECT_DUMP_NAME) |
| 196 | DictProvider.updating_for_formatter = False |
| 197 | if dumpobj and dumpobj.GetError().Success(): |
| 198 | dump = get_string_value(dumpobj) |
| 199 | if dump: |
| 200 | oneline = dump.splitlines()[0] |
| 201 | if oneline: |
| 202 | return oneline |
| 203 | return '%s: Address=0x%x' % (valueobject.GetDisplayTypeName(), |
| 204 | inner_getter().GetValueAsUnsigned()) |
| 205 | |
| 206 | |
| 207 | class HandleChildrenProvider(HeapObjectChildrenProvider): |
no test coverage detected