[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.81
diff -u -r1.81 ChangeLog
--- ChangeLog 28 Jan 2003 03:46:39 -0000 1.81
+++ ChangeLog 28 Jan 2003 19:52:57 -0000
@@ -1,3 +1,16 @@
+2003-01-28 Alain Magloire
+
+ * src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java (setMIBreakpoint):
+ New method.
+ * src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java (update):
+ Reset the new MIBreakpoint on the Breakpoint object.
+ (containsBreakpoint): Removed.
+ (hasBreakpointChanged): Change arguments.
+ * src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java (parser):
+ Better check for watchpoints.
+ * src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java (isChangeBreakpoint):
+ Check for "ignore" and "condition" cli commands.
+
2003-01-27 Alain Magloire
* src/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java (getTypeName):
Index: src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java,v
retrieving revision 1.4
diff -u -r1.4 CLIProcessor.java
--- src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java 24 Jan 2003 15:54:47 -0000 1.4
+++ src/org/eclipse/cdt/debug/mi/core/CLIProcessor.java 28 Jan 2003 19:52:57 -0000
@@ -46,7 +46,7 @@
session.fireEvent(event);
} else if (isSettingBreakpoint(operation) ||
isSettingWatchpoint(operation) ||
- isEnableBreakpoint(operation) ||
+ isChangeBreakpoint(operation) ||
isDeletingBreakpoint(operation)) {
// We know something change, we just do not know what.
// So the easiest way is to let the top layer handle it.
@@ -113,12 +113,14 @@
return isDelete;
}
- boolean isEnableBreakpoint(String operation) {
+ boolean isChangeBreakpoint(String operation) {
boolean isChange = false;
/* changing breaks: enable, disable */
if ((operation.equals("dis") || operation.equals("disa") ||
(operation.startsWith("disa") && "disable".indexOf(operation) != -1)) ||
- (operation.equals("en") || (operation.startsWith("en") && "enable".indexOf(operation) != -1))) {
+ (operation.equals("en") || (operation.startsWith("en") && "enable".indexOf(operation) != -1)) ||
+ (operation.startsWith("ig") && "ignore".indexOf(operation) != -1) ||
+ (operation.startsWith("cond") && "condition".indexOf(operation) != -1)) {
isChange = true;
}
return isChange;
Index: src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java,v
retrieving revision 1.29
diff -u -r1.29 BreakpointManager.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java 27 Jan 2003 03:16:29 -0000 1.29
+++ src/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java 28 Jan 2003 19:52:58 -0000
@@ -75,14 +75,8 @@
}
}
- boolean containsBreakpoint(int number) {
- return (getBreakpoint(number) != null);
- }
-
- boolean hasBreakpointChanged(MIBreakpoint miBreakpoint) {
+ boolean hasBreakpointChanged(Breakpoint point, MIBreakpoint miBreakpoint) {
boolean changed = false;
- int no = miBreakpoint.getNumber();
- Breakpoint point = getBreakpoint(no);
if (point != null) {
MIBreakpoint miBreak = point.getMIBreakpoint();
changed = (miBreak.isEnabled() != miBreakpoint.isEnabled()) ||
@@ -266,9 +260,11 @@
List eventList = new ArrayList(newMIBreakpoints.length);
for (int i = 0; i < newMIBreakpoints.length; i++) {
int no = newMIBreakpoints[i].getNumber();
- if (containsBreakpoint(no)) {
- if (hasBreakpointChanged(newMIBreakpoints[i])) {
+ Breakpoint bp = getBreakpoint(no);
+ if (bp != null) {
+ if (hasBreakpointChanged(bp, newMIBreakpoints[i])) {
// Fire ChangedEvent
+ bp.setMIBreakpoint(newMIBreakpoints[i]);
eventList.add(new MIBreakpointChangedEvent(no));
}
} else {
Index: src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java,v
retrieving revision 1.2
diff -u -r1.2 Breakpoint.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java 27 Jan 2003 03:11:19 -0000 1.2
+++ src/org/eclipse/cdt/debug/mi/core/cdi/model/Breakpoint.java 28 Jan 2003 19:52:58 -0000
@@ -31,7 +31,11 @@
public MIBreakpoint getMIBreakpoint() {
return miBreakpoint;
}
-
+
+ public void setMIBreakpoint(MIBreakpoint newMIBreakpoint) {
+ miBreakpoint = newMIBreakpoint;
+ }
+
/**
* @see org.eclipse.cdt.debug.core.cdi.ICDIBreakpoint#getCondition()
*/
Index: src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java,v
retrieving revision 1.1
diff -u -r1.1 MIBreakpoint.java
--- src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java 8 Jan 2003 21:33:31 -0000 1.1
+++ src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java 28 Jan 2003 19:52:58 -0000
@@ -62,6 +62,7 @@
boolean isAWpt;
boolean isRWpt;
boolean isWWpt;
+ boolean isHdw;
public MIBreakpoint(MITuple tuple) {
parse(tuple);
@@ -75,10 +76,6 @@
return type;
}
- public boolean isHardware() {
- return getType().startsWith("hw") || isWatchpoint();
- }
-
public boolean isTemporary() {
return getDisposition().equals("del");
}
@@ -91,6 +88,15 @@
isWpt = w;
}
+ public boolean isHardware() {
+ return isHdw;
+ }
+
+ public void setHardware(boolean hd) {
+ isWpt = hd;
+ isHdw = hd;
+ }
+
public boolean isAccessWatchpoint() {
return isAWpt;
}
@@ -183,6 +189,29 @@
}
} else if (var.equals("type")) {
type = str;
+ //type="hw watchpoint"
+ if (type.startsWith("hw")) {
+ isHdw = true;
+ isWWpt = true;
+ isWpt = true;
+ }
+ //type="acc watchpoint"
+ if (type.startsWith("acc")) {
+ isWWpt = true;
+ isRWpt = true;
+ isWpt = true;
+ }
+ //type="read watchpoint"
+ if (type.startsWith("read")) {
+ isRWpt = true;
+ isWpt = true;
+ }
+ // ??
+ if (type.equals("watchpoint")) {
+ isWpt = true;
+ }
+ // type="breakpoint"
+ // default ok.
} else if (var.equals("disp")) {
disp = str;
} else if (var.equals("enabled")) {