Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2003-02-12 05:23:47 +0000
committerAlain Magloire2003-02-12 05:23:47 +0000
commit922e5d2e6f15970f14a1f42605d71c1963b6725e (patch)
treed0f12a93c8baffc6c280055483045904334a22a1
parent3684997cf592270a1597d2c7dfc30107edb90128 (diff)
downloadorg.eclipse.cdt-922e5d2e6f15970f14a1f42605d71c1963b6725e.tar.gz
org.eclipse.cdt-922e5d2e6f15970f14a1f42605d71c1963b6725e.tar.xz
org.eclipse.cdt-922e5d2e6f15970f14a1f42605d71c1963b6725e.zip
Deal with MIVarDeletedEvent.
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java23
1 files changed, 17 insertions, 6 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java
index 17647b4fccf..6d5fb54e106 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java
@@ -10,6 +10,7 @@ import org.eclipse.cdt.debug.core.cdi.event.ICDIDestroyedEvent;
import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary;
import org.eclipse.cdt.debug.mi.core.cdi.BreakpointManager;
+import org.eclipse.cdt.debug.mi.core.cdi.ExpressionManager;
import org.eclipse.cdt.debug.mi.core.cdi.Session;
import org.eclipse.cdt.debug.mi.core.cdi.SharedLibraryManager;
import org.eclipse.cdt.debug.mi.core.cdi.VariableManager;
@@ -20,7 +21,7 @@ import org.eclipse.cdt.debug.mi.core.cdi.model.Variable;
import org.eclipse.cdt.debug.mi.core.event.MIBreakpointDeletedEvent;
import org.eclipse.cdt.debug.mi.core.event.MISharedLibUnloadedEvent;
import org.eclipse.cdt.debug.mi.core.event.MIThreadExitEvent;
-import org.eclipse.cdt.debug.mi.core.event.MIVarChangedEvent;
+import org.eclipse.cdt.debug.mi.core.event.MIVarDeletedEvent;
/**
*/
@@ -34,19 +35,29 @@ public class DestroyedEvent implements ICDIDestroyedEvent {
source = new Thread(session.getCurrentTarget(), ethread.getId());
}
- public DestroyedEvent(Session s, MIVarChangedEvent var) {
+ public DestroyedEvent(Session s, MIVarDeletedEvent var) {
session = s;
- VariableManager mgr = (VariableManager)session.getVariableManager();
+ VariableManager varMgr = (VariableManager)session.getVariableManager();
String varName = var.getVarName();
- Variable variable = mgr.getVariable(varName);
+ Variable variable = varMgr.getVariable(varName);
if (variable!= null) {
source = variable;
try {
- mgr.removeVariable(variable.getMIVar().getVarName());
+ varMgr.removeVariable(variable.getMIVar().getVarName());
} catch (CDIException e) {
}
} else {
- source = new CObject(session.getCurrentTarget());
+ ExpressionManager expMgr = (ExpressionManager)session.getExpressionManager();
+ variable = expMgr.getExpression(varName);
+ if (variable != null) {
+ source = variable;
+ try {
+ expMgr.removeExpression(variable.getMIVar().getVarName());
+ } catch (CDIException e) {
+ }
+ } else {
+ source = new CObject(session.getCurrentTarget());
+ }
}
}

Back to the top