Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] jump/signal/return/finish

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.core/ChangeLog,v
retrieving revision 1.120
diff -u -r1.120 ChangeLog
--- ChangeLog	3 Feb 2003 23:42:33 -0000	1.120
+++ ChangeLog	4 Feb 2003 19:08:55 -0000
@@ -1,3 +1,10 @@
+2003-02-03  Alain Magloire
+
+	* src/org/eclipse/cdt/debug/core/cdi/model/ICDITarget.java:
+	* src/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java:
+	Added methods, signal(), jump() stepReturn(boolean) to
+	mimic gdb "return/finish".
+
 2003-02-03 Mikhail Khodjaiants
 	Implemention of the 'handle' command of the 'Signals' view.
 	* ICDISignal.java: added the 'handle' method
Index: src/org/eclipse/cdt/debug/core/cdi/model/ICDITarget.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/model/ICDITarget.java,v
retrieving revision 1.14
diff -u -r1.14 ICDITarget.java
--- src/org/eclipse/cdt/debug/core/cdi/model/ICDITarget.java	27 Jan 2003 16:15:33 -0000	1.14
+++ src/org/eclipse/cdt/debug/core/cdi/model/ICDITarget.java	4 Feb 2003 19:08:56 -0000
@@ -146,14 +146,22 @@
 	void suspend() throws CDIException;
 
 	/**
-	 * Steps to the next return statement in the current scope. Can 
-	 * only be called when the associated thread is suspended. 
-	 * 
+	 * Equivalent to stepReturn(true)
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
 	void stepReturn() throws CDIException;
 
 	/**
+	 * If execute is true, continue running until just after function. if
+	 * If execute is false, cancel execution of the function and stop the
+	 * program after the function.
+	 * Can  only be called when the associated target is suspended.
+	 * 
+	 * @throws CDIException if this method fails.  Reasons include:
+	 */
+	void stepReturn(boolean execute) throws CDIException;
+
+	/**
 	 * Steps over the current source line. Can only be called
 	 * when the associated target is suspended. 
 	 * 
@@ -186,22 +194,37 @@
 	void stepIntoInstruction() throws CDIException;
 
 	/**
-	 * Continues running until just after function in the current 
-	 * stack frame returns. Can only be called when the associated 
+	 * Continues running until location is reached. Can only be called when the associated 
 	 * target is suspended.
 	 * 
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
-	void finish() throws CDIException;
+	void runUntil(ICDILocation location) throws CDIException;
 
 	/**
-	 * Continues running until location is reached. Can only be called when the associated 
-	 * target is suspended.
+	 * Resume execution at location. Note the jump() does not change stackframe.
+	 * The result is undefined if jump outside of the stacframe i.e function.
+	 * Can  only be called when the associated target is suspended.
 	 * 
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
-	void runUntil(ICDILocation location) throws CDIException;
+	void jump(ICDILocation location) throws CDIException;
+	
+	/**
+	 * Method signal, resume execution without giving a signal.
+	 * @throws CDIException
+	 */
+	void signal() throws CDIException;
 
+	/**
+	 * Resume execution where the program stopped but immediately give the
+	 * signal.
+	 * 
+	 * @param signal
+	 * @throws CDIException
+	 */
+	void signal(ICDISignal signal) throws CDIException;
+	
 	/**
 	 * Returns the currently selected thread.
 	 * 
Index: src/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java,v
retrieving revision 1.10
diff -u -r1.10 ICDIThread.java
--- src/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java	29 Jan 2003 02:57:40 -0000	1.10
+++ src/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java	4 Feb 2003 19:08:56 -0000
@@ -91,14 +91,22 @@
 	void suspend() throws CDIException;
 
 	/**
-	 * Steps to the next return statement in the current scope. Can 
-	 * only be called when the associated thread is suspended. 
-	 * 
+	 * Equivalent to stepReturn(true)
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
 	void stepReturn() throws CDIException;
 
 	/**
+	 * If execute is true, continue running until just after function. if
+	 * If execute is false, cancel execution of the function and stop the
+	 * program after the function.
+	 * Can  only be called when the associated target is suspended.
+	 * 
+	 * @throws CDIException if this method fails.  Reasons include:
+	 */
+	void stepReturn(boolean execute) throws CDIException;
+
+	/**
 	 * Steps over the current source line. Can only be called
 	 * when the associated thread is suspended. 
 	 * 
@@ -139,13 +147,28 @@
 	void runUntil(ICDILocation location) throws CDIException;
 
 	/**
-	 * Continues running until just after function in the current 
-	 * stack frame returns. Can only be called when the associated 
-	 * thread is suspended.
+	 * Resume execution at location. Note the jump() does not change stackframe.
+	 * The result is undefined if jump outside of the stacframe i.e function.
+	 * Can  only be called when the associated target is suspended.
 	 * 
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
-	void finish() throws CDIException;
+	void jump(ICDILocation location) throws CDIException;
+
+	/**
+	 * Method signal, resume execution without giving a signal.
+	 * @throws CDIException
+	 */
+	void signal() throws CDIException;
+
+	/**
+	 * Resume execution where the program stopped but immediately give the
+	 * signal.
+	 * 
+	 * @param signal
+	 * @throws CDIException
+	 */
+	void signal(ICDISignal signal) throws CDIException;
 
 	/**
 	 * Returns true if the threads are the same.



Back to the top