OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 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. |
| 4 |
| 5 // Patch file for dart:debugger library. |
| 6 |
| 7 import 'dart:_js_helper' show patch; |
| 8 import 'dart:_foreign_helper' show JS; |
| 9 |
| 10 @patch class Debugger { |
| 11 /// Stop the program as if a breakpoint where hit at the following statement. |
| 12 /// NOTE: When invoked, the isolate will not return until a debugger |
| 13 /// continues execution. When running in the Dart VM the behaviour is the same |
| 14 /// regardless of whether or not a debugger is connected. When compiled to |
| 15 /// JavaScript, this uses the "debugger" statement, and behaves exactly as |
| 16 /// that does. |
| 17 @patch |
| 18 @ForceInline() |
| 19 static void breakHere() { |
| 20 JS('', 'debugger'); |
| 21 } |
| 22 |
| 23 /// If [expr] is true, stop the program as if a breakpoint where hit at the |
| 24 /// following statement. See [breakHere]. |
| 25 @patch |
| 26 @ForceInline() |
| 27 static void breakHereIf(bool expr) { |
| 28 if (expr) { |
| 29 breakHere(); |
| 30 } |
| 31 } |
| 32 } |
OLD | NEW |