From: Robert K. <rob...@us...> - 2006-08-24 18:31:19
|
Update of /cvsroot/phpeclipse/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/watch In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10729/src/net/sourceforge/phpdt/internal/debug/core/watch Modified Files: PHPWatchExpressionDelegate.java Log Message: 1) Made getVariables and evalBlock methods in PHPDBGInterface synchronized (At least for evalBlock this is absolutely necessary for eclipse 3.2 compatibility). 2) getVariables method returns an empty vector if socket is closed (avoiding exception). 3) updateStackFrameList improved to avoid rebuild of variables view when stepping through the current php file. 4) getAdapter in PHPDebugTarget calls super.getAdapter (for eclipse 3.2 compatibility) 5) hasVariables in PHPStackFrame return always true (for eclipse 3.2 compatibility) 6) Removed second sending of RESUME event in stepInto and stepOver (in PHPStackFrame). 7) getStackFrames (in PHPThread) returns the stackframes only if in suspended state (for eclipse 3.2 compatibility). 8) PHPWatchExpressionDelegateCode beautifying. Index: PHPWatchExpressionDelegate.java =================================================================== RCS file: /cvsroot/phpeclipse/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/watch/PHPWatchExpressionDelegate.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PHPWatchExpressionDelegate.java 27 Jun 2005 17:32:23 -0000 1.1 --- PHPWatchExpressionDelegate.java 24 Aug 2006 18:31:14 -0000 1.2 *************** *** 11,38 **** import org.eclipse.debug.core.model.IWatchExpressionResult; public class PHPWatchExpressionDelegate implements IWatchExpressionDelegate { ! public void evaluateExpression(String expression, IDebugElement context, ! IWatchExpressionListener listener) { ! IWatchExpressionResult x; ! PHPDBGProxy dbg=((PHPDebugTarget)context.getDebugTarget()).getPHPDBGProxy(); ! PHPStackFrame s=null; ! if(context instanceof PHPStackFrame) ! s=(PHPStackFrame)context; ! try{ ! PHPVariable result[]=dbg.eval(s,expression); ! if(result.length==0) ! x=new PHPWatchExpressionResult(expression,null,null); ! else ! x=new PHPWatchExpressionResult(expression,result[0].getValue(),null); ! } ! catch(Exception e) ! { ! String[] s1=new String[1]; ! s1[0]=e.toString(); ! x=new PHPWatchExpressionResult(expression,null,s1); ! } ! listener.watchEvaluationFinished(x); ! } ! } \ No newline at end of file --- 11,50 ---- import org.eclipse.debug.core.model.IWatchExpressionResult; + /** + * + */ public class PHPWatchExpressionDelegate implements IWatchExpressionDelegate { ! public void evaluateExpression (String expression, IDebugElement context, IWatchExpressionListener listener) { ! IWatchExpressionResult x; ! PHPDBGProxy dbg; ! PHPStackFrame s; ! dbg = ((PHPDebugTarget) context.getDebugTarget ()).getPHPDBGProxy (); ! s = null; ! ! if (context instanceof PHPStackFrame) { ! s = (PHPStackFrame) context; ! } ! ! try { ! PHPVariable result[] = dbg.eval (s, expression); ! ! if (result.length == 0) { ! x = new PHPWatchExpressionResult (expression, null, null); ! } ! else { ! x = new PHPWatchExpressionResult (expression, result[0].getValue (), null); ! } ! } ! catch (Exception e) { ! String[] s1; ! ! s1 = new String[1]; ! s1[0] = e.toString (); ! x = new PHPWatchExpressionResult (expression, null, s1); ! } ! ! listener.watchEvaluationFinished (x); ! } ! } |