Index: sdk/lib/_internal/compiler/js_lib/developer_patch.dart |
diff --git a/sdk/lib/_internal/compiler/js_lib/developer_patch.dart b/sdk/lib/_internal/compiler/js_lib/developer_patch.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0e38bd55dafd302493790ac368341453f29e4795 |
--- /dev/null |
+++ b/sdk/lib/_internal/compiler/js_lib/developer_patch.dart |
@@ -0,0 +1,25 @@ |
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+// Patch file for dart:developer library. |
+ |
+import 'dart:_js_helper' show patch; |
+import 'dart:_foreign_helper' show JS; |
+ |
+/// If [when] is true, stop the program as if a breakpoint where hit at the |
+/// following statement. Returns the value of [when]. Some debuggers may |
+/// display [msg]. |
+/// NOTE: When invoked, the isolate will not return until a debugger |
+/// continues execution. When running in the Dart VM the behaviour is the same |
+/// regardless of whether or not a debugger is connected. When compiled to |
+/// JavaScript, this uses the "debugger" statement, and behaves exactly as |
+/// that does. |
+@patch |
+@ForceInline() |
+bool debugger({bool when: true, String msg}) { |
+ if (when) { |
+ JS('', 'debugger'); |
+ } |
+ return when; |
+} |