X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPDBGEvalString.java b/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPDBGEvalString.java index 7c71364..8916bce 100644 --- a/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPDBGEvalString.java +++ b/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPDBGEvalString.java @@ -328,7 +328,7 @@ public class PHPDBGEvalString { list.add (item); if (var_list != null) { - list.add (item); + var_list.add (item); } return true; @@ -381,7 +381,7 @@ public class PHPDBGEvalString { list.add (item); if (var_list != null) { - list.add (item); + var_list.add (item); } return true; @@ -489,6 +489,7 @@ public class PHPDBGEvalString { case 'z': ParseEvalResource (name, parent, list, var_list, startIdx); break; case 'R': ParseEvalRef (name, parent, list, var_list, false, startIdx); break; case 'r': ParseEvalRef (name, parent, list, var_list, true, startIdx); break; + case '?': ParseEvalUnknown(name, parent, list, var_list, startIdx); break; } } catch (DebugException e) { // TODO Auto-generated catch block @@ -514,4 +515,26 @@ public class PHPDBGEvalString { */ return ret_val; // Always false } + + /* + * + */ + private void ParseEvalUnknown(String name, PHPVariable parent, Vector list, + Vector var_list, int startIdx) throws DebugException { + + if ((startIdx >= workStr.length()) || (workStr.charAt(startIdx) != ';')) { + Status status = new Status(Status.ERROR, PHPDebugCorePlugin + .getUniqueIdentifier(), Status.OK, "unexpected response", + null); + throw new DebugException(status); + } + + workStr = workStr.substring(1); + PHPVariable item = new PHPVariable(fStackFrame, name, parent, "?", + PHPValue.PEVT_UNKNOWN, null); + list.add(item); + if (var_list != null) { + var_list.add(item); + } + } }