| Index: lib/runtime/dart/async.js
|
| diff --git a/lib/runtime/dart/async.js b/lib/runtime/dart/async.js
|
| index f95b058d0c2fafd8f97ee412c12e4203639c7e39..7a35bf0c6ca1626c1e4cdf60d0ec8d986be48d54 100644
|
| --- a/lib/runtime/dart/async.js
|
| +++ b/lib/runtime/dart/async.js
|
| @@ -75,9 +75,10 @@ dart_library.library('dart/async', null, /* Imports */[
|
| static fromFuture(future) {
|
| let controller = dart.as(StreamController$(T).new({sync: true}), _StreamController$(T));
|
| future.then(dart.fn(value => {
|
| - controller[_add](dart.as(value, T));
|
| + dart.as(value, T);
|
| + controller[_add](value);
|
| controller[_closeUnchecked]();
|
| - }), {onError: dart.fn((error, stackTrace) => {
|
| + }, dart.dynamic, [T]), {onError: dart.fn((error, stackTrace) => {
|
| controller[_addError](error, dart.as(stackTrace, core.StackTrace));
|
| controller[_closeUnchecked]();
|
| })});
|
| @@ -88,7 +89,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| }
|
| static periodic(period, computation) {
|
| if (computation === void 0) computation = null;
|
| - if (computation == null) computation = dart.fn(i => null, dart.bottom, [dart.dynamic]);
|
| + if (computation == null) computation = dart.fn(i => null, T, [core.int]);
|
| let timer = null;
|
| let computationCount = 0;
|
| let controller = null;
|
| @@ -107,17 +108,17 @@ dart_library.library('dart/async', null, /* Imports */[
|
| dart.assert(timer == null);
|
| timer = Timer.periodic(period, dart.fn(timer => {
|
| sendEvent();
|
| - }, dart.dynamic, [Timer]));
|
| + }, dart.void, [Timer]));
|
| }
|
| dart.fn(startPeriodicTimer, dart.void, []);
|
| controller = StreamController$(T).new({sync: true, onListen: dart.fn(() => {
|
| watch.start();
|
| startPeriodicTimer();
|
| - }), onPause: dart.fn(() => {
|
| + }, dart.void, []), onPause: dart.fn(() => {
|
| timer.cancel();
|
| timer = null;
|
| watch.stop();
|
| - }), onResume: dart.fn(() => {
|
| + }, dart.void, []), onResume: dart.fn(() => {
|
| dart.assert(timer == null);
|
| let elapsed = watch.elapsed;
|
| watch.start();
|
| @@ -125,15 +126,15 @@ dart_library.library('dart/async', null, /* Imports */[
|
| timer = null;
|
| startPeriodicTimer();
|
| sendEvent();
|
| - }));
|
| - }), onCancel: dart.fn(() => {
|
| + }, dart.void, []));
|
| + }, dart.void, []), onCancel: dart.fn(() => {
|
| if (timer != null) timer.cancel();
|
| timer = null;
|
| })});
|
| return controller.stream;
|
| }
|
| static eventTransformed(source, mapSink) {
|
| - return new (_BoundSinkStream$(dart.dynamic, T))(source, dart.as(mapSink, _SinkMapper));
|
| + return new (_BoundSinkStream$(dart.dynamic, T))(source, mapSink);
|
| }
|
| get isBroadcast() {
|
| return false;
|
| @@ -179,19 +180,19 @@ dart_library.library('dart/async', null, /* Imports */[
|
| } else {
|
| controller.add(newValue);
|
| }
|
| - }, dart.dynamic, [T]), {onError: addError, onDone: dart.bind(controller, 'close')});
|
| + }, dart.void, [T]), {onError: addError, onDone: dart.bind(controller, 'close')});
|
| }).bind(this);
|
| dart.fn(onListen, dart.void, []);
|
| if (dart.notNull(this.isBroadcast)) {
|
| controller = StreamController.broadcast({onListen: onListen, onCancel: dart.fn(() => {
|
| subscription.cancel();
|
| - }), sync: true});
|
| + }, dart.void, []), sync: true});
|
| } else {
|
| controller = StreamController.new({onListen: onListen, onPause: dart.fn(() => {
|
| subscription.pause();
|
| - }), onResume: dart.fn(() => {
|
| + }, dart.void, []), onResume: dart.fn(() => {
|
| subscription.resume();
|
| - }), onCancel: dart.fn(() => {
|
| + }, dart.void, []), onCancel: dart.fn(() => {
|
| subscription.cancel();
|
| }), sync: true});
|
| }
|
| @@ -219,19 +220,19 @@ dart_library.library('dart/async', null, /* Imports */[
|
| subscription.pause();
|
| controller.addStream(newStream).whenComplete(dart.bind(subscription, 'resume'));
|
| }
|
| - }, dart.dynamic, [T]), {onError: dart.bind(eventSink, _addError), onDone: dart.bind(controller, 'close')});
|
| + }, dart.void, [T]), {onError: dart.bind(eventSink, _addError), onDone: dart.bind(controller, 'close')});
|
| }).bind(this);
|
| dart.fn(onListen, dart.void, []);
|
| if (dart.notNull(this.isBroadcast)) {
|
| controller = StreamController.broadcast({onListen: onListen, onCancel: dart.fn(() => {
|
| subscription.cancel();
|
| - }), sync: true});
|
| + }, dart.void, []), sync: true});
|
| } else {
|
| controller = StreamController.new({onListen: onListen, onPause: dart.fn(() => {
|
| subscription.pause();
|
| - }), onResume: dart.fn(() => {
|
| + }, dart.void, []), onResume: dart.fn(() => {
|
| subscription.resume();
|
| - }), onCancel: dart.fn(() => {
|
| + }, dart.void, []), onCancel: dart.fn(() => {
|
| subscription.cancel();
|
| }), sync: true});
|
| }
|
| @@ -271,7 +272,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| value = element;
|
| seenFirst = true;
|
| }
|
| - }, dart.dynamic, [T]), {onError: dart.bind(result, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(result, _completeError), onDone: dart.fn(() => {
|
| if (!dart.notNull(seenFirst)) {
|
| try {
|
| dart.throw(_internal.IterableElementError.noElement());
|
| @@ -283,7 +284,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| } else {
|
| result[_complete](value);
|
| }
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return result;
|
| }
|
| fold(initialValue, combine) {
|
| @@ -293,14 +294,14 @@ dart_library.library('dart/async', null, /* Imports */[
|
| let subscription = null;
|
| subscription = this.listen(dart.fn(element => {
|
| dart.as(element, T);
|
| - _runUserCode(dart.fn(() => dart.dcall(combine, value, element)), dart.fn(newValue => {
|
| - value = newValue;
|
| + _runUserCode(dart.fn(() => combine(value, element), dart.dynamic, []), dart.fn(newValue => {
|
| + value = dart.as(newValue, dart.dynamic);
|
| }), dart.as(_cancelAndErrorClosure(subscription, result), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.fn((e, st) => {
|
| + }, dart.void, [T]), {onError: dart.fn((e, st) => {
|
| result[_completeError](e, dart.as(st, core.StackTrace));
|
| }), onDone: dart.fn(() => {
|
| result[_complete](value);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return result;
|
| }
|
| join(separator) {
|
| @@ -322,11 +323,11 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _cancelAndErrorWithReplacement(subscription, result, e, s);
|
| }
|
|
|
| - }, dart.dynamic, [T]), {onError: dart.fn(e => {
|
| + }, dart.void, [T]), {onError: dart.fn(e => {
|
| result[_completeError](e);
|
| }), onDone: dart.fn(() => {
|
| result[_complete](dart.toString(buffer));
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return result;
|
| }
|
| contains(needle) {
|
| @@ -339,9 +340,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _cancelAndValue(subscription, future, true);
|
| }
|
| }, dart.dynamic, [core.bool]), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](false);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| forEach(action) {
|
| @@ -352,9 +353,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| dart.as(element, T);
|
| _runUserCode(dart.fn(() => action(element), dart.void, []), dart.fn(_ => {
|
| }), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](null);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| every(test) {
|
| @@ -368,9 +369,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _cancelAndValue(subscription, future, false);
|
| }
|
| }, dart.dynamic, [core.bool]), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](true);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| any(test) {
|
| @@ -384,29 +385,31 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _cancelAndValue(subscription, future, true);
|
| }
|
| }, dart.dynamic, [core.bool]), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](false);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| get length() {
|
| let future = new (_Future$(core.int))();
|
| let count = 0;
|
| this.listen(dart.fn(_ => {
|
| + dart.as(_, T);
|
| count = dart.notNull(count) + 1;
|
| - }), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](count);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| get isEmpty() {
|
| let future = new (_Future$(core.bool))();
|
| let subscription = null;
|
| subscription = this.listen(dart.fn(_ => {
|
| + dart.as(_, T);
|
| _cancelAndValue(subscription, future, false);
|
| - }), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](true);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| toList() {
|
| @@ -415,9 +418,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| this.listen(dart.fn(data => {
|
| dart.as(data, T);
|
| result[dartx.add](data);
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](result);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| toSet() {
|
| @@ -426,9 +429,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| this.listen(dart.fn(data => {
|
| dart.as(data, T);
|
| result.add(data);
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| future[_complete](result);
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| drain(futureValue) {
|
| @@ -460,7 +463,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| subscription = this.listen(dart.fn(value => {
|
| dart.as(value, T);
|
| _cancelAndValue(subscription, future, value);
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| try {
|
| dart.throw(_internal.IterableElementError.noElement());
|
| } catch (e) {
|
| @@ -468,7 +471,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(future, e, s);
|
| }
|
|
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| get last() {
|
| @@ -480,7 +483,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| dart.as(value, T);
|
| foundResult = true;
|
| result = value;
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| if (dart.notNull(foundResult)) {
|
| future[_complete](result);
|
| return;
|
| @@ -492,7 +495,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(future, e, s);
|
| }
|
|
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| get single() {
|
| @@ -514,7 +517,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| }
|
| foundResult = true;
|
| result = value;
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| if (dart.notNull(foundResult)) {
|
| future[_complete](result);
|
| return;
|
| @@ -526,7 +529,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(future, e, s);
|
| }
|
|
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| firstWhere(test, opts) {
|
| @@ -542,7 +545,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _cancelAndValue(subscription, future, value);
|
| }
|
| }, dart.dynamic, [core.bool]), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| if (defaultValue != null) {
|
| _runUserCode(defaultValue, dart.bind(future, _complete), dart.bind(future, _completeError));
|
| return;
|
| @@ -554,7 +557,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(future, e, s);
|
| }
|
|
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| lastWhere(test, opts) {
|
| @@ -573,7 +576,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| result = value;
|
| }
|
| }, dart.dynamic, [core.bool]), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| if (dart.notNull(foundResult)) {
|
| future[_complete](result);
|
| return;
|
| @@ -589,7 +592,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(future, e, s);
|
| }
|
|
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| singleWhere(test) {
|
| @@ -616,7 +619,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| result = value;
|
| }
|
| }, dart.dynamic, [core.bool]), dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace])));
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
|
| if (dart.notNull(foundResult)) {
|
| future[_complete](result);
|
| return;
|
| @@ -628,7 +631,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(future, e, s);
|
| }
|
|
|
| - }), cancelOnError: true});
|
| + }, dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| elementAt(index) {
|
| @@ -643,9 +646,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| return;
|
| }
|
| elementIndex = dart.notNull(elementIndex) + 1;
|
| - }, dart.dynamic, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn((() => {
|
| + }, dart.void, [T]), {onError: dart.bind(future, _completeError), onDone: dart.fn((() => {
|
| future[_completeError](core.RangeError.index(index, this, "index", null, elementIndex));
|
| - }).bind(this)), cancelOnError: true});
|
| + }).bind(this), dart.void, []), cancelOnError: true});
|
| return future;
|
| }
|
| timeout(timeLimit, opts) {
|
| @@ -705,10 +708,10 @@ dart_library.library('dart/async', null, /* Imports */[
|
| controller = dart.notNull(this.isBroadcast) ? new _SyncBroadcastStreamController(onListen, onCancel) : new _SyncStreamController(onListen, dart.fn(() => {
|
| timer.cancel();
|
| subscription.pause();
|
| - }), dart.fn(() => {
|
| + }, dart.void, []), dart.fn(() => {
|
| subscription.resume();
|
| timer = zone.createTimer(timeLimit, dart.as(timeout2, dart.functionType(dart.void, [])));
|
| - }), onCancel);
|
| + }, dart.void, []), onCancel);
|
| return controller.stream;
|
| }
|
| }
|
| @@ -956,7 +959,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| let result = new (_Future$(T))();
|
| this[_onDone] = dart.fn(() => {
|
| result[_complete](futureValue);
|
| - });
|
| + }, dart.void, []);
|
| this[_onError] = dart.fn(((error, stackTrace) => {
|
| this.cancel();
|
| result[_completeError](error, dart.as(stackTrace, core.StackTrace));
|
| @@ -1527,21 +1530,21 @@ dart_library.library('dart/async', null, /* Imports */[
|
| this[_forEachListener](dart.fn(subscription => {
|
| dart.as(subscription, _BufferingStreamSubscription$(T));
|
| subscription[_add](data);
|
| - }, dart.dynamic, [_BufferingStreamSubscription$(T)]));
|
| + }, dart.void, [_BufferingStreamSubscription$(T)]));
|
| }
|
| [_sendError](error, stackTrace) {
|
| if (dart.notNull(this[_isEmpty])) return;
|
| this[_forEachListener](dart.fn(subscription => {
|
| dart.as(subscription, _BufferingStreamSubscription$(T));
|
| subscription[_addError](error, stackTrace);
|
| - }, dart.dynamic, [_BufferingStreamSubscription$(T)]));
|
| + }, dart.void, [_BufferingStreamSubscription$(T)]));
|
| }
|
| [_sendDone]() {
|
| if (!dart.notNull(this[_isEmpty])) {
|
| this[_forEachListener](dart.as(dart.fn(subscription => {
|
| dart.as(subscription, _BroadcastSubscription$(T));
|
| subscription[_close]();
|
| - }, dart.dynamic, [_BroadcastSubscription$(T)]), __CastType2));
|
| + }, dart.void, [_BroadcastSubscription$(T)]), __CastType2));
|
| } else {
|
| dart.assert(this[_doneFuture] != null);
|
| dart.assert(this[_doneFuture][_mayComplete]);
|
| @@ -1770,7 +1773,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(result, e, s);
|
| }
|
|
|
| - }));
|
| + }, dart.void, []));
|
| return dart.as(result, Future$(T));
|
| }
|
| static microtask(computation) {
|
| @@ -1783,7 +1786,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(result, e, s);
|
| }
|
|
|
| - }));
|
| + }, dart.void, []));
|
| return dart.as(result, Future$(T));
|
| }
|
| static sync(computation) {
|
| @@ -1823,7 +1826,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _completeWithErrorCallback(result, e, s);
|
| }
|
|
|
| - }));
|
| + }, dart.void, []));
|
| return dart.as(result, Future$(T));
|
| }
|
| static wait(futures, opts) {
|
| @@ -1842,7 +1845,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| for (let value2 of values) {
|
| if (value2 != null) {
|
| Future$().sync(dart.fn(() => {
|
| - dart.dcall(cleanUp, value2);
|
| + cleanUp(value2);
|
| }));
|
| }
|
| }
|
| @@ -1865,14 +1868,14 @@ dart_library.library('dart/async', null, /* Imports */[
|
| future.then(dart.fn(value => {
|
| remaining = dart.notNull(remaining) - 1;
|
| if (values != null) {
|
| - values[dartx.set](pos, value);
|
| + values[dartx.set](pos, dart.as(value, dart.dynamic));
|
| if (remaining == 0) {
|
| result[_completeWithValue](values);
|
| }
|
| } else {
|
| if (cleanUp != null && value != null) {
|
| Future$().sync(dart.fn(() => {
|
| - dart.dcall(cleanUp, value);
|
| + cleanUp(dart.as(value, dart.dynamic));
|
| }));
|
| }
|
| if (remaining == 0 && !dart.notNull(eagerError)) {
|
| @@ -2273,7 +2276,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| if (dart.notNull(this[_isComplete])) {
|
| this[_zone].scheduleMicrotask(dart.fn((() => {
|
| _Future$()._propagateToListeners(this, listener);
|
| - }).bind(this)));
|
| + }).bind(this), dart.void, []));
|
| } else {
|
| listener[_nextListener] = dart.as(this[_resultOrListeners], _FutureListener);
|
| this[_resultOrListeners] = listener;
|
| @@ -2355,7 +2358,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| this[_markPendingCompletion]();
|
| this[_zone].scheduleMicrotask(dart.fn((() => {
|
| _Future$()._chainCoreFuture(coreFuture, this);
|
| - }).bind(this)));
|
| + }).bind(this), dart.void, []));
|
| } else {
|
| _Future$()._chainCoreFuture(coreFuture, this);
|
| }
|
| @@ -2369,14 +2372,14 @@ dart_library.library('dart/async', null, /* Imports */[
|
| this[_markPendingCompletion]();
|
| this[_zone].scheduleMicrotask(dart.fn((() => {
|
| this[_completeWithValue](value);
|
| - }).bind(this)));
|
| + }).bind(this), dart.void, []));
|
| }
|
| [_asyncCompleteError](error, stackTrace) {
|
| dart.assert(!dart.notNull(this[_isComplete]));
|
| this[_markPendingCompletion]();
|
| this[_zone].scheduleMicrotask(dart.fn((() => {
|
| this[_completeError](error, stackTrace);
|
| - }).bind(this)));
|
| + }).bind(this), dart.void, []));
|
| }
|
| static _propagateToListeners(source, listeners) {
|
| while (true) {
|
| @@ -2542,7 +2545,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| if (onTimeout == null) {
|
| timer = Timer.new(timeLimit, dart.fn(() => {
|
| result[_completeError](new TimeoutException("Future not completed", timeLimit));
|
| - }));
|
| + }, dart.void, []));
|
| } else {
|
| let zone = Zone.current;
|
| onTimeout = zone.registerCallback(onTimeout);
|
| @@ -2554,7 +2557,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| result[_completeError](e, s);
|
| }
|
|
|
| - }));
|
| + }, dart.void, []));
|
| }
|
| this.then(dart.fn(v => {
|
| dart.as(v, T);
|
| @@ -2613,8 +2616,8 @@ dart_library.library('dart/async', null, /* Imports */[
|
| _Future._CHAINED = 2;
|
| _Future._VALUE = 4;
|
| _Future._ERROR = 8;
|
| - const __CastType6$ = dart.generic(function(T) {
|
| - const __CastType6 = dart.typedef('__CastType6', () => dart.functionType(dart.dynamic, [T]));
|
| + const __CastType6$ = dart.generic(function(T, S) {
|
| + const __CastType6 = dart.typedef('__CastType6', () => dart.functionType(S, [T]));
|
| return __CastType6;
|
| });
|
| let __CastType6 = __CastType6$();
|
| @@ -2827,10 +2830,10 @@ dart_library.library('dart/async', null, /* Imports */[
|
| const StreamTransformer$ = dart.generic(function(S, T) {
|
| class StreamTransformer extends core.Object {
|
| static new(transformer) {
|
| - return new _StreamSubscriptionTransformer(transformer);
|
| + return new (_StreamSubscriptionTransformer$(S, T))(transformer);
|
| }
|
| static fromHandlers(opts) {
|
| - return new _StreamHandlerTransformer(opts);
|
| + return new (_StreamHandlerTransformer$(S, T))(opts);
|
| }
|
| }
|
| dart.setSignature(StreamTransformer, {
|
| @@ -2896,7 +2899,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
|
| let sync = opts && 'sync' in opts ? opts.sync : false;
|
| if (onListen == null && onPause == null && onResume == null && onCancel == null) {
|
| - return dart.as(dart.notNull(sync) ? new _NoCallbackSyncStreamController() : new _NoCallbackAsyncStreamController(), StreamController$(T));
|
| + return dart.notNull(sync) ? new (_NoCallbackSyncStreamController$(T))() : new (_NoCallbackAsyncStreamController$(T))();
|
| }
|
| return dart.notNull(sync) ? new (_SyncStreamController$(T))(onListen, onPause, onResume, onCancel) : new (_AsyncStreamController$(T))(onListen, onPause, onResume, onCancel);
|
| }
|
| @@ -3285,16 +3288,24 @@ dart_library.library('dart/async', null, /* Imports */[
|
| return null;
|
| }
|
| }
|
| - class _NoCallbackAsyncStreamController extends dart.mixin(_StreamController, _AsyncStreamControllerDispatch, _NoCallbacks) {
|
| - _NoCallbackAsyncStreamController() {
|
| - super._StreamController(...arguments);
|
| + const _NoCallbackAsyncStreamController$ = dart.generic(function(T) {
|
| + class _NoCallbackAsyncStreamController extends dart.mixin(_StreamController$(T), _AsyncStreamControllerDispatch$(T), _NoCallbacks) {
|
| + _NoCallbackAsyncStreamController() {
|
| + super._StreamController(...arguments);
|
| + }
|
| }
|
| - }
|
| - class _NoCallbackSyncStreamController extends dart.mixin(_StreamController, _SyncStreamControllerDispatch, _NoCallbacks) {
|
| - _NoCallbackSyncStreamController() {
|
| - super._StreamController(...arguments);
|
| + return _NoCallbackAsyncStreamController;
|
| + });
|
| + let _NoCallbackAsyncStreamController = _NoCallbackAsyncStreamController$();
|
| + const _NoCallbackSyncStreamController$ = dart.generic(function(T) {
|
| + class _NoCallbackSyncStreamController extends dart.mixin(_StreamController$(T), _SyncStreamControllerDispatch$(T), _NoCallbacks) {
|
| + _NoCallbackSyncStreamController() {
|
| + super._StreamController(...arguments);
|
| + }
|
| }
|
| - }
|
| + return _NoCallbackSyncStreamController;
|
| + });
|
| + let _NoCallbackSyncStreamController = _NoCallbackSyncStreamController$();
|
| const _NotificationHandler = dart.typedef('_NotificationHandler', () => dart.functionType(dart.dynamic, []));
|
| function _runGuarded(notificationHandler) {
|
| if (notificationHandler == null) return null;
|
| @@ -3352,7 +3363,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| class _AddStreamState extends core.Object {
|
| _AddStreamState(controller, source, cancelOnError) {
|
| this.addStreamFuture = new _Future();
|
| - this.addSubscription = source.listen(dart.bind(controller, _add), {onError: dart.notNull(cancelOnError) ? dart.as(_AddStreamState$().makeErrorHandler(controller), core.Function) : dart.bind(controller, _addError), onDone: dart.bind(controller, _close), cancelOnError: cancelOnError});
|
| + this.addSubscription = source.listen(dart.bind(controller, _add), {onError: dart.as(dart.notNull(cancelOnError) ? _AddStreamState$().makeErrorHandler(controller) : dart.bind(controller, _addError), core.Function), onDone: dart.bind(controller, _close), cancelOnError: cancelOnError});
|
| }
|
| static makeErrorHandler(controller) {
|
| return dart.fn((e, s) => {
|
| @@ -3442,11 +3453,9 @@ dart_library.library('dart/async', null, /* Imports */[
|
| dart.as(onDone, dart.functionType(dart.void, []));
|
| if (dart.notNull(this[_isUsed])) dart.throw(new core.StateError("Stream has already been listened to."));
|
| this[_isUsed] = true;
|
| - return dart.as((() => {
|
| - let _ = new _BufferingStreamSubscription(onData, onError, onDone, cancelOnError);
|
| - _[_setPendingEvents](this[_pending]());
|
| - return _;
|
| - }).bind(this)(), StreamSubscription$(T));
|
| + let _ = new (_BufferingStreamSubscription$(T))(onData, onError, onDone, cancelOnError);
|
| + _[_setPendingEvents](this[_pending]());
|
| + return _;
|
| }
|
| }
|
| dart.setSignature(_GeneratedStreamImpl, {
|
| @@ -3480,7 +3489,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| this[_state] = _PendingEvents._STATE_UNSCHEDULED;
|
| if (oldState == _PendingEvents._STATE_CANCELED) return;
|
| this.handleNext(dispatch);
|
| - }).bind(this)));
|
| + }).bind(this), dart.void, []));
|
| this[_state] = _PendingEvents._STATE_SCHEDULED;
|
| }
|
| cancelSchedule() {
|
| @@ -3736,7 +3745,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| let result = new _Future();
|
| this[_onDone] = dart.fn(() => {
|
| result[_completeWithValue](null);
|
| - });
|
| + }, dart.void, []);
|
| return result;
|
| }
|
| [_sendDone]() {
|
| @@ -4695,7 +4704,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| dart.as(onDone, dart.functionType(dart.void, []));
|
| let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
|
| cancelOnError = core.identical(true, cancelOnError);
|
| - let subscription = new (_SinkTransformerStreamSubscription$(dart.dynamic, T))(this[_stream], dart.as(this[_sinkMapper], _SinkMapper), onData, onError, onDone, cancelOnError);
|
| + let subscription = new (_SinkTransformerStreamSubscription$(dart.dynamic, T))(this[_stream], this[_sinkMapper], onData, onError, onDone, cancelOnError);
|
| return subscription;
|
| }
|
| }
|
| @@ -4759,13 +4768,13 @@ dart_library.library('dart/async', null, /* Imports */[
|
| let handleData = opts && 'handleData' in opts ? opts.handleData : null;
|
| let handleError = opts && 'handleError' in opts ? opts.handleError : null;
|
| let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null;
|
| - super._StreamSinkTransformer(dart.as(dart.fn(outputSink => {
|
| + super._StreamSinkTransformer(dart.fn(outputSink => {
|
| dart.as(outputSink, EventSink$(T));
|
| if (handleData == null) handleData = dart.as(_StreamHandlerTransformer$()._defaultHandleData, __CastType27);
|
| if (handleError == null) handleError = dart.as(_StreamHandlerTransformer$()._defaultHandleError, __CastType30);
|
| if (handleDone == null) handleDone = _StreamHandlerTransformer$()._defaultHandleDone;
|
| return new (_HandlerEventSink$(S, T))(handleData, handleError, handleDone, outputSink);
|
| - }, dart.dynamic, [EventSink$(T)]), _SinkMapper$(S, T)));
|
| + }, EventSink$(S), [EventSink$(T)]));
|
| }
|
| bind(stream) {
|
| dart.as(stream, Stream$(S));
|
| @@ -4939,7 +4948,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| let createPeriodicTimer = opts && 'createPeriodicTimer' in opts ? opts.createPeriodicTimer : null;
|
| let print = opts && 'print' in opts ? opts.print : null;
|
| let fork = opts && 'fork' in opts ? opts.fork : null;
|
| - return ZoneSpecification.new({handleUncaughtError: handleUncaughtError != null ? handleUncaughtError : other.handleUncaughtError, run: run != null ? run : other.run, runUnary: runUnary != null ? runUnary : other.runUnary, runBinary: runBinary != null ? runBinary : other.runBinary, registerCallback: registerCallback != null ? registerCallback : other.registerCallback, registerUnaryCallback: registerUnaryCallback != null ? registerUnaryCallback : other.registerUnaryCallback, registerBinaryCallback: registerBinaryCallback != null ? registerBinaryCallback : other.registerBinaryCallback, errorCallback: errorCallback != null ? errorCallback : other.errorCallback, scheduleMicrotask: scheduleMicrotask != null ? scheduleMicrotask : other.scheduleMicrotask, createTimer: createTimer != null ? createTimer : other.createTimer, createPeriodicTimer: createPeriodicTimer != null ? createPeriodicTimer : other.createPeriodicTimer, print: print != null ? print : other.print, fork: fork != null ? fork : other.fork});
|
| + return ZoneSpecification.new({handleUncaughtError: dart.as(handleUncaughtError != null ? handleUncaughtError : other.handleUncaughtError, __CastType36), run: dart.as(run != null ? run : other.run, __CastType42), runUnary: dart.as(runUnary != null ? runUnary : other.runUnary, __CastType47), runBinary: dart.as(runBinary != null ? runBinary : other.runBinary, __CastType54), registerCallback: dart.as(registerCallback != null ? registerCallback : other.registerCallback, __CastType63), registerUnaryCallback: dart.as(registerUnaryCallback != null ? registerUnaryCallback : other.registerUnaryCallback, __CastType68), registerBinaryCallback: dart.as(registerBinaryCallback != null ? registerBinaryCallback : other.registerBinaryCallback, __CastType74), errorCallback: dart.as(errorCallback != null ? errorCallback : other.errorCallback, __CastType81), scheduleMicrotask: dart.as(scheduleMicrotask != null ? scheduleMicrotask : other.scheduleMicrotask, __CastType87), createTimer: dart.as(createTimer != null ? createTimer : other.createTimer, __CastType92), createPeriodicTimer: dart.as(createPeriodicTimer != null ? createPeriodicTimer : other.createPeriodicTimer, __CastType98), print: dart.as(print != null ? print : other.print, __CastType105), fork: dart.as(fork != null ? fork : other.fork, __CastType110)});
|
| }
|
| }
|
| dart.setSignature(ZoneSpecification, {
|
| @@ -5611,7 +5620,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| dart.fn(_rootCreateTimer, Timer, [Zone, ZoneDelegate, Zone, core.Duration, dart.functionType(dart.void, [])]);
|
| function _rootCreatePeriodicTimer(self, parent, zone, duration, callback) {
|
| if (!dart.notNull(core.identical(_ROOT_ZONE, zone))) {
|
| - callback = dart.as(zone.bindUnaryCallback(callback), __CastType36);
|
| + callback = dart.as(zone.bindUnaryCallback(callback), __CastType116);
|
| }
|
| return Timer._createPeriodicTimer(duration, callback);
|
| }
|
| @@ -5704,7 +5713,7 @@ dart_library.library('dart/async', null, /* Imports */[
|
| if (dart.is(onError, ZoneBinaryCallback)) {
|
| return self.parent.runBinary(onError, error, stackTrace);
|
| }
|
| - return self.parent.runUnary(dart.as(onError, __CastType38), error);
|
| + return self.parent.runUnary(dart.as(onError, __CastType118), error);
|
| } catch (e) {
|
| let s = dart.stackTrace(e);
|
| if (dart.notNull(core.identical(e, error))) {
|
| @@ -5729,8 +5738,21 @@ dart_library.library('dart/async', null, /* Imports */[
|
| }
|
| }
|
| dart.fn(runZoned, dart.dynamic, [dart.functionType(dart.dynamic, [])], {zoneValues: core.Map, zoneSpecification: ZoneSpecification, onError: core.Function});
|
| - const __CastType36 = dart.typedef('__CastType36', () => dart.functionType(dart.void, [Timer]));
|
| - const __CastType38 = dart.typedef('__CastType38', () => dart.functionType(dart.dynamic, [dart.dynamic]));
|
| + const __CastType36 = dart.typedef('__CastType36', () => dart.functionType(dart.dynamic, [Zone, ZoneDelegate, Zone, dart.dynamic, core.StackTrace]));
|
| + const __CastType42 = dart.typedef('__CastType42', () => dart.functionType(dart.dynamic, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [])]));
|
| + const __CastType47 = dart.typedef('__CastType47', () => dart.functionType(dart.dynamic, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [dart.dynamic]), dart.dynamic]));
|
| + const __CastType54 = dart.typedef('__CastType54', () => dart.functionType(dart.dynamic, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [dart.dynamic, dart.dynamic]), dart.dynamic, dart.dynamic]));
|
| + const __CastType63 = dart.typedef('__CastType63', () => dart.functionType(ZoneCallback, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [])]));
|
| + const __CastType68 = dart.typedef('__CastType68', () => dart.functionType(ZoneUnaryCallback, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [dart.dynamic])]));
|
| + const __CastType74 = dart.typedef('__CastType74', () => dart.functionType(ZoneBinaryCallback, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [dart.dynamic, dart.dynamic])]));
|
| + const __CastType81 = dart.typedef('__CastType81', () => dart.functionType(AsyncError, [Zone, ZoneDelegate, Zone, core.Object, core.StackTrace]));
|
| + const __CastType87 = dart.typedef('__CastType87', () => dart.functionType(dart.void, [Zone, ZoneDelegate, Zone, dart.functionType(dart.dynamic, [])]));
|
| + const __CastType92 = dart.typedef('__CastType92', () => dart.functionType(Timer, [Zone, ZoneDelegate, Zone, core.Duration, dart.functionType(dart.void, [])]));
|
| + const __CastType98 = dart.typedef('__CastType98', () => dart.functionType(Timer, [Zone, ZoneDelegate, Zone, core.Duration, dart.functionType(dart.void, [Timer])]));
|
| + const __CastType105 = dart.typedef('__CastType105', () => dart.functionType(dart.void, [Zone, ZoneDelegate, Zone, core.String]));
|
| + const __CastType110 = dart.typedef('__CastType110', () => dart.functionType(Zone, [Zone, ZoneDelegate, Zone, ZoneSpecification, core.Map]));
|
| + const __CastType116 = dart.typedef('__CastType116', () => dart.functionType(dart.void, [Timer]));
|
| + const __CastType118 = dart.typedef('__CastType118', () => dart.functionType(dart.dynamic, [dart.dynamic]));
|
| dart.copyProperties(exports, {
|
| get _hasDocument() {
|
| return typeof document == 'object';
|
|
|