mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-04 14:55:41 +02:00
Handle destroyed Variables.
This commit is contained in:
parent
de5d435726
commit
c5881820fa
1 changed files with 30 additions and 0 deletions
|
@ -1,7 +1,14 @@
|
||||||
|
/*
|
||||||
|
* (c) Copyright QNX Software Systems Ltd. 2002.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
package org.eclipse.cdt.debug.mi.core.cdi;
|
package org.eclipse.cdt.debug.mi.core.cdi;
|
||||||
|
|
||||||
import org.eclipse.cdt.debug.core.cdi.event.ICDIDestroyedEvent;
|
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.ICDIObject;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.event.MIThreadExitEvent;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.event.MIVarChangedEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author alain
|
* @author alain
|
||||||
|
@ -16,11 +23,34 @@ public class DestroyedEvent implements ICDIDestroyedEvent {
|
||||||
CSession session;
|
CSession session;
|
||||||
ICDIObject source;
|
ICDIObject source;
|
||||||
|
|
||||||
|
public DestroyedEvent(CSession s, MIThreadExitEvent ethread) {
|
||||||
|
session = s;
|
||||||
|
source = new CThread(session.getCTarget(), ethread.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
public DestroyedEvent(CSession s, MIVarChangedEvent var) {
|
||||||
|
session = s;
|
||||||
|
VariableManager mgr = session.getVariableManager();
|
||||||
|
String varName = var.getVarName();
|
||||||
|
VariableManager.Element element = mgr.removeOutOfScope(varName);
|
||||||
|
if (element != null && element.variable != null) {
|
||||||
|
source = element.variable;
|
||||||
|
} else {
|
||||||
|
source = new CObject(session.getCTarget());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public DestroyedEvent(CSession s, ICDIObject src) {
|
public DestroyedEvent(CSession s, ICDIObject src) {
|
||||||
session = s;
|
session = s;
|
||||||
source = src;
|
source = src;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DestroyedEvent(CSession s) {
|
||||||
|
session = s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEvent#getSource()
|
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEvent#getSource()
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue