From 5ff3a637a05144465c37566b81a9d358858fa8de Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Tue, 20 Aug 2002 19:02:08 +0000 Subject: [PATCH] Implement stepOver. --- .../cdt/debug/mi/core/cdi/CTarget.java | 19 ++++++++++++++++++- .../cdt/debug/mi/core/cdi/CThread.java | 7 +++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java index 431aaffdeed..90ed9c8a6ed 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java @@ -10,7 +10,6 @@ import java.util.List; import org.eclipse.cdt.debug.core.cdi.CDIException; import org.eclipse.cdt.debug.core.cdi.ICDISession; -import org.eclipse.cdt.debug.core.cdi.ICDIExpressionManager; import org.eclipse.cdt.debug.core.cdi.model.ICDIGlobalVariable; import org.eclipse.cdt.debug.core.cdi.model.ICDIMemoryBlock; import org.eclipse.cdt.debug.core.cdi.model.ICDIRegisterGroup; @@ -360,6 +359,24 @@ public class CTarget implements ICDITarget { } } + /** + * @see org.eclipse.cdt.debug.core.cdi.model.ICDITarget#stepReturn() + */ + public void stepReturn() throws CDIException { + MISession mi = session.getMISession(); + CommandFactory factory = mi.getCommandFactory(); + MIExecFinish finish = factory.createMIExecFinish(); + try { + mi.postCommand(finish); + MIInfo info = finish.getMIInfo(); + if (info == null) { + throw new CDIException("No answer"); + } + } catch (MIException e) { + throw new CDIException(e.toString()); + } + } + /** * @see org.eclipse.cdt.debug.core.cdi.model.ICDITarget#suspend() */ diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java index 1663c0a29d1..1a01b407a7f 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java @@ -135,6 +135,13 @@ public class CThread extends CObject implements ICDIThread { getTarget().stepOverInstruction(); } + /** + * @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#stepReturn() + */ + public void stepReturn() throws CDIException { + getTarget().stepReturn(); + } + /** * @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#suspend() */