blob: a6087a1a1791ca544169b2944203ca03f288c8bc [file] [log] [blame]
// 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;
}
/// Send a reference to [object] to any attached debuggers so they may open an
/// inspector on the object. Returns the argument.
@patch
inspect(object) {
return object;
}