[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] MIStoppedEvent new methods.
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.41
diff -u -r1.41 ChangeLog
--- ChangeLog 28 Nov 2002 23:09:52 -0000 1.41
+++ ChangeLog 29 Nov 2002 18:51:28 -0000
@@ -1,3 +1,18 @@
+2002-11-29 Alain Magloire
+
+ * src/.../mi/core/event/MIBreakpointEvent.java:
+ * src/.../mi/core/event/MIFunctionFinishedEvent.java:
+ * src/.../mi/core/event/MILocationReachedEvent.java:
+ * src/.../mi/core/event/MISignalEvent.java:
+ * src/.../mi/core/event/MISteppingRangeEvent.java:
+ * src/.../mi/core/event/MIStoppedEvent.java:
+ * src/.../mi/core/event/MIWatchpointEvent.java:
+ * src/.../mi/core/event/MIWatchpointTriggerEvent.java:
+ * src/.../mi/core/RxThread.java:
+ Some events like the temporary events, do not have
+ any specific format but do provide a frame and a thread-id
+ move the code in MIStoppedEvent.
+
2002-11-28 Alain Magloire
* src/.../mi/core/cdi/MemoryBlock.java (setValue): Only get a byte.
Index: src/org/eclipse/cdt/debug/mi/core/RxThread.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/RxThread.java,v
retrieving revision 1.37
diff -u -r1.37 RxThread.java
--- src/org/eclipse/cdt/debug/mi/core/RxThread.java 26 Oct 2002 20:28:52 -0000 1.37
+++ src/org/eclipse/cdt/debug/mi/core/RxThread.java 29 Nov 2002 18:51:28 -0000
@@ -153,7 +153,7 @@
} else if ("error".equals(state)) {
if (session.getMIInferior().isRunning()) {
session.getMIInferior().setSuspended();
- MIEvent event = new MIStoppedEvent(id);
+ MIEvent event = new MIStoppedEvent(rr);
session.fireEvent(event);
}
}
@@ -230,7 +230,7 @@
// "reason" ??? still fire a stopped event.
if (e == null) {
session.getMIInferior().setSuspended();
- e = new MIStoppedEvent(exec.getToken());
+ e = new MIStoppedEvent(exec);
list.add(e);
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MIBreakpointEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MIBreakpointEvent.java,v
retrieving revision 1.6
diff -u -r1.6 MIBreakpointEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MIBreakpointEvent.java 26 Oct 2002 20:25:39 -0000 1.6
+++ src/org/eclipse/cdt/debug/mi/core/event/MIBreakpointEvent.java 29 Nov 2002 18:51:28 -0000
@@ -20,21 +20,15 @@
public class MIBreakpointEvent extends MIStoppedEvent {
int bkptno;
- int threadId;
MIFrame frame;
- MIExecAsyncOutput exec;
- MIResultRecord rr;
-
public MIBreakpointEvent(MIExecAsyncOutput record) {
- super(record.getToken());
- exec = record;
+ super(record);
parse();
}
public MIBreakpointEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
@@ -42,10 +36,6 @@
return bkptno;
}
- public int getThreadId() {
- return threadId;
- }
-
public MIFrame getMIFrame() {
return frame;
}
@@ -53,13 +43,15 @@
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("number=").append(bkptno).append('\n');
- buffer.append("thread-id=").append(threadId).append('\n');
+ buffer.append("thread-id=").append(getThreadId()).append('\n');
buffer.append(frame.toString());
return buffer.toString();
}
void parse () {
MIResult[] results = null;
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
if (exec != null) {
results = exec.getMIResults();
} else if (rr != null) {
@@ -81,7 +73,8 @@
}
} else if (var.equals("thread-id")) {
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
} else if (var.equals("frame")) {
Index: src/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java,v
retrieving revision 1.4
diff -u -r1.4 MIFunctionFinishedEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java 26 Oct 2002 20:26:09 -0000 1.4
+++ src/org/eclipse/cdt/debug/mi/core/event/MIFunctionFinishedEvent.java 29 Nov 2002 18:51:28 -0000
@@ -20,21 +20,14 @@
String gdbResult = "";
String returnValue = "";
- int threadId;
- MIFrame frame;
-
- MIExecAsyncOutput exec;
- MIResultRecord rr;
public MIFunctionFinishedEvent(MIExecAsyncOutput async) {
- super(async.getToken());
- exec = async;
+ super(async);
parse();
}
public MIFunctionFinishedEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
@@ -46,24 +39,22 @@
return returnValue;
}
- public int getThreadId() {
- return threadId;
- }
-
- public MIFrame getFrame() {
- return frame;
- }
-
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("gdb-result-var=" + gdbResult + "\n");;
buffer.append("return-value=" + returnValue + "\n");
- buffer.append("thread-id=").append(threadId).append('\n');
- buffer.append(frame.toString());
+ buffer.append("thread-id=").append(getThreadId()).append('\n');
+ MIFrame f = getFrame();
+ if (f != null) {
+ buffer.append(f.toString());
+ }
return buffer.toString();
}
void parse () {
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
+
MIResult[] results = null;
if (exec != null) {
results = exec.getMIResults();
@@ -85,12 +76,14 @@
returnValue = str;
} else if (var.equals("thread-id")) {
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
} else if (var.equals("frame")) {
if (value instanceof MITuple) {
- frame = new MIFrame((MITuple)value);
+ MIFrame f = new MIFrame((MITuple)value);
+ setFrame(f);
}
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java,v
retrieving revision 1.4
diff -u -r1.4 MILocationReachedEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java 26 Oct 2002 20:26:27 -0000 1.4
+++ src/org/eclipse/cdt/debug/mi/core/event/MILocationReachedEvent.java 29 Nov 2002 18:51:28 -0000
@@ -18,41 +18,31 @@
*/
public class MILocationReachedEvent extends MIStoppedEvent {
- int threadId;
- MIFrame frame;
-
- MIExecAsyncOutput exec;
- MIResultRecord rr;
-
public MILocationReachedEvent(MIExecAsyncOutput async) {
- super(async.getToken());
- exec = async;
+ super(async);
parse();
}
public MILocationReachedEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
- public int getThreadId() {
- return threadId;
- }
-
- public MIFrame getFrame() {
- return frame;
- }
-
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("thread-id=").append(threadId).append('\n');
- buffer.append(frame.toString());
+ buffer.append("thread-id=").append(getThreadId()).append('\n');
+ MIFrame f = getFrame();
+ if (f != null) {
+ buffer.append(f.toString());
+ }
return buffer.toString();
}
void parse () {
MIResult[] results = null;
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
+
if (exec != null) {
results = exec.getMIResults();
} else if (rr != null) {
@@ -69,12 +59,14 @@
if (var.equals("thread-id")) {
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
} else if (var.equals("frame")) {
if (value instanceof MITuple) {
- frame = new MIFrame((MITuple)value);
+ MIFrame f = new MIFrame((MITuple)value);
+ setFrame(f);
}
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java,v
retrieving revision 1.5
diff -u -r1.5 MISignalEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java 26 Oct 2002 20:26:51 -0000 1.5
+++ src/org/eclipse/cdt/debug/mi/core/event/MISignalEvent.java 29 Nov 2002 18:51:28 -0000
@@ -21,21 +21,14 @@
String sigName = "";
String sigMeaning = "";
- int threadId;
- MIFrame frame;
-
- MIExecAsyncOutput exec;
- MIResultRecord rr;
public MISignalEvent(MIExecAsyncOutput async) {
- super(async.getToken());
- exec = async;
+ super(async);
parse();
}
public MISignalEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
@@ -47,25 +40,22 @@
return sigMeaning;
}
-
- public int getThreadId() {
- return threadId;
- }
-
- public MIFrame getFrame() {
- return frame;
- }
-
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("signal-name=" + sigName + "\n");;
buffer.append("signal-meaning=" + sigMeaning + "\n");;
- buffer.append("thread-id=").append(threadId).append('\n');
- buffer.append(frame.toString());
+ buffer.append("thread-id=").append(getThreadId()).append('\n');
+ MIFrame f = getFrame();
+ if (f != null) {
+ buffer.append(f.toString());
+ }
return buffer.toString();
}
void parse () {
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
+
MIResult[] results = null;
if (exec != null) {
results = exec.getMIResults();
@@ -87,12 +77,14 @@
sigMeaning = str;
} else if (var.equals("thread-id")) {
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
} else if (var.equals("frame")) {
if (value instanceof MITuple) {
- frame = new MIFrame((MITuple)value);
+ MIFrame f = new MIFrame((MITuple)value);
+ setFrame(f);
}
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java,v
retrieving revision 1.4
diff -u -r1.4 MISteppingRangeEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java 26 Oct 2002 20:26:57 -0000 1.4
+++ src/org/eclipse/cdt/debug/mi/core/event/MISteppingRangeEvent.java 29 Nov 2002 18:51:28 -0000
@@ -19,41 +19,30 @@
*/
public class MISteppingRangeEvent extends MIStoppedEvent {
- int threadId;
- MIFrame frame;
-
- MIExecAsyncOutput exec;
- MIResultRecord rr;
-
public MISteppingRangeEvent(MIExecAsyncOutput async) {
- super(async.getToken());
- exec = async;
+ super(async);
parse();
}
public MISteppingRangeEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
- public int getThreadId() {
- return threadId;
- }
-
- public MIFrame getMIFrame() {
- return frame;
- }
-
public String toString() {
StringBuffer buffer = new StringBuffer();
- buffer.append("thread-id=").append(threadId).append('\n');
- buffer.append(frame.toString());
+ buffer.append("thread-id=").append(getThreadId()).append('\n');
+ MIFrame f = getFrame();
+ if (f != null) {
+ buffer.append(getFrame().toString());
+ }
return buffer.toString();
}
void parse () {
MIResult[] results = null;
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
if (exec != null) {
results = exec.getMIResults();
} else if (rr != null) {
@@ -68,13 +57,15 @@
if (value instanceof MIConst) {
String str = ((MIConst)value).getString();
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
}
} else if (var.equals("frame")) {
if (value instanceof MITuple) {
- frame = new MIFrame((MITuple)value);
+ MIFrame f = new MIFrame((MITuple)value);
+ setFrame(f);
}
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MIStoppedEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MIStoppedEvent.java,v
retrieving revision 1.3
diff -u -r1.3 MIStoppedEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MIStoppedEvent.java 26 Oct 2002 20:27:04 -0000 1.3
+++ src/org/eclipse/cdt/debug/mi/core/event/MIStoppedEvent.java 29 Nov 2002 18:51:28 -0000
@@ -5,6 +5,14 @@
*/
package org.eclipse.cdt.debug.mi.core.event;
+import org.eclipse.cdt.debug.mi.core.output.MIConst;
+import org.eclipse.cdt.debug.mi.core.output.MIExecAsyncOutput;
+import org.eclipse.cdt.debug.mi.core.output.MIFrame;
+import org.eclipse.cdt.debug.mi.core.output.MIResult;
+import org.eclipse.cdt.debug.mi.core.output.MIResultRecord;
+import org.eclipse.cdt.debug.mi.core.output.MITuple;
+import org.eclipse.cdt.debug.mi.core.output.MIValue;
+
/**
@@ -13,7 +21,77 @@
*/
public class MIStoppedEvent extends MIEvent {
- public MIStoppedEvent(int token) {
- super(token);
+ private int threadId;
+ private MIFrame frame;
+ private MIExecAsyncOutput exec;
+ private MIResultRecord rr;
+
+ public MIStoppedEvent(MIExecAsyncOutput record) {
+ super(record.getToken());
+ exec = record;
+ parse();
+ }
+
+ public MIStoppedEvent(MIResultRecord record) {
+ super(record.getToken());
+ rr = record;
+ parse();
+ }
+
+// public MIStoppedEvent(int token) {
+// super(token);
+// }
+
+ public int getThreadId() {
+ return threadId;
+ }
+
+ public void setThreadId(int id) {
+ threadId = id;
+ }
+
+ public MIFrame getFrame() {
+ return frame;
+ }
+
+ public void setFrame(MIFrame f) {
+ frame = f;
+ }
+
+ public MIExecAsyncOutput getMIExecAsyncOutput() {
+ return exec;
+ }
+
+ public MIResultRecord getMIResultRecord() {
+ return rr;
+ }
+
+ void parse () {
+ MIResult[] results = null;
+ if (exec != null) {
+ results = exec.getMIResults();
+ } else if (rr != null) {
+ results = rr.getMIResults();
+ }
+ if (results != null) {
+ for (int i = 0; i < results.length; i++) {
+ String var = results[i].getVariable();
+ MIValue value = results[i].getMIValue();
+
+ if (var.equals("thread-id")) {
+ if (value instanceof MIConst) {
+ String str = ((MIConst)value).getString();
+ try {
+ threadId = Integer.parseInt(str.trim());
+ } catch (NumberFormatException e) {
+ }
+ }
+ } else if (var.equals("frame")) {
+ if (value instanceof MITuple) {
+ frame = new MIFrame((MITuple)value);
+ }
+ }
+ }
+ }
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointScopeEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointScopeEvent.java,v
retrieving revision 1.2
diff -u -r1.2 MIWatchpointScopeEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointScopeEvent.java 26 Oct 2002 20:27:21 -0000 1.2
+++ src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointScopeEvent.java 29 Nov 2002 18:51:28 -0000
@@ -20,21 +20,14 @@
public class MIWatchpointScopeEvent extends MIStoppedEvent {
int number;
- int threadId;
- MIFrame frame;
-
- MIExecAsyncOutput exec;
- MIResultRecord rr;
public MIWatchpointScopeEvent(MIExecAsyncOutput async) {
- super(async.getToken());
- exec = async;
+ super(async);
parse();
}
public MIWatchpointScopeEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
@@ -42,15 +35,10 @@
return number;
}
- public int getThreadId() {
- return threadId;
- }
-
- public MIFrame getFrame() {
- return frame;
- }
-
void parse() {
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
+
MIResult[] results = null;
if (exec != null) {
results = exec.getMIResults();
@@ -74,13 +62,15 @@
if (value instanceof MIConst) {
String str = ((MIConst) value).getString();
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
}
} else if (var.equals("frame")) {
if (value instanceof MITuple) {
- frame = new MIFrame((MITuple) value);
+ MIFrame f = new MIFrame((MITuple) value);
+ setFrame(f);
}
}
}
Index: src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java,v
retrieving revision 1.2
diff -u -r1.2 MIWatchpointTriggerEvent.java
--- src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java 26 Oct 2002 20:27:28 -0000 1.2
+++ src/org/eclipse/cdt/debug/mi/core/event/MIWatchpointTriggerEvent.java 29 Nov 2002 18:51:28 -0000
@@ -23,21 +23,14 @@
String exp = "";
String oldValue = "";
String newValue = "";
- int threadId;
- MIFrame frame;
-
- MIExecAsyncOutput exec;
- MIResultRecord rr;
public MIWatchpointTriggerEvent(MIExecAsyncOutput async) {
- super(async.getToken());
- exec = async;
+ super(async);
parse();
}
public MIWatchpointTriggerEvent(MIResultRecord record) {
- super(record.getToken());
- rr = record;
+ super(record);
parse();
}
@@ -57,13 +50,6 @@
return newValue;
}
- public int getThreadId() {
- return threadId;
- }
-
- public MIFrame getFrame() {
- return frame;
- }
public String toString() {
StringBuffer buffer = new StringBuffer();
@@ -72,13 +58,18 @@
;
buffer.append("old=" + oldValue + "\n");
buffer.append("new=" + newValue + "\n");
- buffer.append("thread-id=").append(threadId).append('\n');
- buffer.append(frame.toString());
+ buffer.append("thread-id=").append(getThreadId()).append('\n');
+ MIFrame f = getFrame();
+ if (f != null) {
+ buffer.append(f.toString());
+ }
return buffer.toString();
}
void parse() {
MIResult[] results = null;
+ MIExecAsyncOutput exec = getMIExecAsyncOutput();
+ MIResultRecord rr = getMIResultRecord();
if (exec != null) {
results = exec.getMIResults();
} else if (rr != null) {
@@ -101,13 +92,15 @@
if (value instanceof MIConst) {
String str = ((MIConst) value).getString();
try {
- threadId = Integer.parseInt(str.trim());
+ int id = Integer.parseInt(str.trim());
+ setThreadId(id);
} catch (NumberFormatException e) {
}
}
} else if (var.equals("frame")) {
if (value instanceof MITuple) {
- frame = new MIFrame((MITuple) value);
+ MIFrame f = new MIFrame((MITuple) value);
+ setFrame(f);
}
}
}