Index: lib/runtime/dart/async.js |
diff --git a/lib/runtime/dart/async.js b/lib/runtime/dart/async.js |
index 87d303157805445ad94a48adbc8fb590f11eb585..dab5c9170f90084c29f55e44b4ef04b73c53da67 100644 |
--- a/lib/runtime/dart/async.js |
+++ b/lib/runtime/dart/async.js |
@@ -141,16 +141,21 @@ var async; |
} |
asBroadcastStream(opts) { |
let onListen = opts && 'onListen' in opts ? opts.onListen : null; |
+ dart.as(onListen, dart.functionType(dart.void, [StreamSubscription$(T)])); |
let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null; |
+ dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription$(T)])); |
return new (_AsBroadcastStream$(T))(this, dart.as(onListen, __CastType14), dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription]))); |
} |
where(test) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
return new (_WhereStream$(T))(this, test); |
} |
map(convert) { |
+ dart.as(convert, dart.functionType(dart.dynamic, [T])); |
return new (_MapStream$(T, dart.dynamic))(this, convert); |
} |
asyncMap(convert) { |
+ dart.as(convert, dart.functionType(dart.dynamic, [T])); |
let controller = null; |
let subscription = null; |
// Function onListen: () → void |
@@ -160,6 +165,7 @@ var async; |
let eventSink = controller; |
let addError = eventSink[_addError]; |
subscription = this.listen(event => { |
+ dart.as(event, T); |
let newValue = null; |
try { |
newValue = convert(event); |
@@ -203,6 +209,7 @@ var async; |
return controller.stream; |
} |
asyncExpand(convert) { |
+ dart.as(convert, dart.functionType(Stream, [T])); |
let controller = null; |
let subscription = null; |
// Function onListen: () → void |
@@ -210,6 +217,7 @@ var async; |
dart.assert(dart.is(controller, _StreamController) || dart.is(controller, _BroadcastStreamController)); |
let eventSink = controller; |
subscription = this.listen(event => { |
+ dart.as(event, T); |
let newStream = null; |
try { |
newStream = convert(event); |
@@ -252,25 +260,32 @@ var async; |
} |
handleError(onError, opts) { |
let test = opts && 'test' in opts ? opts.test : null; |
+ dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
return new (_HandleErrorStream$(T))(this, onError, test); |
} |
expand(convert) { |
+ dart.as(convert, dart.functionType(core.Iterable, [T])); |
return new (_ExpandStream$(T, dart.dynamic))(this, convert); |
} |
pipe(streamConsumer) { |
+ dart.as(streamConsumer, StreamConsumer$(T)); |
return streamConsumer.addStream(this).then(_ => streamConsumer.close()); |
} |
transform(streamTransformer) { |
+ dart.as(streamTransformer, StreamTransformer$(T, dart.dynamic)); |
return streamTransformer.bind(this); |
} |
reduce(combine) { |
+ dart.as(combine, dart.functionType(T, [T, T])); |
let result = new (_Future$(T))(); |
let seenFirst = false; |
let value = null; |
let subscription = null; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
if (seenFirst) { |
_runUserCode(() => combine(value, element), newValue => { |
+ dart.as(newValue, T); |
value = newValue; |
}, dart.as(_cancelAndErrorClosure(subscription, result), __CastType16)); |
} else { |
@@ -297,10 +312,12 @@ var async; |
return result; |
} |
fold(initialValue, combine) { |
+ dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, T])); |
let result = new _Future(); |
let value = initialValue; |
let subscription = null; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
_runUserCode(() => dart.dcall(combine, value, element), newValue => { |
value = newValue; |
}, dart.as(_cancelAndErrorClosure(subscription, result), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace]))); |
@@ -323,6 +340,7 @@ var async; |
let subscription = null; |
let first = true; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
if (!dart.notNull(first)) { |
buffer.write(separator); |
} |
@@ -349,6 +367,7 @@ var async; |
let future = new (_Future$(core.bool))(); |
let subscription = null; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
_runUserCode(() => dart.equals(element, needle), isMatch => { |
if (isMatch) { |
_cancelAndValue(subscription, future, true); |
@@ -364,9 +383,11 @@ var async; |
return future; |
} |
forEach(action) { |
+ dart.as(action, dart.functionType(dart.void, [T])); |
let future = new _Future(); |
let subscription = null; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
_runUserCode(() => action(element), _ => { |
}, dart.as(_cancelAndErrorClosure(subscription, future), dart.functionType(dart.dynamic, [dart.dynamic, core.StackTrace]))); |
}, { |
@@ -379,9 +400,11 @@ var async; |
return future; |
} |
every(test) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
let future = new (_Future$(core.bool))(); |
let subscription = null; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
_runUserCode(() => test(element), isMatch => { |
if (!dart.notNull(isMatch)) { |
_cancelAndValue(subscription, future, false); |
@@ -397,9 +420,11 @@ var async; |
return future; |
} |
any(test) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
let future = new (_Future$(core.bool))(); |
let subscription = null; |
subscription = this.listen(element => { |
+ dart.as(element, T); |
_runUserCode(() => test(element), isMatch => { |
if (isMatch) { |
_cancelAndValue(subscription, future, true); |
@@ -446,6 +471,7 @@ var async; |
let result = dart.setType([], core.List$(T)); |
let future = new (_Future$(core.List$(T)))(); |
this.listen(data => { |
+ dart.as(data, T); |
result[core.$add](data); |
}, { |
onError: future[_completeError].bind(future), |
@@ -460,6 +486,7 @@ var async; |
let result = new (core.Set$(T))(); |
let future = new (_Future$(core.Set$(T)))(); |
this.listen(data => { |
+ dart.as(data, T); |
result.add(data); |
}, { |
onError: future[_completeError].bind(future), |
@@ -479,23 +506,27 @@ var async; |
return new (_TakeStream$(T))(this, count); |
} |
takeWhile(test) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
return new (_TakeWhileStream$(T))(this, test); |
} |
skip(count) { |
return new (_SkipStream$(T))(this, count); |
} |
skipWhile(test) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
return new (_SkipWhileStream$(T))(this, test); |
} |
distinct(equals) { |
if (equals === void 0) |
equals = null; |
+ dart.as(equals, dart.functionType(core.bool, [T, T])); |
return new (_DistinctStream$(T))(this, equals); |
} |
get first() { |
let future = new (_Future$(T))(); |
let subscription = null; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
_cancelAndValue(subscription, future, value); |
}, { |
onError: future[_completeError].bind(future), |
@@ -518,6 +549,7 @@ var async; |
let foundResult = false; |
let subscription = null; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
foundResult = true; |
result = value; |
}, { |
@@ -545,6 +577,7 @@ var async; |
let foundResult = false; |
let subscription = null; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
if (foundResult) { |
try { |
throw _internal.IterableElementError.tooMany(); |
@@ -577,10 +610,13 @@ var async; |
return future; |
} |
firstWhere(test, opts) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : null; |
+ dart.as(defaultValue, dart.functionType(core.Object, [])); |
let future = new _Future(); |
let subscription = null; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
_runUserCode(() => test(value), isMatch => { |
if (isMatch) { |
_cancelAndValue(subscription, future, value); |
@@ -606,12 +642,15 @@ var async; |
return future; |
} |
lastWhere(test, opts) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : null; |
+ dart.as(defaultValue, dart.functionType(core.Object, [])); |
let future = new _Future(); |
let result = null; |
let foundResult = false; |
let subscription = null; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
_runUserCode(() => true == test(value), isMatch => { |
if (isMatch) { |
foundResult = true; |
@@ -642,11 +681,13 @@ var async; |
return future; |
} |
singleWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [T])); |
let future = new (_Future$(T))(); |
let result = null; |
let foundResult = false; |
let subscription = null; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
_runUserCode(() => true == test(value), isMatch => { |
if (isMatch) { |
if (foundResult) { |
@@ -689,6 +730,7 @@ var async; |
let subscription = null; |
let elementIndex = 0; |
subscription = this.listen(value => { |
+ dart.as(value, T); |
if (index == elementIndex) { |
_cancelAndValue(subscription, future, value); |
return; |
@@ -705,6 +747,7 @@ var async; |
} |
timeout(timeLimit, opts) { |
let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; |
+ dart.as(onTimeout, dart.functionType(dart.void, [EventSink])); |
let controller = null; |
let subscription = null; |
let timer = null; |
@@ -712,6 +755,7 @@ var async; |
let timeout = null; |
// Function onData: (T) → void |
function onData(event) { |
+ dart.as(event, T); |
timer.cancel(); |
controller.add(event); |
timer = zone.createTimer(timeLimit, dart.as(timeout, __CastType19)); |
@@ -775,8 +819,10 @@ var async; |
let _StreamImpl$ = dart.generic(function(T) { |
class _StreamImpl extends Stream$(T) { |
listen(onData, opts) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; |
cancelOnError = core.identical(true, cancelOnError); |
let subscription = this[_createSubscription](onData, onError, onDone, cancelOnError); |
@@ -784,6 +830,8 @@ var async; |
return dart.as(subscription, StreamSubscription$(T)); |
} |
[_createSubscription](onData, onError, onDone, cancelOnError) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
return new (_BufferingStreamSubscription$(T))(onData, onError, onDone, cancelOnError); |
} |
[_onListen](subscription) {} |
@@ -797,6 +845,8 @@ var async; |
this[_controller] = controller; |
} |
[_createSubscription](onData, onError, onDone, cancelOnError) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
return this[_controller][_subscribe](onData, onError, onDone, cancelOnError); |
} |
get hashCode() { |
@@ -906,6 +956,7 @@ var async; |
return events; |
} |
onData(handleData) { |
+ dart.as(handleData, dart.functionType(dart.void, [T])); |
if (handleData == null) |
handleData = dart.as(_nullDataHandler, __CastType22); |
this[_onData] = dart.as(this[_zone].registerUnaryCallback(handleData), _DataHandler$(T)); |
@@ -916,6 +967,7 @@ var async; |
this[_onError] = _registerErrorHandler(handleError, this[_zone]); |
} |
onDone(handleDone) { |
+ dart.as(handleDone, dart.functionType(dart.void, [])); |
if (handleDone == null) |
handleDone = _nullDoneHandler; |
this[_onDone] = this[_zone].registerCallback(handleDone); |
@@ -1022,6 +1074,7 @@ var async; |
this[_state] = dart.notNull(this[_state]) - dart.notNull(_BufferingStreamSubscription._STATE_PAUSE_COUNT); |
} |
[_add](data) { |
+ dart.as(data, T); |
dart.assert(!dart.notNull(this[_isClosed])); |
if (this[_isCanceled]) |
return; |
@@ -1074,6 +1127,7 @@ var async; |
} |
} |
[_sendData](data) { |
+ dart.as(data, T); |
dart.assert(!dart.notNull(this[_isCanceled])); |
dart.assert(!dart.notNull(this[_isPaused])); |
dart.assert(!dart.notNull(this[_inCallback])); |
@@ -1304,6 +1358,7 @@ var async; |
return core.identical(this[_next], this); |
} |
[_addListener](subscription) { |
+ dart.as(subscription, _BroadcastSubscription$(T)); |
dart.assert(core.identical(subscription[_next], subscription)); |
subscription[_previous] = this[_previous]; |
subscription[_next] = this; |
@@ -1312,6 +1367,7 @@ var async; |
subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamController._STATE_EVENT_ID); |
} |
[_removeListener](subscription) { |
+ dart.as(subscription, _BroadcastSubscription$(T)); |
dart.assert(core.identical(subscription[_controller], this)); |
dart.assert(!dart.notNull(core.identical(subscription[_next], subscription))); |
let previous = subscription[_previous]; |
@@ -1321,6 +1377,8 @@ var async; |
subscription[_next] = subscription[_previous] = subscription; |
} |
[_subscribe](onData, onError, onDone, cancelOnError) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
if (this.isClosed) { |
if (onDone == null) |
onDone = _nullDoneHandler; |
@@ -1334,6 +1392,7 @@ var async; |
return dart.as(subscription, StreamSubscription$(T)); |
} |
[_recordCancel](subscription) { |
+ dart.as(subscription, _BroadcastSubscription$(T)); |
if (core.identical(subscription[_next], subscription)) |
return null; |
dart.assert(!dart.notNull(core.identical(subscription[_next], subscription))); |
@@ -1348,8 +1407,12 @@ var async; |
} |
return null; |
} |
- [_recordPause](subscription) {} |
- [_recordResume](subscription) {} |
+ [_recordPause](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
+ } |
+ [_recordResume](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
+ } |
[_addEventError]() { |
if (this.isClosed) { |
return new core.StateError("Cannot add new events after calling close"); |
@@ -1358,6 +1421,7 @@ var async; |
return new core.StateError("Cannot add new events while doing an addStream"); |
} |
add(data) { |
+ dart.as(data, T); |
if (!dart.notNull(this[_mayAddEvent])) |
throw this[_addEventError](); |
this[_sendData](data); |
@@ -1391,6 +1455,7 @@ var async; |
return this[_ensureDoneFuture](); |
} |
addStream(stream, opts) { |
+ dart.as(stream, Stream$(T)); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; |
if (!dart.notNull(this[_mayAddEvent])) |
throw this[_addEventError](); |
@@ -1399,6 +1464,7 @@ var async; |
return this[_addStreamState].addStreamFuture; |
} |
[_add](data) { |
+ dart.as(data, T); |
this[_sendData](data); |
} |
[_addError](error, stackTrace) { |
@@ -1412,6 +1478,7 @@ var async; |
addState.complete(); |
} |
[_forEachListener](action) { |
+ dart.as(action, dart.functionType(dart.void, [_BufferingStreamSubscription$(T)])); |
if (this[_isFiring]) { |
throw new core.StateError("Cannot fire new event. Controller is already firing an event"); |
} |
@@ -1463,6 +1530,7 @@ var async; |
super._BroadcastStreamController(onListen, onCancel); |
} |
[_sendData](data) { |
+ dart.as(data, T); |
if (this[_isEmpty]) |
return; |
if (this[_hasOneListener]) { |
@@ -1476,6 +1544,7 @@ var async; |
return; |
} |
this[_forEachListener](subscription => { |
+ dart.as(subscription, _BufferingStreamSubscription$(T)); |
subscription[_add](data); |
}); |
} |
@@ -1483,12 +1552,14 @@ var async; |
if (this[_isEmpty]) |
return; |
this[_forEachListener](subscription => { |
+ dart.as(subscription, _BufferingStreamSubscription$(T)); |
subscription[_addError](error, stackTrace); |
}); |
} |
[_sendDone]() { |
if (!dart.notNull(this[_isEmpty])) { |
this[_forEachListener](dart.as(subscription => { |
+ dart.as(subscription, _BroadcastSubscription$(T)); |
subscription[_close](); |
}, __CastType2)); |
} else { |
@@ -1507,6 +1578,7 @@ var async; |
super._BroadcastStreamController(onListen, onCancel); |
} |
[_sendData](data) { |
+ dart.as(data, T); |
for (let link = this[_next]; !dart.notNull(core.identical(link, this)); link = link[_next]) { |
let subscription = dart.as(link, _BroadcastSubscription$(T)); |
subscription[_addPending](new _DelayedData(data)); |
@@ -1551,6 +1623,7 @@ var async; |
this[_pending].add(event); |
} |
add(data) { |
+ dart.as(data, T); |
if (!dart.notNull(this.isClosed) && dart.notNull(this[_isFiring])) { |
this[_addPendingEvent](new (_DelayedData$(T))(data)); |
return; |
@@ -1603,9 +1676,13 @@ var async; |
_DoneSubscription() { |
this[_pauseCount] = 0; |
} |
- onData(handleData) {} |
+ onData(handleData) { |
+ dart.as(handleData, dart.functionType(dart.void, [T])); |
+ } |
onError(handleError) {} |
- onDone(handleDone) {} |
+ onDone(handleDone) { |
+ dart.as(handleDone, dart.functionType(dart.void, [])); |
+ } |
pause(resumeSignal) { |
if (resumeSignal === void 0) |
resumeSignal = null; |
@@ -1737,6 +1814,7 @@ var async; |
static wait(futures, opts) { |
let eagerError = opts && 'eagerError' in opts ? opts.eagerError : false; |
let cleanUp = opts && 'cleanUp' in opts ? opts.cleanUp : null; |
+ dart.as(cleanUp, dart.functionType(dart.void, [dart.dynamic])); |
let result = new (_Future$(core.List))(); |
let values = null; |
let remaining = 0; |
@@ -1795,6 +1873,7 @@ var async; |
return result; |
} |
static forEach(input, f) { |
+ dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic])); |
let iterator = input[core.$iterator]; |
return Future.doWhile(() => { |
if (!dart.notNull(iterator.moveNext())) |
@@ -1803,6 +1882,7 @@ var async; |
}); |
} |
static doWhile(f) { |
+ dart.as(f, dart.functionType(dart.dynamic, [])); |
let doneSignal = new _Future(); |
let nextIteration = null; |
nextIteration = Zone.current.bindUnaryCallback(keepGoing => { |
@@ -2075,6 +2155,7 @@ var async; |
} |
} |
then(f, opts) { |
+ dart.as(f, dart.functionType(dart.dynamic, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let result = new _Future(); |
if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { |
@@ -2088,6 +2169,7 @@ var async; |
} |
catchError(onError, opts) { |
let test = opts && 'test' in opts ? opts.test : null; |
+ dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
let result = new _Future(); |
if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { |
onError = _registerErrorHandler(onError, result[_zone]); |
@@ -2098,6 +2180,7 @@ var async; |
return result; |
} |
whenComplete(action) { |
+ dart.as(action, dart.functionType(dart.dynamic, [])); |
let result = new (_Future$(T))(); |
if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { |
action = result[_zone].registerCallback(action); |
@@ -2122,6 +2205,7 @@ var async; |
return dart.as(this[_resultOrListeners], AsyncError); |
} |
[_setValue](value) { |
+ dart.as(value, T); |
dart.assert(!dart.notNull(this[_isComplete])); |
this[_state] = _Future._VALUE; |
this[_resultOrListeners] = value; |
@@ -2410,6 +2494,7 @@ var async; |
} |
timeout(timeLimit, opts) { |
let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; |
+ dart.as(onTimeout, dart.functionType(dart.dynamic, [])); |
if (this[_isComplete]) |
return new _Future.immediate(this); |
let result = new _Future(); |
@@ -2432,6 +2517,7 @@ var async; |
}); |
} |
this.then(v => { |
+ dart.as(v, T); |
if (timer.isActive) { |
timer.cancel(); |
result[_completeWithValue](v); |
@@ -2624,12 +2710,16 @@ var async; |
} |
asBroadcastStream(opts) { |
let onListen = opts && 'onListen' in opts ? opts.onListen : null; |
+ dart.as(onListen, dart.functionType(dart.void, [StreamSubscription])); |
let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null; |
+ dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription])); |
return this[_stream].asBroadcastStream({onListen: onListen, onCancel: onCancel}); |
} |
listen(onData, opts) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; |
return this[_stream].listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError}); |
} |
@@ -2676,6 +2766,7 @@ var async; |
this[_sink] = sink; |
} |
add(data) { |
+ dart.as(data, T); |
this[_sink].add(data); |
} |
addError(error, stackTrace) { |
@@ -2727,9 +2818,14 @@ var async; |
let StreamController = StreamController$(); |
let _StreamControllerLifecycle$ = dart.generic(function(T) { |
class _StreamControllerLifecycle extends core.Object { |
- [_recordPause](subscription) {} |
- [_recordResume](subscription) {} |
+ [_recordPause](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
+ } |
+ [_recordResume](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
+ } |
[_recordCancel](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
return null; |
} |
} |
@@ -2812,6 +2908,7 @@ var async; |
return new core.StateError("Cannot add event while adding a stream"); |
} |
addStream(source, opts) { |
+ dart.as(source, Stream$(T)); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; |
if (!dart.notNull(this[_mayAddEvent])) |
throw this[_badEventState](); |
@@ -2832,6 +2929,7 @@ var async; |
return this[_doneFuture]; |
} |
add(value) { |
+ dart.as(value, T); |
if (!dart.notNull(this[_mayAddEvent])) |
throw this[_badEventState](); |
this[_add](value); |
@@ -2867,6 +2965,7 @@ var async; |
} |
} |
[_add](value) { |
+ dart.as(value, T); |
if (this.hasListener) { |
this[_sendData](value); |
} else if (this[_isInitialState]) { |
@@ -2888,6 +2987,8 @@ var async; |
addState.complete(); |
} |
[_subscribe](onData, onError, onDone, cancelOnError) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
if (!dart.notNull(this[_isInitialState])) { |
throw new core.StateError("Stream has already been listened to."); |
} |
@@ -2908,6 +3009,7 @@ var async; |
return dart.as(subscription, StreamSubscription$(T)); |
} |
[_recordCancel](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
let result = null; |
if (this[_isAddingStream]) { |
let addState = dart.as(this[_varData], _StreamControllerAddStreamState); |
@@ -2943,6 +3045,7 @@ var async; |
return result; |
} |
[_recordPause](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
if (this[_isAddingStream]) { |
let addState = dart.as(this[_varData], _StreamControllerAddStreamState); |
addState.pause(); |
@@ -2950,6 +3053,7 @@ var async; |
_runGuarded(this[_onPause]); |
} |
[_recordResume](subscription) { |
+ dart.as(subscription, StreamSubscription$(T)); |
if (this[_isAddingStream]) { |
let addState = dart.as(this[_varData], _StreamControllerAddStreamState); |
addState.resume(); |
@@ -2970,6 +3074,7 @@ var async; |
let _SyncStreamControllerDispatch$ = dart.generic(function(T) { |
class _SyncStreamControllerDispatch extends core.Object { |
[_sendData](data) { |
+ dart.as(data, T); |
this[_subscription][_add](data); |
} |
[_sendError](error, stackTrace) { |
@@ -2986,6 +3091,7 @@ var async; |
let _AsyncStreamControllerDispatch$ = dart.generic(function(T) { |
class _AsyncStreamControllerDispatch extends core.Object { |
[_sendData](data) { |
+ dart.as(data, T); |
this[_subscription][_addPending](new _DelayedData(data)); |
} |
[_sendError](error, stackTrace) { |
@@ -3064,6 +3170,7 @@ var async; |
this[_target] = target; |
} |
add(data) { |
+ dart.as(data, T); |
this[_target].add(data); |
} |
addError(error, stackTrace) { |
@@ -3075,6 +3182,7 @@ var async; |
return this[_target].close(); |
} |
addStream(source, opts) { |
+ dart.as(source, Stream$(T)); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; |
return this[_target].addStream(source, {cancelOnError: cancelOnError}); |
} |
@@ -3153,6 +3261,8 @@ var async; |
this[_isUsed] = false; |
} |
[_createSubscription](onData, onError, onDone, cancelOnError) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
if (this[_isUsed]) |
throw new core.StateError("Stream has already been listened to."); |
this[_isUsed] = true; |
@@ -3271,6 +3381,7 @@ var async; |
super._DelayedEvent(); |
} |
perform(dispatch) { |
+ dart.as(dispatch, _EventDispatch$(T)); |
dispatch[_sendData](this.value); |
} |
} |
@@ -3379,9 +3490,12 @@ var async; |
this[_zone].scheduleMicrotask(this[_sendDone].bind(this)); |
this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubscription._SCHEDULED); |
} |
- onData(handleData) {} |
+ onData(handleData) { |
+ dart.as(handleData, dart.functionType(dart.void, [T])); |
+ } |
onError(handleError) {} |
onDone(handleDone) { |
+ dart.as(handleDone, dart.functionType(dart.void, [])); |
this[_onDone] = handleDone; |
} |
pause(resumeSignal) { |
@@ -3450,8 +3564,10 @@ var async; |
return true; |
} |
listen(onData, opts) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; |
if (dart.notNull(this[_controller] == null) || dart.notNull(this[_controller].isClosed)) { |
return new (_DoneStreamSubscription$(T))(onDone); |
@@ -3512,12 +3628,15 @@ var async; |
this[_stream] = stream; |
} |
onData(handleData) { |
+ dart.as(handleData, dart.functionType(dart.void, [T])); |
throw new core.UnsupportedError("Cannot change handlers of asBroadcastStream source subscription."); |
} |
onError(handleError) { |
+ dart.as(handleError, dart.functionType(dart.void, [core.Object])); |
throw new core.UnsupportedError("Cannot change handlers of asBroadcastStream source subscription."); |
} |
onDone(handleDone) { |
+ dart.as(handleDone, dart.functionType(dart.void, [])); |
throw new core.UnsupportedError("Cannot change handlers of asBroadcastStream source subscription."); |
} |
pause(resumeSignal) { |
@@ -3615,6 +3734,7 @@ var async; |
return subscription.cancel(); |
} |
[_onData](data) { |
+ dart.as(data, T); |
if (this[_state] == _StreamIteratorImpl._STATE_MOVING) { |
this[_current] = data; |
let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); |
@@ -3732,23 +3852,31 @@ var async; |
return this[_source].isBroadcast; |
} |
listen(onData, opts) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; |
cancelOnError = core.identical(true, cancelOnError); |
return this[_createSubscription](onData, onError, onDone, cancelOnError); |
} |
[_createSubscription](onData, onError, onDone, cancelOnError) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
return new (_ForwardingStreamSubscription$(S, T))(this, onData, onError, onDone, cancelOnError); |
} |
[_handleData](data, sink) { |
+ dart.as(data, S); |
+ dart.as(sink, _EventSink$(T)); |
let outputData = data; |
sink[_add](outputData); |
} |
[_handleError](error, stackTrace, sink) { |
+ dart.as(sink, _EventSink$(T)); |
sink[_addError](error, stackTrace); |
} |
[_handleDone](sink) { |
+ dart.as(sink, _EventSink$(T)); |
sink[_close](); |
} |
} |
@@ -3764,6 +3892,7 @@ var async; |
this[_subscription] = this[_stream][_source].listen(this[_handleData].bind(this), {onError: this[_handleError].bind(this), onDone: this[_handleDone].bind(this)}); |
} |
[_add](data) { |
+ dart.as(data, T); |
if (this[_isClosed]) |
return; |
super[_add](data); |
@@ -3792,6 +3921,7 @@ var async; |
return null; |
} |
[_handleData](data) { |
+ dart.as(data, S); |
this[_stream][_handleData](data, this); |
} |
[_handleError](error, stackTrace) { |
@@ -3826,6 +3956,8 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, T); |
+ dart.as(sink, _EventSink$(T)); |
let satisfies = null; |
try { |
satisfies = this[_test](inputEvent); |
@@ -3856,6 +3988,8 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, S); |
+ dart.as(sink, _EventSink$(T)); |
let outputEvent = null; |
try { |
outputEvent = dart.as(dart.dcall(this[_transform], inputEvent), T); |
@@ -3879,6 +4013,8 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, S); |
+ dart.as(sink, _EventSink$(T)); |
try { |
for (let value of this[_expand](inputEvent)) { |
sink[_add](value); |
@@ -3902,6 +4038,7 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleError](error, stackTrace, sink) { |
+ dart.as(sink, _EventSink$(T)); |
let matches = true; |
if (this[_test] != null) { |
try { |
@@ -3944,6 +4081,8 @@ var async; |
throw new core.ArgumentError(count); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, T); |
+ dart.as(sink, _EventSink$(T)); |
if (dart.notNull(this[_remaining]) > 0) { |
sink[_add](inputEvent); |
this[_remaining] = dart.notNull(this[_remaining]) - 1; |
@@ -3963,6 +4102,8 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, T); |
+ dart.as(sink, _EventSink$(T)); |
let satisfies = null; |
try { |
satisfies = this[_test](inputEvent); |
@@ -3992,6 +4133,8 @@ var async; |
throw new core.ArgumentError(count); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, T); |
+ dart.as(sink, _EventSink$(T)); |
if (dart.notNull(this[_remaining]) > 0) { |
this[_remaining] = dart.notNull(this[_remaining]) - 1; |
return; |
@@ -4011,6 +4154,8 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, T); |
+ dart.as(sink, _EventSink$(T)); |
if (this[_hasFailed]) { |
sink[_add](inputEvent); |
return; |
@@ -4048,6 +4193,8 @@ var async; |
super._ForwardingStream(source); |
} |
[_handleData](inputEvent, sink) { |
+ dart.as(inputEvent, T); |
+ dart.as(sink, _EventSink$(T)); |
if (core.identical(this[_previous], _DistinctStream._SENTINEL)) { |
this[_previous] = inputEvent; |
return sink[_add](inputEvent); |
@@ -4087,6 +4234,7 @@ var async; |
this[_sink] = sink; |
} |
add(data) { |
+ dart.as(data, T); |
this[_sink][_add](data); |
} |
addError(error, stackTrace) { |
@@ -4118,6 +4266,7 @@ var async; |
return this[_subscription] != null; |
} |
[_add](data) { |
+ dart.as(data, T); |
if (this[_isClosed]) { |
throw new core.StateError("Stream is already closed"); |
} |
@@ -4152,6 +4301,7 @@ var async; |
return null; |
} |
[_handleData](data) { |
+ dart.as(data, S); |
try { |
this[_transformerSink].add(data); |
} catch (e) { |
@@ -4201,6 +4351,7 @@ var async; |
this[_sinkMapper] = sinkMapper; |
} |
bind(stream) { |
+ dart.as(stream, Stream$(S)); |
return new (_BoundSinkStream$(S, T))(stream, this[_sinkMapper]); |
} |
} |
@@ -4219,8 +4370,10 @@ var async; |
super.Stream(); |
} |
listen(onData, opts) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
+ 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(this[_stream], dart.as(this[_sinkMapper], _SinkMapper), onData, onError, onDone, cancelOnError); |
@@ -4254,6 +4407,7 @@ var async; |
this[_sink] = sink; |
} |
add(data) { |
+ dart.as(data, S); |
return this[_handleData](data, this[_sink]); |
} |
addError(error, stackTrace) { |
@@ -4276,6 +4430,7 @@ var async; |
let handleError = opts && 'handleError' in opts ? opts.handleError : null; |
let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null; |
super._StreamSinkTransformer(dart.as(outputSink => { |
+ dart.as(outputSink, EventSink$(T)); |
if (handleData == null) |
handleData = dart.as(_StreamHandlerTransformer._defaultHandleData, __CastType29); |
if (handleError == null) |
@@ -4286,6 +4441,7 @@ var async; |
}, _SinkMapper$(S, T))); |
} |
bind(stream) { |
+ dart.as(stream, Stream$(S)); |
return super.bind(stream); |
} |
static _defaultHandleData(data, sink) { |
@@ -4313,6 +4469,7 @@ var async; |
this[_transformer] = transformer; |
} |
bind(stream) { |
+ dart.as(stream, Stream$(S)); |
return new (_BoundSubscriptionStream$(S, T))(stream, this[_transformer]); |
} |
} |
@@ -4328,8 +4485,10 @@ var async; |
super.Stream(); |
} |
listen(onData, opts) { |
+ dart.as(onData, dart.functionType(dart.void, [T])); |
let onError = opts && 'onError' in opts ? opts.onError : null; |
let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
+ dart.as(onDone, dart.functionType(dart.void, [])); |
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; |
cancelOnError = core.identical(true, cancelOnError); |
let result = this[_transformer](this[_stream], cancelOnError); |