1) Added parameter 'parent' to XDebugVariable, so we can determine whether a variable...
[phpeclipse.git] / net.sourceforge.phpeclipse.xdebug.core / src / net / sourceforge / phpeclipse / xdebug / php / model / XDebugObjectValue.java
index 92ba352..4e7be86 100644 (file)
@@ -12,37 +12,38 @@ import org.w3c.dom.NodeList;
 public class XDebugObjectValue extends XDebugAbstractValue {
        private int NumChildren;
 
-       public XDebugObjectValue(XDebugStackFrame variable, Node value) throws DebugException {
+       public XDebugObjectValue(XDebugStackFrame variable, Node value, XDebugVariable parent) throws DebugException {
                super(variable, value);
 
                NumChildren = 0;
                if (!PHPDebugUtils.getAttributeValue(value, "numchildren").equals("")) {
                        NumChildren = Integer.parseInt(PHPDebugUtils.getAttributeValue(value, "numchildren"));
-               }               
+               }
 
                if (NumChildren > 0) {
                        NodeList property = value.getChildNodes();
-                       
+
                        ArrayList a = new ArrayList();
                        for (int i = 0; i < property.getLength(); i++) {
                                Node propertyNode = property.item(i);
-                               /* 
+                               /*
                                 * 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));
+                               String name     = PHPDebugUtils.getAttributeValue (propertyNode, "name");
+
+                               if (!name.equals ("CLASSNAME")) {
+                                       a.add(new XDebugVariable(variable, propertyNode, parent));
                                }
                        }
-                       
+
                        setChildren((IVariable[])a.toArray(new IVariable[a.size()]));
                }
-               
+
                String className = PHPDebugUtils.getAttributeValue(value,"classname");
                if(!"".equals(className)) {
                        setValueString(className);
                }
        }
-}
\ No newline at end of file
+}