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

Unified Diff: lib/runtime/dart/async.js

Issue 1347153005: additional SDK fixes. This gets all of them, once we upgrade to new analyzer (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « lib/runtime/dart/_native_typed_data.js ('k') | lib/runtime/dart/collection.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/runtime/dart/async.js
diff --git a/lib/runtime/dart/async.js b/lib/runtime/dart/async.js
index a351b5f60e7f5c7cfd78646e21eb3a81ab1b928c..1e43afd296481a7dfa97f773547cb32e4fac2f5c 100644
--- a/lib/runtime/dart/async.js
+++ b/lib/runtime/dart/async.js
@@ -164,8 +164,8 @@ dart_library.library('dart/async', null, /* Imports */[
let onListen = (function() {
let add = dart.bind(controller, 'add');
dart.assert(dart.is(controller, _StreamController) || dart.is(controller, _BroadcastStreamController));
- let eventSink = controller;
- let addError = eventSink[_addError];
+ let eventSink = dart.as(controller, _EventSink$(T));
+ let addError = dart.bind(eventSink, _addError);
subscription = this.listen(dart.fn(event => {
dart.as(event, T);
let newValue = null;
@@ -183,7 +183,7 @@ dart_library.library('dart/async', null, /* Imports */[
} else {
controller.add(newValue);
}
- }, dart.dynamic, [T]), {onError: dart.as(addError, core.Function), onDone: dart.bind(controller, 'close')});
+ }, dart.dynamic, [T]), {onError: addError, onDone: dart.bind(controller, 'close')});
}).bind(this);
dart.fn(onListen, dart.void, []);
if (dart.notNull(this.isBroadcast)) {
@@ -207,7 +207,7 @@ dart_library.library('dart/async', null, /* Imports */[
let subscription = null;
let onListen = (function() {
dart.assert(dart.is(controller, _StreamController) || dart.is(controller, _BroadcastStreamController));
- let eventSink = controller;
+ let eventSink = dart.as(controller, _EventSink$(T));
subscription = this.listen(dart.fn(event => {
dart.as(event, T);
let newStream = null;
@@ -223,7 +223,7 @@ dart_library.library('dart/async', null, /* Imports */[
subscription.pause();
controller.addStream(newStream).whenComplete(dart.bind(subscription, 'resume'));
}
- }, dart.dynamic, [T]), {onError: dart.as(eventSink[_addError], core.Function), onDone: dart.bind(controller, 'close')});
+ }, dart.dynamic, [T]), {onError: dart.bind(eventSink, _addError), onDone: dart.bind(controller, 'close')});
}).bind(this);
dart.fn(onListen, dart.void, []);
if (dart.notNull(this.isBroadcast)) {
@@ -674,8 +674,8 @@ dart_library.library('dart/async', null, /* Imports */[
function onError(error, stackTrace) {
timer.cancel();
dart.assert(dart.is(controller, _StreamController) || dart.is(controller, _BroadcastStreamController));
- let eventSink = controller;
- dart.dcall(eventSink[_addError], error, stackTrace);
+ let eventSink = dart.as(controller, _EventSink$(T));
+ eventSink[_addError](error, stackTrace);
timer = zone.createTimer(timeLimit, dart.as(timeout, dart.functionType(dart.void, [])));
}
dart.fn(onError, dart.void, [dart.dynamic, core.StackTrace]);
@@ -1393,16 +1393,17 @@ dart_library.library('dart/async', null, /* Imports */[
}
return dart.as(subscription, StreamSubscription$(T));
}
- [_recordCancel](subscription) {
- dart.as(subscription, StreamSubscription$(T));
+ [_recordCancel](sub) {
+ dart.as(sub, StreamSubscription$(T));
+ let subscription = dart.as(sub, _BroadcastSubscription$(T));
if (dart.notNull(core.identical(subscription[_next], subscription)))
return null;
dart.assert(!dart.notNull(core.identical(subscription[_next], subscription)));
- if (dart.notNull(dart.as(subscription[_isFiring], core.bool))) {
- dart.dcall(subscription[_setRemoveAfterFiring]);
+ if (dart.notNull(subscription[_isFiring])) {
+ subscription[_setRemoveAfterFiring]();
} else {
dart.assert(!dart.notNull(core.identical(subscription[_next], subscription)));
- this[_removeListener](dart.as(subscription, _BroadcastSubscription$(T)));
+ this[_removeListener](subscription);
if (!dart.notNull(this[_isFiring]) && dart.notNull(this[_isEmpty])) {
this[_callOnCancel]();
}
« no previous file with comments | « lib/runtime/dart/_native_typed_data.js ('k') | lib/runtime/dart/collection.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698