Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: dart/editor/tools/plugins/com.google.dart.tools.debug.core/src/com/google/dart/tools/debug/core/dartium/DartiumDebugValue.java

Issue 328663002: Version 1.5.0-dev.4.5 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012, the Dart project authors. 2 * Copyright (c) 2012, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 if (value.isList()) { 50 if (value.isList()) {
51 return new DartiumDebugIndexedValue(target, variable, value); 51 return new DartiumDebugIndexedValue(target, variable, value);
52 } else { 52 } else {
53 return new DartiumDebugValue(target, variable, value); 53 return new DartiumDebugValue(target, variable, value);
54 } 54 }
55 } 55 }
56 56
57 private DartiumDebugVariable variable; 57 private DartiumDebugVariable variable;
58 protected WebkitRemoteObject value; 58 protected WebkitRemoteObject value;
59 59
60 private VariableCollector variableCollector; 60 protected VariableCollector variableCollector;
61 61
62 protected DartiumDebugValue(DartiumDebugTarget target, DartiumDebugVariable va riable, 62 protected DartiumDebugValue(DartiumDebugTarget target, DartiumDebugVariable va riable,
63 WebkitRemoteObject value) { 63 WebkitRemoteObject value) {
64 super(target); 64 super(target);
65 65
66 this.variable = variable; 66 this.variable = variable;
67 this.value = value; 67 this.value = value;
68 } 68 }
69 69
70 public void computeDetail(final ValueCallback callback) { 70 public void computeDetail(final ValueCallback callback) {
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 if (value.isString()) { 190 if (value.isString()) {
191 return DebuggerUtils.printString(value.getValue()); 191 return DebuggerUtils.printString(value.getValue());
192 } 192 }
193 193
194 if (isPrimitive()) { 194 if (isPrimitive()) {
195 return value.getValue(); 195 return value.getValue();
196 } 196 }
197 197
198 if (isListValue()) { 198 if (isListValue()) {
199 if (value.getClassName() != null) { 199 if (value.getClassName() != null) {
200 return value.getClassName() + "[" + value.getListLength() + "]"; 200 return value.getClassName() + "[" + value.getListLength(getConnection()) + "]";
201 } else { 201 } else {
202 return "List[" + value.getListLength() + "]"; 202 return "List[" + value.getListLength(getConnection()) + "]";
203 } 203 }
204 } 204 }
205 205
206 return value.getDescription(); 206 return value.getDescription();
207 } 207 }
208 208
209 @Override 209 @Override
210 public String getId() { 210 public String getId() {
211 if (value == null || value.isNull()) { 211 if (value == null || value.isNull()) {
212 return null; 212 return null;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 260
261 return variableCollector.getVariables(); 261 return variableCollector.getVariables();
262 } catch (Throwable t) { 262 } catch (Throwable t) {
263 throw createDebugException(t); 263 throw createDebugException(t);
264 } 264 }
265 } 265 }
266 266
267 @Override 267 @Override
268 public boolean hasVariables() throws DebugException { 268 public boolean hasVariables() throws DebugException {
269 try { 269 try {
270 if (isListValue()) { 270 return value.hasObjectId() && !value.isNull() && !value.isPrimitive();
271 return value.getListLength() > 0;
272 } else {
273 return value.hasObjectId();
274 }
275 } catch (Throwable t) { 271 } catch (Throwable t) {
276 throw createDebugException(t); 272 throw createDebugException(t);
277 } 273 }
278 } 274 }
279 275
280 @Override 276 @Override
281 public boolean isAllocated() throws DebugException { 277 public boolean isAllocated() throws DebugException {
282 return true; 278 return true;
283 } 279 }
284 280
(...skipping 12 matching lines...) Expand all
297 return value.isPrimitive(); 293 return value.isPrimitive();
298 } 294 }
299 295
300 @Override 296 @Override
301 public void reset() { 297 public void reset() {
302 variableCollector = null; 298 variableCollector = null;
303 299
304 fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT)); 300 fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT));
305 } 301 }
306 302
303 protected void populate() {
304 if (value.hasObjectId()) {
305 variableCollector = VariableCollector.createCollector(
306 getTarget(),
307 variable,
308 Collections.singletonList(value));
309 } else {
310 variableCollector = VariableCollector.empty();
311 }
312 }
313
307 private void evalOnGlobalContext(final String expression, 314 private void evalOnGlobalContext(final String expression,
308 final WebkitResult<WebkitRemoteObject> originalResult, final IWatchExpress ionListener listener) { 315 final WebkitResult<WebkitRemoteObject> originalResult, final IWatchExpress ionListener listener) {
309 try { 316 try {
310 getConnection().getRuntime().evaluate( 317 getConnection().getRuntime().evaluate(
311 expression, 318 expression,
312 null, 319 null,
313 false, 320 false,
314 new WebkitCallback<WebkitRemoteObject>() { 321 new WebkitCallback<WebkitRemoteObject>() {
315 @Override 322 @Override
316 public void handleResult(WebkitResult<WebkitRemoteObject> result) { 323 public void handleResult(WebkitResult<WebkitRemoteObject> result) {
(...skipping 29 matching lines...) Expand all
346 } 353 }
347 354
348 try { 355 try {
349 JSONObject obj = new JSONObject(objectId); 356 JSONObject obj = new JSONObject(objectId);
350 return obj.getString("id"); 357 return obj.getString("id");
351 } catch (Throwable t) { 358 } catch (Throwable t) {
352 return null; 359 return null;
353 } 360 }
354 } 361 }
355 362
356 private void populate() {
357 if (value.hasObjectId()) {
358 variableCollector = VariableCollector.createCollector(
359 getTarget(),
360 variable,
361 Collections.singletonList(value));
362 } else {
363 variableCollector = VariableCollector.empty();
364 }
365 }
366
367 } 363 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698