diff options
Diffstat (limited to 'utils/lui/breakwin.py')
-rw-r--r-- | utils/lui/breakwin.py | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/utils/lui/breakwin.py b/utils/lui/breakwin.py deleted file mode 100644 index 7ecb78fd1032..000000000000 --- a/utils/lui/breakwin.py +++ /dev/null @@ -1,94 +0,0 @@ -##===-- breakwin.py ------------------------------------------*- Python -*-===## -## -# The LLVM Compiler Infrastructure -## -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -## -##===----------------------------------------------------------------------===## - -import cui -import curses -import lldb -import lldbutil -import re - - -class BreakWin(cui.ListWin): - - def __init__(self, driver, x, y, w, h): - super(BreakWin, self).__init__(x, y, w, h) - self.driver = driver - self.update() - self.showDetails = {} - - def handleEvent(self, event): - if isinstance(event, lldb.SBEvent): - if lldb.SBBreakpoint.EventIsBreakpointEvent(event): - self.update() - if isinstance(event, int): - if event == ord('d'): - self.deleteSelected() - if event == curses.ascii.NL or event == curses.ascii.SP: - self.toggleSelected() - elif event == curses.ascii.TAB: - if self.getSelected() != -1: - target = self.driver.getTarget() - if not target.IsValid(): - return - i = target.GetBreakpointAtIndex(self.getSelected()).id - self.showDetails[i] = not self.showDetails[i] - self.update() - super(BreakWin, self).handleEvent(event) - - def toggleSelected(self): - if self.getSelected() == -1: - return - target = self.driver.getTarget() - if not target.IsValid(): - return - bp = target.GetBreakpointAtIndex(self.getSelected()) - bp.SetEnabled(not bp.IsEnabled()) - - def deleteSelected(self): - if self.getSelected() == -1: - return - target = self.driver.getTarget() - if not target.IsValid(): - return - bp = target.GetBreakpointAtIndex(self.getSelected()) - target.BreakpointDelete(bp.id) - - def update(self): - target = self.driver.getTarget() - if not target.IsValid(): - self.win.erase() - self.win.noutrefresh() - return - selected = self.getSelected() - self.clearItems() - for i in range(0, target.GetNumBreakpoints()): - bp = target.GetBreakpointAtIndex(i) - if bp.IsInternal(): - continue - text = lldbutil.get_description(bp) - # FIXME: Use an API for this, not parsing the description. - match = re.search('SBBreakpoint: id = ([^,]+), (.*)', text) - try: - id = match.group(1) - desc = match.group(2).strip() - if bp.IsEnabled(): - text = '%s: %s' % (id, desc) - else: - text = '%s: (disabled) %s' % (id, desc) - except ValueError as e: - # bp unparsable - pass - - if self.showDetails.setdefault(bp.id, False): - for location in bp: - desc = lldbutil.get_description( - location, lldb.eDescriptionLevelFull) - text += '\n ' + desc - self.addItem(text) - self.setSelected(selected) |