private String fValueString; // The value of this variable as text
private Vector fVariables; // The children of this variable (other variables) if any
private PHPStackFrame fStackFrame; // The stackframe this value (variable) belongs to
- //
+ private boolean fHasChanged; // The value has changed between two suspends
+ // This variable was moved from PHPVariable due to the fact,
+ // that two PHPVariables can reference the same PHPValue,
+ // so only the first PHPVariable would win, when we check the variable tree
+ // for changed values.
/**
*
this.fValueType = fValueType;
this.fValueString = value;
this.fStackFrame = frame;
+ this.fHasChanged = false;
if (subitems != null) { // If there are children for this value (variable)
this.fVariables = new Vector (subitems); // Then add the children to this value (variable)
return null;
}
+ public boolean hasValueChanged () throws DebugException {
+ return fHasChanged;
+ }
+
+ public void setValueChanged (boolean changed) {
+ fHasChanged = changed;
+ }
+
+
}
private PHPStackFrame fStackFrame; // The stackframe this variable belongs to
private PHPVariable fParent; // The parent variable (a back link)
private String fLongName; // ???
- private boolean fHasChanged; //
/**
*
this.fStackFrame = frame;
this.fValue = new PHPValue (frame, value, valueType, subitems);
this.fParent = parent;
- this.fHasChanged = false;
setName (name);
}
* @see org.eclipse.debug.core.model.IVariable#hasValueChanged()
*/
public boolean hasValueChanged() throws DebugException {
- // TODO Auto-generated method stub
- // return false;
- return fHasChanged;
+ return fValue.hasValueChanged ();
}
/**
* a different color.
*/
public void setValueChanged (boolean changed) {
- fHasChanged = changed;
+ fValue.setValueChanged (changed);
}
/**