Index: dart/editor/tools/plugins/com.google.dart.tools.debug.core/src/com/google/dart/tools/debug/core/dartium/DartiumDebugValue.java |
=================================================================== |
--- dart/editor/tools/plugins/com.google.dart.tools.debug.core/src/com/google/dart/tools/debug/core/dartium/DartiumDebugValue.java (revision 37109) |
+++ dart/editor/tools/plugins/com.google.dart.tools.debug.core/src/com/google/dart/tools/debug/core/dartium/DartiumDebugValue.java (working copy) |
@@ -57,7 +57,7 @@ |
private DartiumDebugVariable variable; |
protected WebkitRemoteObject value; |
- private VariableCollector variableCollector; |
+ protected VariableCollector variableCollector; |
protected DartiumDebugValue(DartiumDebugTarget target, DartiumDebugVariable variable, |
WebkitRemoteObject value) { |
@@ -197,9 +197,9 @@ |
if (isListValue()) { |
if (value.getClassName() != null) { |
- return value.getClassName() + "[" + value.getListLength() + "]"; |
+ return value.getClassName() + "[" + value.getListLength(getConnection()) + "]"; |
} else { |
- return "List[" + value.getListLength() + "]"; |
+ return "List[" + value.getListLength(getConnection()) + "]"; |
} |
} |
@@ -267,11 +267,7 @@ |
@Override |
public boolean hasVariables() throws DebugException { |
try { |
- if (isListValue()) { |
- return value.getListLength() > 0; |
- } else { |
- return value.hasObjectId(); |
- } |
+ return value.hasObjectId() && !value.isNull() && !value.isPrimitive(); |
} catch (Throwable t) { |
throw createDebugException(t); |
} |
@@ -304,6 +300,17 @@ |
fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT)); |
} |
+ protected void populate() { |
+ if (value.hasObjectId()) { |
+ variableCollector = VariableCollector.createCollector( |
+ getTarget(), |
+ variable, |
+ Collections.singletonList(value)); |
+ } else { |
+ variableCollector = VariableCollector.empty(); |
+ } |
+ } |
+ |
private void evalOnGlobalContext(final String expression, |
final WebkitResult<WebkitRemoteObject> originalResult, final IWatchExpressionListener listener) { |
try { |
@@ -353,15 +360,4 @@ |
} |
} |
- private void populate() { |
- if (value.hasObjectId()) { |
- variableCollector = VariableCollector.createCollector( |
- getTarget(), |
- variable, |
- Collections.singletonList(value)); |
- } else { |
- variableCollector = VariableCollector.empty(); |
- } |
- } |
- |
} |