/* (non-Javadoc) * @see org.eclipse.ptp.debug.core.model.IPValue#evaluateAsExpression(org.eclipse.ptp.debug.core.model.IPStackFrame) */ public String evaluateAsExpression(IPStackFrame frame) { String valueString = ""; // $NON-NLS-1$ AbstractPVariable parent = getParentVariable(); if (parent != null) { if (frame != null && frame.canEvaluate()) { try { IAIFValue value = parent.getAIF().getValue(); if (value instanceof IAIFValueArray) { // TODO if value is array, show nothing. Prevent no value for partial aif valueString = ""; // $NON-NLS-1$ } else { valueString = value.getValueString(); if (valueString == null || valueString.length() == 0) valueString = frame.evaluateExpressionToString(parent.getExpressionString()); } } catch (AIFException e) { valueString = e.getMessage(); } catch (DebugException e) { valueString = e.getMessage(); } } } return valueString; }
public AbstractPValue(AbstractPVariable parent) { super(parent.getSession(), parent.getTasks()); fParent = parent; }