fix bug 678.
[phpeclipse.git] / net.sourceforge.phpeclipse.xdebug.core / src / net / sourceforge / phpeclipse / xdebug / php / model / XDebugWatchExpressionDelegate.java
index 64dbc32..a14bc08 100644 (file)
@@ -1,11 +1,11 @@
 package net.sourceforge.phpeclipse.xdebug.php.model;
 
 
-import net.sourceforge.phpeclipse.xdebug.core.Base64;
 import net.sourceforge.phpeclipse.xdebug.core.xdebug.XDebugConnection;
-import net.sourceforge.phpeclipse.xdebug.core.xdebug.ResponseListener.DebugResponse;
+import net.sourceforge.phpeclipse.xdebug.core.xdebug.ResponseListener.XDebugResponse;
 import net.sourceforge.phpeclipse.xdebug.php.model.XDebugVariable;
 import net.sourceforge.phpeclipse.xdebug.php.model.XDebugTarget;
+
 import org.eclipse.debug.core.model.IDebugElement;
 import org.eclipse.debug.core.model.IWatchExpressionDelegate;
 import org.eclipse.debug.core.model.IWatchExpressionListener;
@@ -26,12 +26,15 @@ public class XDebugWatchExpressionDelegate implements IWatchExpressionDelegate {
                if( connection != null ) {
                        try {
                                if( ! connection.isClosed() ) {
-                                       String encoded = Base64.encodeBytes(expression.getBytes());
-                                       DebugResponse evalCommand = connection.sendRequestA( "eval", "-- "+encoded );
+                                       /*XDebugResponse*/ int evalCommand = connection.eval(expression);
+                                       
+                                       XDebugResponse response = s.getResponse(evalCommand);
+
                                        
-                                       Node evalNode = evalCommand.getParentNode();
-                                       XDebugVariable var= connection.getVariableFromNodeA( null, evalNode.getFirstChild());
-                                       XDebugVariable result[] = {var};
+                                       Node evalResponse = response.getParentNode();
+                                       Node evalProperty = evalResponse.getFirstChild();
+                                       XDebugVariable variable = new XDebugVariable(null, evalProperty);
+                                       XDebugVariable result[] = {variable};
                                        
                                        if (result.length == 0) {
                                                x = new XDebugWatchExpressionResult(expression, null, null);