Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(420)

Unified Diff: sdk/lib/developer/profiler.dart

Issue 2612043002: Fixes to patch files necessary to use the analyzer (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/developer/profiler.dart
diff --git a/sdk/lib/developer/profiler.dart b/sdk/lib/developer/profiler.dart
index 566d0158318b3110393e148adea893da1785b170..127a48ef1d1c32eeb2f135ec6e9656d1e677b2b4 100644
--- a/sdk/lib/developer/profiler.dart
+++ b/sdk/lib/developer/profiler.dart
@@ -9,7 +9,7 @@ abstract class UserTag {
/// The maximum number of UserTag instances that can be created by a program.
static const MAX_USER_TAGS = 64;
- factory UserTag(String label) => new _FakeUserTag(label);
+ external factory UserTag(String label);
/// Label of [this].
String get label;
@@ -19,50 +19,11 @@ abstract class UserTag {
UserTag makeCurrent();
/// The default [UserTag] with label 'Default'.
- static UserTag get defaultTag => _FakeUserTag._defaultTag;
+ external static UserTag get defaultTag;
}
-// This is a fake implementation of UserTag so that code can compile and run
-// in dart2js.
-class _FakeUserTag implements UserTag {
- static Map _instances = {};
-
- _FakeUserTag.real(this.label);
-
- factory _FakeUserTag(String label) {
- // Canonicalize by name.
- var existingTag = _instances[label];
- if (existingTag != null) {
- return existingTag;
- }
- // Throw an exception if we've reached the maximum number of user tags.
- if (_instances.length == UserTag.MAX_USER_TAGS) {
- throw new UnsupportedError(
- 'UserTag instance limit (${UserTag.MAX_USER_TAGS}) reached.');
- }
- // Create a new instance and add it to the instance map.
- var instance = new _FakeUserTag.real(label);
- _instances[label] = instance;
- return instance;
- }
-
- final String label;
-
- UserTag makeCurrent() {
- var old = _currentTag;
- _currentTag = this;
- return old;
- }
-
- static final UserTag _defaultTag = new _FakeUserTag('Default');
-}
-
-var _currentTag = _FakeUserTag._defaultTag;
-
/// Returns the current [UserTag] for the isolate.
-UserTag getCurrentTag() {
- return _currentTag;
-}
+external UserTag getCurrentTag();
/// Abstract [Metric] class. Metric names must be unique, are hierarchical,
/// and use periods as separators. For example, 'a.b.c'. Uniqueness is only
« sdk/lib/_internal/js_runtime/lib/developer_patch.dart ('K') | « sdk/lib/developer/extension.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698