48 self.temporary = temporary |
48 self.temporary = temporary |
49 self.cond = cond |
49 self.cond = cond |
50 self.enabled = True |
50 self.enabled = True |
51 self.ignore = 0 |
51 self.ignore = 0 |
52 self.hits = 0 |
52 self.hits = 0 |
53 self.breaks[filename, lineno] = self |
53 Breakpoint.breaks[(filename, lineno)] = self |
54 lines = self.breakInFile.setdefault(filename, []) |
54 lines = Breakpoint.breakInFile.setdefault(filename, []) |
55 if lineno not in lines: |
55 if lineno not in lines: |
56 lines.append(lineno) |
56 lines.append(lineno) |
57 self.breakInFrameCache.clear() |
57 Breakpoint.breakInFrameCache.clear() |
58 |
58 |
59 def deleteMe(self): |
59 def deleteMe(self): |
60 """ |
60 """ |
61 Public method to clear this breakpoint. |
61 Public method to clear this breakpoint. |
62 """ |
62 """ |
63 try: |
63 try: |
64 del self.breaks[(self.file, self.line)] |
64 del Breakpoint.breaks[(self.file, self.line)] |
65 self.breakInFile[self.file].remove(self.line) |
65 Breakpoint.breakInFile[self.file].remove(self.line) |
66 if not self.breakInFile[self.file]: |
66 if not Breakpoint.breakInFile[self.file]: |
67 del self.breakInFile[self.file] |
67 del Breakpoint.breakInFile[self.file] |
68 except KeyError: |
68 except KeyError: |
69 pass |
69 pass |
70 |
70 |
71 def enable(self): |
71 def enable(self): |
72 """ |
72 """ |
98 @staticmethod |
98 @staticmethod |
99 def clear_all_breaks(): |
99 def clear_all_breaks(): |
100 """ |
100 """ |
101 Public method to clear all breakpoints. |
101 Public method to clear all breakpoints. |
102 """ |
102 """ |
103 for bp in Breakpoint.breaks.copy(): |
103 Breakpoint.breaks.clear() |
104 bp.deleteMe() |
104 Breakpoint.breakInFile.clear() |
105 Breakpoint.breakInFrameCache.clear() |
105 Breakpoint.breakInFrameCache.clear() |
106 |
106 |
107 @staticmethod |
107 @staticmethod |
108 def get_break(filename, lineno): |
108 def get_break(filename, lineno): |
109 """ |
109 """ |