OLD | NEW |
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 "vm/debugger.h" | 5 #include "vm/debugger.h" |
6 | 6 |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 | 8 |
9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
10 #include "vm/code_patcher.h" | 10 #include "vm/code_patcher.h" |
(...skipping 2327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2338 // in mixin classes whose source code is contained in a different | 2338 // in mixin classes whose source code is contained in a different |
2339 // script. | 2339 // script. |
2340 const Script& outer_origin = Script::Handle(isolate_, function.script()); | 2340 const Script& outer_origin = Script::Handle(isolate_, function.script()); |
2341 const GrowableObjectArray& closures = | 2341 const GrowableObjectArray& closures = |
2342 GrowableObjectArray::Handle(isolate_, owner.closures()); | 2342 GrowableObjectArray::Handle(isolate_, owner.closures()); |
2343 const intptr_t num_closures = closures.Length(); | 2343 const intptr_t num_closures = closures.Length(); |
2344 Function& closure = Function::Handle(isolate_); | 2344 Function& closure = Function::Handle(isolate_); |
2345 Function& best_fit = Function::Handle(isolate_); | 2345 Function& best_fit = Function::Handle(isolate_); |
2346 for (intptr_t i = 0; i < num_closures; i++) { | 2346 for (intptr_t i = 0; i < num_closures; i++) { |
2347 closure ^= closures.At(i); | 2347 closure ^= closures.At(i); |
2348 if (closure.is_debuggable() && | 2348 if ((function.token_pos() < closure.token_pos()) && |
2349 (function.token_pos() < closure.token_pos()) && | |
2350 (closure.end_token_pos() < function.end_token_pos()) && | 2349 (closure.end_token_pos() < function.end_token_pos()) && |
2351 (closure.token_pos() <= token_pos) && | 2350 (closure.token_pos() <= token_pos) && |
2352 (token_pos <= closure.end_token_pos()) && | 2351 (token_pos <= closure.end_token_pos()) && |
2353 (closure.script() == outer_origin.raw())) { | 2352 (closure.script() == outer_origin.raw())) { |
2354 SelectBestFit(&best_fit, &closure); | 2353 SelectBestFit(&best_fit, &closure); |
2355 } | 2354 } |
2356 } | 2355 } |
2357 return best_fit.raw(); | 2356 return best_fit.raw(); |
2358 } | 2357 } |
2359 | 2358 |
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2695 } | 2694 } |
2696 | 2695 |
2697 | 2696 |
2698 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { | 2697 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { |
2699 ASSERT(bpt->next() == NULL); | 2698 ASSERT(bpt->next() == NULL); |
2700 bpt->set_next(code_breakpoints_); | 2699 bpt->set_next(code_breakpoints_); |
2701 code_breakpoints_ = bpt; | 2700 code_breakpoints_ = bpt; |
2702 } | 2701 } |
2703 | 2702 |
2704 } // namespace dart | 2703 } // namespace dart |
OLD | NEW |