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

Unified Diff: sdk/lib/_internal/js_runtime/lib/developer_patch.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/_internal/js_runtime/lib/developer_patch.dart
diff --git a/sdk/lib/_internal/js_runtime/lib/developer_patch.dart b/sdk/lib/_internal/js_runtime/lib/developer_patch.dart
index 541658b12897eabaea9dd4738af05f9d3195ed4e..4cefe98820cdd4dc8bd15be1b1d44265ec526b43 100644
--- a/sdk/lib/_internal/js_runtime/lib/developer_patch.dart
+++ b/sdk/lib/_internal/js_runtime/lib/developer_patch.dart
@@ -46,7 +46,7 @@ _registerExtension(String method, ServiceExtensionHandler handler) {
}
@patch
-_postEvent(String eventKind, String eventData) {
+void _postEvent(String eventKind, String eventData) {
Kevin Millikin (Google) 2017/01/04 15:31:04 Patch files cannot change the return type. In thi
// TODO.
}
@@ -129,4 +129,51 @@ void _webServerControl(SendPort sendPort, bool enable) {
@patch
String _getIsolateIDFromSendPort(SendPort sendPort) {
return null;
-}
+}
+
+@patch
+class UserTag {
+ @patch
+ factory UserTag(String label) = _FakeUserTag;
+
+ @patch
+ static UserTag get defaultTag => _FakeUserTag._defaultTag;
+}
+
+class _FakeUserTag implements UserTag {
Kevin Millikin (Google) 2017/01/04 15:31:04 This implementation machinery was in the SDK and i
+ 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;
+
+@patch
+UserTag getCurrentTag() => _currentTag;

Powered by Google App Engine
This is Rietveld 408576698