package net.sourceforge.phpeclipse.xdebug.php.model;
+import java.util.ArrayList;
+
import net.sourceforge.phpeclipse.xdebug.core.PHPDebugUtils;
import org.eclipse.debug.core.DebugException;
if (NumChildren > 0) {
NodeList property = value.getChildNodes();
- IVariable[] Variables = new IVariable[property.getLength()];
- for (int i = 0; i<property.getLength(); i++) {
+ ArrayList a = new ArrayList();
+ for (int i = 0; i < property.getLength(); i++) {
Node propertyNode = property.item(i);
- Variables[i] = new XDebugVariable(variable, propertyNode);
+ /*
+ * Eliminate CLASSNAME duplicate from object properties.
+ * see http://bugs.xdebug.org/view.php?id=518
+ * and http://svn.xdebug.org/cgi-bin/viewvc.cgi/xdebug/trunk/xdebug_var.c?root=xdebug&r1=2962&r2=2996
+ */
+ String encoding = PHPDebugUtils.getAttributeValue(propertyNode, "encoding");
+ if (encoding.equals("base64")) {
+ a.add(new XDebugVariable(variable, propertyNode));
+ }
}
- setChildren(Variables);
+ setChildren((IVariable[])a.toArray(new IVariable[a.size()]));
}
String className = PHPDebugUtils.getAttributeValue(value,"classname");