1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-20 23:45:23 +02:00

When the target supports runtime type identification clear out the cached type when a new value is created.

This commit is contained in:
Ken Ryall 2006-04-28 03:21:00 +00:00
parent 34ff75dab8
commit 1b35e42b33

View file

@ -13,6 +13,7 @@ package org.eclipse.cdt.debug.internal.core.model;
import org.eclipse.cdt.debug.core.cdi.CDIException; import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.model.ICDIArgumentDescriptor; import org.eclipse.cdt.debug.core.cdi.model.ICDIArgumentDescriptor;
import org.eclipse.cdt.debug.core.cdi.model.ICDILocalVariableDescriptor; import org.eclipse.cdt.debug.core.cdi.model.ICDILocalVariableDescriptor;
import org.eclipse.cdt.debug.core.cdi.model.ICDITargetConfiguration2;
import org.eclipse.cdt.debug.core.cdi.model.ICDIValue; import org.eclipse.cdt.debug.core.cdi.model.ICDIValue;
import org.eclipse.cdt.debug.core.cdi.model.ICDIVariable; import org.eclipse.cdt.debug.core.cdi.model.ICDIVariable;
import org.eclipse.cdt.debug.core.cdi.model.ICDIVariableDescriptor; import org.eclipse.cdt.debug.core.cdi.model.ICDIVariableDescriptor;
@ -223,6 +224,9 @@ public class CLocalVariable extends CVariable {
fValue = CValueFactory.createValue( getVariable(), cdiValue ); fValue = CValueFactory.createValue( getVariable(), cdiValue );
} }
} }
if (getCDITarget().getConfiguration() instanceof ICDITargetConfiguration2 &&
((ICDITargetConfiguration2)getCDITarget().getConfiguration()).supportsRuntimeTypeIdentification())
fType = null; // When the debugger supports RTTI getting a new value may also mean a new type.
} }
catch( CDIException e ) { catch( CDIException e ) {
requestFailed( e.getMessage(), e ); requestFailed( e.getMessage(), e );