From a36ecd3839c95226ff27ee5d247f720328ffe765 Mon Sep 17 00:00:00 2001 From: Jonah Graham Date: Wed, 3 May 2017 11:42:57 +0100 Subject: Bug 516053: Allow MIBreakpoint to be extended New API to allow third-parties to extend MIBreakpoint with their own custom Breakpoint handling. Change-Id: I64abfc41916a2053cfbed7e3db2357fbf2572050 --- .../service/command/output/MIBreakInsertInfo.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java') diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java index 8609866444c..1fe5514a3c4 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java @@ -43,23 +43,23 @@ public class MIBreakInsertInfo extends MIInfo { MIBreakpoint bpt = null; if (var.equals("wpt")) { //$NON-NLS-1$ if (val instanceof MITuple) { - bpt = new MIBreakpoint((MITuple)val); + bpt = createMIBreakpoint((MITuple)val); bpt.setEnabled(true); bpt.setWriteWatchpoint(true); } } else if (var.equals("bkpt")) { //$NON-NLS-1$ if (val instanceof MITuple) { - bpt = new MIBreakpoint((MITuple)val); + bpt = createMIBreakpoint((MITuple)val); } } else if (var.equals("hw-awpt")) { //$NON-NLS-1$ if (val instanceof MITuple) { - bpt = new MIBreakpoint((MITuple)val); + bpt = createMIBreakpoint((MITuple)val); bpt.setAccessWatchpoint(true); bpt.setEnabled(true); } } else if (var.equals("hw-rwpt")) { //$NON-NLS-1$ if (val instanceof MITuple) { - bpt = new MIBreakpoint((MITuple)val); + bpt = createMIBreakpoint((MITuple)val); bpt.setReadWatchpoint(true); bpt.setEnabled(true); } @@ -76,4 +76,17 @@ public class MIBreakInsertInfo extends MIInfo { public MIBreakpoint[] getMIBreakpoints() { return breakpoints; } + + + /** + * Create a target specific MIBreakpoint + * + * @param value + * tuple suitable for passing to MIBreakpoint constructor + * @return new breakpoint + * @since 5.3 + */ + protected MIBreakpoint createMIBreakpoint(MITuple tuple) { + return new MIBreakpoint(tuple); + } } -- cgit v1.2.3