From fb50d511005c611191ba83cbe4d26ccabc3ab632 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sat, 26 Oct 2002 20:23:12 +0000 Subject: [PATCH] getLastExecutionToken() new method. --- .../eclipse/cdt/debug/mi/core/cdi/CTarget.java | 17 ++++++++++++++++- 1 file changed, 16 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 63fa36fd911..f1938637075 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 @@ -45,6 +45,7 @@ public class CTarget implements ICDITarget { CThread[] noThreads = new CThread[0]; CThread[] currentThreads; int currentThreadId; + int lastExecutionToken; public CTarget(CSession s) { session = s; @@ -55,6 +56,10 @@ public class CTarget implements ICDITarget { return session; } + int getLastExecutionToken() { + return lastExecutionToken; + } + /** * @see org.eclipse.cdt.debug.core.cdi.model.ICDITarget#getSession() */ @@ -236,6 +241,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = run.getToken(); } /** @@ -257,6 +263,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = cont.getToken(); } else if (mi.getMIInferior().isTerminated()) { restart(); } else { @@ -281,6 +288,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = step.getToken(); } /** @@ -299,6 +307,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = stepi.getToken(); } /** @@ -317,6 +326,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = next.getToken(); } /** @@ -335,6 +345,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = nexti.getToken(); } /** @@ -353,6 +364,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = finish.getToken(); } /** @@ -384,8 +396,10 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + // Unfortunately -target-detach does not generate an + // event so we do it here. MISession miSession = session.getMISession(); - miSession.fireEvent(new MIDetachedEvent()); + miSession.fireEvent(new MIDetachedEvent(detach.getToken())); session.getMISession().getMIInferior().setDisconnected(); } @@ -405,6 +419,7 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + lastExecutionToken = finish.getToken(); } /**