blob: c283930c674ad7dccc8c8693fe973d64834da94d [file] [log] [blame]
// Copyright (c) 2014, 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.
// part of "developer.dart";
@patch
class UserTag {
@patch
factory UserTag(String label) {
return new _UserTag(label);
}
@patch
static UserTag get defaultTag => _getDefaultTag();
}
@pragma("vm:entry-point")
class _UserTag implements UserTag {
@pragma("vm:external-name", "UserTag_new")
external factory _UserTag(String label);
@pragma("vm:external-name", "UserTag_label")
external String get label;
@pragma("vm:external-name", "UserTag_makeCurrent")
external UserTag makeCurrent();
}
@patch
UserTag getCurrentTag() => _getCurrentTag();
@pragma("vm:recognized", "asm-intrinsic")
@pragma("vm:external-name", "Profiler_getCurrentTag")
external UserTag _getCurrentTag();
@pragma("vm:recognized", "asm-intrinsic")
@pragma("vm:external-name", "UserTag_defaultTag")
external UserTag _getDefaultTag();