| from abc import ABCMeta, abstractmethod |
| |
| import lldb |
| |
| |
| class ScriptedStringSummary(metaclass=ABCMeta): |
| """ |
| The base class for a scripted string summary provider. |
| |
| A summary provider produces the one-line string shown next to a value in |
| `frame variable`/`expression` output. Register it with |
| `type summary add -l <ClassName> <TypeName>`. |
| |
| Most of the base class methods are `@abstractmethod` that need to be |
| overwritten by the inheriting class. |
| """ |
| |
| def __init__(self): |
| """Construct a scripted summary provider. |
| |
| Summary providers are constructed with no arguments and are shared |
| across every value they're asked to summarize. |
| """ |
| pass |
| |
| @abstractmethod |
| def get_summary( |
| self, valobj: lldb.SBValue, options: lldb.SBTypeSummaryOptions |
| ) -> str: |
| """Get the summary string for a value. |
| |
| Args: |
| valobj (lldb.SBValue): The value to summarize. |
| options (lldb.SBTypeSummaryOptions): The options to use when |
| producing the summary. |
| |
| Returns: |
| str: The summary string for `valobj`. |
| """ |
| pass |