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

Side by Side Diff: runtime/bin/dbg_message.cc

Issue 23609032: Add "function" as an argument to Dart_ActivationFrameInfo (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: PTAL Created 7 years, 3 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
« no previous file with comments | « no previous file | runtime/include/dart_debugger_api.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "bin/dbg_connection.h" 5 #include "bin/dbg_connection.h"
6 #include "bin/dbg_message.h" 6 #include "bin/dbg_message.h"
7 #include "bin/dartutils.h" 7 #include "bin/dartutils.h"
8 #include "bin/thread.h" 8 #include "bin/thread.h"
9 #include "bin/utils.h" 9 #include "bin/utils.h"
10 10
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 static void FormatLocationFromTrace(dart::TextBuffer* msg, 408 static void FormatLocationFromTrace(dart::TextBuffer* msg,
409 Dart_StackTrace trace, 409 Dart_StackTrace trace,
410 const char* prefix) { 410 const char* prefix) {
411 intptr_t trace_len = 0; 411 intptr_t trace_len = 0;
412 Dart_Handle res = Dart_StackTraceLength(trace, &trace_len); 412 Dart_Handle res = Dart_StackTraceLength(trace, &trace_len);
413 ASSERT_NOT_ERROR(res); 413 ASSERT_NOT_ERROR(res);
414 Dart_ActivationFrame frame; 414 Dart_ActivationFrame frame;
415 res = Dart_GetActivationFrame(trace, 0, &frame); 415 res = Dart_GetActivationFrame(trace, 0, &frame);
416 ASSERT_NOT_ERROR(res); 416 ASSERT_NOT_ERROR(res);
417 Dart_CodeLocation location; 417 Dart_CodeLocation location;
418 res = Dart_ActivationFrameGetLocation(frame, NULL, &location); 418 res = Dart_ActivationFrameGetLocation(frame, NULL, NULL, &location);
419 ASSERT_NOT_ERROR(res); 419 ASSERT_NOT_ERROR(res);
420 if (!Dart_IsNull(location.script_url)) { 420 if (!Dart_IsNull(location.script_url)) {
421 ASSERT(Dart_IsString(location.script_url)); 421 ASSERT(Dart_IsString(location.script_url));
422 msg->Printf("%s\"location\": { \"url\":", prefix); 422 msg->Printf("%s\"location\": { \"url\":", prefix);
423 FormatEncodedString(msg, location.script_url); 423 FormatEncodedString(msg, location.script_url);
424 msg->Printf(",\"libraryId\":%d,", location.library_id); 424 msg->Printf(",\"libraryId\":%d,", location.library_id);
425 msg->Printf("\"tokenOffset\":%d}", location.token_pos); 425 msg->Printf("\"tokenOffset\":%d}", location.token_pos);
426 } 426 }
427 } 427 }
428 428
429 429
430 static void FormatCallFrames(dart::TextBuffer* msg, Dart_StackTrace trace) { 430 static void FormatCallFrames(dart::TextBuffer* msg, Dart_StackTrace trace) {
431 intptr_t trace_len = 0; 431 intptr_t trace_len = 0;
432 Dart_Handle res = Dart_StackTraceLength(trace, &trace_len); 432 Dart_Handle res = Dart_StackTraceLength(trace, &trace_len);
433 ASSERT_NOT_ERROR(res); 433 ASSERT_NOT_ERROR(res);
434 msg->Printf("\"callFrames\" : [ "); 434 msg->Printf("\"callFrames\" : [ ");
435 for (int i = 0; i < trace_len; i++) { 435 for (int i = 0; i < trace_len; i++) {
436 Dart_ActivationFrame frame; 436 Dart_ActivationFrame frame;
437 res = Dart_GetActivationFrame(trace, i, &frame); 437 res = Dart_GetActivationFrame(trace, i, &frame);
438 ASSERT_NOT_ERROR(res); 438 ASSERT_NOT_ERROR(res);
439 Dart_Handle func_name; 439 Dart_Handle func_name;
440 Dart_CodeLocation location; 440 Dart_CodeLocation location;
441 res = Dart_ActivationFrameGetLocation(frame, &func_name, &location); 441 res = Dart_ActivationFrameGetLocation(frame, &func_name, NULL, &location);
442 ASSERT_NOT_ERROR(res); 442 ASSERT_NOT_ERROR(res);
443 ASSERT(Dart_IsString(func_name)); 443 ASSERT(Dart_IsString(func_name));
444 msg->Printf("%s{\"functionName\":", (i > 0) ? "," : ""); 444 msg->Printf("%s{\"functionName\":", (i > 0) ? "," : "");
445 FormatEncodedString(msg, func_name); 445 FormatEncodedString(msg, func_name);
446 if (!Dart_IsNull(location.script_url)) { 446 if (!Dart_IsNull(location.script_url)) {
447 ASSERT(Dart_IsString(location.script_url)); 447 ASSERT(Dart_IsString(location.script_url));
448 msg->Printf(",\"location\": { \"url\":"); 448 msg->Printf(",\"location\": { \"url\":");
449 FormatEncodedString(msg, location.script_url); 449 FormatEncodedString(msg, location.script_url);
450 msg->Printf(",\"libraryId\":%d,", location.library_id); 450 msg->Printf(",\"libraryId\":%d,", location.library_id);
451 msg->Printf("\"tokenOffset\":%d}", location.token_pos); 451 msg->Printf("\"tokenOffset\":%d}", location.token_pos);
(...skipping 848 matching lines...) Expand 10 before | Expand all | Expand 10 after
1300 } else { 1300 } else {
1301 ASSERT(kind == kShutdown); 1301 ASSERT(kind == kShutdown);
1302 RemoveIsolateMsgQueue(isolate_id); 1302 RemoveIsolateMsgQueue(isolate_id);
1303 } 1303 }
1304 } 1304 }
1305 Dart_ExitScope(); 1305 Dart_ExitScope();
1306 } 1306 }
1307 1307
1308 } // namespace bin 1308 } // namespace bin
1309 } // namespace dart 1309 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/include/dart_debugger_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698