import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugException;
-import java.io.RandomAccessFile;
-
/**
* The interface object are created by the proxy
*
evalStr = new PHPDBGEvalString (stack, serGlobals); // Process serialized variables
DBGVarList = evalStr.getVariables ();
- //resetHasChangedInfo (DBGVarList); // Reset the hasChanged info for all PHPVariables
- //updateVariableList (DBGVarList, evalStr.getVariables ()); // Replicate the 'static' variable list and the via DBG received variable list
+ if (DBGVarList.size () > 0) { // Did we get back variables?
+ PHPVariable var = (PHPVariable) DBGVarList.get (0); // Yes, then get the first PHPVariable
+ PHPValue val = (PHPValue) var.getValue (); // Get the value
+
+ if (var.getName ().equals ("")) { // Is the root node an empty node (usually it is)
+ DBGVarList = val.getChildVariables (); // Then remove the empty node.
+ // With removing the empty root node, it wouldn't be necessary to
+ // set the name to an empty string. So the code below is just for
+ // info or in case the users want to have the empty root node.
+
+ // The eclipse variable view cannot handle Variables which have an empty name
+ // when it comes to variable tree restore operation. Without a name, no restore!
+ var.setName (" "); // Give a name to the variable root node. Even if it is only a space :-)
+ } // TODO the best would be to remove the empty root node, but this would
+ // require a understanding and reworking of the PHPDBGEvalstring class.
+ }
return DBGVarList; // Return the variables as list
}
// Add command data
DBGPacket.addFrame(DBGFrame1);
- if(proxy.getSocket().isClosed()) return;
+ if (proxy.getSocket ().isClosed ()) { // Do we have a socket for DBG communication?
+ return; // No, then leave here
+ }
+
DBGPacket.sendPacket(os);
waitResponse(1000);
// Add command data
DBGPacket.addFrame(DBGFrame1);
- if(proxy.getSocket().isClosed()) return null;
+ if (proxy.getSocket ().isClosed ()) { // Do we have a socket for DBG communication?
+ return null; // No, then leave here
+ }
DBGPacket.sendPacket(os);
waitResponse(1000);