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

Side by Side Diff: runtime/vm/service.cc

Issue 1699153002: Add step OverAwait to service protocol (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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
« no previous file with comments | « runtime/vm/debugger.cc ('k') | runtime/vm/service/service.md » ('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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 "vm/service.h" 5 #include "vm/service.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "include/dart_native_api.h" 8 #include "include/dart_native_api.h"
9 #include "platform/globals.h" 9 #include "platform/globals.h"
10 10
(...skipping 2611 matching lines...) Expand 10 before | Expand all | Expand 10 after
2622 return true; 2622 return true;
2623 } 2623 }
2624 const char* object_id = js->LookupParam("objectId"); 2624 const char* object_id = js->LookupParam("objectId");
2625 Object& obj = Object::Handle(LookupHeapObject(thread, object_id, NULL)); 2625 Object& obj = Object::Handle(LookupHeapObject(thread, object_id, NULL));
2626 if (obj.raw() == Object::sentinel().raw() || !obj.IsInstance()) { 2626 if (obj.raw() == Object::sentinel().raw() || !obj.IsInstance()) {
2627 PrintInvalidParamError(js, "objectId"); 2627 PrintInvalidParamError(js, "objectId");
2628 return true; 2628 return true;
2629 } 2629 }
2630 const Instance& closure = Instance::Cast(obj); 2630 const Instance& closure = Instance::Cast(obj);
2631 Breakpoint* bpt = 2631 Breakpoint* bpt =
2632 thread->isolate()->debugger()->SetBreakpointAtActivation(closure); 2632 thread->isolate()->debugger()->SetBreakpointAtActivation(closure, false);
2633 if (bpt == NULL) { 2633 if (bpt == NULL) {
2634 js->PrintError(kCannotAddBreakpoint, 2634 js->PrintError(kCannotAddBreakpoint,
2635 "%s: Cannot add breakpoint at activation", 2635 "%s: Cannot add breakpoint at activation",
2636 js->method()); 2636 js->method());
2637 return true; 2637 return true;
2638 } 2638 }
2639 bpt->PrintJSON(js); 2639 bpt->PrintJSON(js);
2640 return true; 2640 return true;
2641 } 2641 }
2642 2642
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
3013 return true; 3013 return true;
3014 } 3014 }
3015 if (isolate->debugger()->PauseEvent() != NULL) { 3015 if (isolate->debugger()->PauseEvent() != NULL) {
3016 if (step_param != NULL) { 3016 if (step_param != NULL) {
3017 if (strcmp(step_param, "Into") == 0) { 3017 if (strcmp(step_param, "Into") == 0) {
3018 isolate->debugger()->SetSingleStep(); 3018 isolate->debugger()->SetSingleStep();
3019 } else if (strcmp(step_param, "Over") == 0) { 3019 } else if (strcmp(step_param, "Over") == 0) {
3020 isolate->debugger()->SetStepOver(); 3020 isolate->debugger()->SetStepOver();
3021 } else if (strcmp(step_param, "Out") == 0) { 3021 } else if (strcmp(step_param, "Out") == 0) {
3022 isolate->debugger()->SetStepOut(); 3022 isolate->debugger()->SetStepOut();
3023 } else if (strcmp(step_param, "OverAsyncSuspension") == 0) {
3024 if (!isolate->debugger()->SetupStepOverAsyncSuspension()) {
3025 js->PrintError(kInvalidParams,
3026 "Isolate must be paused at an async suspension point");
3027 return true;
3028 }
3023 } else { 3029 } else {
3024 PrintInvalidParamError(js, "step"); 3030 PrintInvalidParamError(js, "step");
3025 return true; 3031 return true;
3026 } 3032 }
3027 } 3033 }
3028 isolate->SetResumeRequest(); 3034 isolate->SetResumeRequest();
3029 PrintSuccess(js); 3035 PrintSuccess(js);
3030 return true; 3036 return true;
3031 } 3037 }
3032 3038
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after
3598 static const MethodParameter* get_version_params[] = { 3604 static const MethodParameter* get_version_params[] = {
3599 NO_ISOLATE_PARAMETER, 3605 NO_ISOLATE_PARAMETER,
3600 NULL, 3606 NULL,
3601 }; 3607 };
3602 3608
3603 3609
3604 static bool GetVersion(Thread* thread, JSONStream* js) { 3610 static bool GetVersion(Thread* thread, JSONStream* js) {
3605 JSONObject jsobj(js); 3611 JSONObject jsobj(js);
3606 jsobj.AddProperty("type", "Version"); 3612 jsobj.AddProperty("type", "Version");
3607 jsobj.AddProperty("major", static_cast<intptr_t>(3)); 3613 jsobj.AddProperty("major", static_cast<intptr_t>(3));
3608 jsobj.AddProperty("minor", static_cast<intptr_t>(2)); 3614 jsobj.AddProperty("minor", static_cast<intptr_t>(3));
3609 jsobj.AddProperty("_privateMajor", static_cast<intptr_t>(0)); 3615 jsobj.AddProperty("_privateMajor", static_cast<intptr_t>(0));
3610 jsobj.AddProperty("_privateMinor", static_cast<intptr_t>(0)); 3616 jsobj.AddProperty("_privateMinor", static_cast<intptr_t>(0));
3611 return true; 3617 return true;
3612 } 3618 }
3613 3619
3614 3620
3615 class ServiceIsolateVisitor : public IsolateVisitor { 3621 class ServiceIsolateVisitor : public IsolateVisitor {
3616 public: 3622 public:
3617 explicit ServiceIsolateVisitor(JSONArray* jsarr) 3623 explicit ServiceIsolateVisitor(JSONArray* jsarr)
3618 : jsarr_(jsarr) { 3624 : jsarr_(jsarr) {
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
3986 if (strcmp(method_name, method.name) == 0) { 3992 if (strcmp(method_name, method.name) == 0) {
3987 return &method; 3993 return &method;
3988 } 3994 }
3989 } 3995 }
3990 return NULL; 3996 return NULL;
3991 } 3997 }
3992 3998
3993 #endif // !PRODUCT 3999 #endif // !PRODUCT
3994 4000
3995 } // namespace dart 4001 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/debugger.cc ('k') | runtime/vm/service/service.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698