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

Side by Side Diff: lib/runtime/dart/async.js

Issue 1117793002: add checks needed for covariant generics, and List<E> (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 7 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 unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/_js_helper.js ('k') | lib/runtime/dart/collection.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var async; 1 var async;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 // Function _invokeErrorHandler: (Function, Object, StackTrace) → dynamic 4 // Function _invokeErrorHandler: (Function, Object, StackTrace) → dynamic
5 function _invokeErrorHandler(errorHandler, error, stackTrace) { 5 function _invokeErrorHandler(errorHandler, error, stackTrace) {
6 if (dart.is(errorHandler, ZoneBinaryCallback)) { 6 if (dart.is(errorHandler, ZoneBinaryCallback)) {
7 return dart.dcall(errorHandler, error, stackTrace); 7 return dart.dcall(errorHandler, error, stackTrace);
8 } else { 8 } else {
9 return dart.dcall(errorHandler, error); 9 return dart.dcall(errorHandler, error);
10 } 10 }
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 return controller.stream; 134 return controller.stream;
135 } 135 }
136 eventTransformed(source, mapSink) { 136 eventTransformed(source, mapSink) {
137 return new (_BoundSinkStream$(dart.dynamic, T))(source, dart.as(mapSink, _SinkMapper)); 137 return new (_BoundSinkStream$(dart.dynamic, T))(source, dart.as(mapSink, _SinkMapper));
138 } 138 }
139 get isBroadcast() { 139 get isBroadcast() {
140 return false; 140 return false;
141 } 141 }
142 asBroadcastStream(opts) { 142 asBroadcastStream(opts) {
143 let onListen = opts && 'onListen' in opts ? opts.onListen : null; 143 let onListen = opts && 'onListen' in opts ? opts.onListen : null;
144 dart.as(onListen, dart.functionType(dart.void, [StreamSubscription$(T)]) );
144 let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null; 145 let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
146 dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription$(T)]) );
145 return new (_AsBroadcastStream$(T))(this, dart.as(onListen, __CastType14 ), dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription]))); 147 return new (_AsBroadcastStream$(T))(this, dart.as(onListen, __CastType14 ), dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription])));
146 } 148 }
147 where(test) { 149 where(test) {
150 dart.as(test, dart.functionType(core.bool, [T]));
148 return new (_WhereStream$(T))(this, test); 151 return new (_WhereStream$(T))(this, test);
149 } 152 }
150 map(convert) { 153 map(convert) {
154 dart.as(convert, dart.functionType(dart.dynamic, [T]));
151 return new (_MapStream$(T, dart.dynamic))(this, convert); 155 return new (_MapStream$(T, dart.dynamic))(this, convert);
152 } 156 }
153 asyncMap(convert) { 157 asyncMap(convert) {
158 dart.as(convert, dart.functionType(dart.dynamic, [T]));
154 let controller = null; 159 let controller = null;
155 let subscription = null; 160 let subscription = null;
156 // Function onListen: () → void 161 // Function onListen: () → void
157 function onListen() { 162 function onListen() {
158 let add = controller.add.bind(controller); 163 let add = controller.add.bind(controller);
159 dart.assert(dart.is(controller, _StreamController) || dart.is(controll er, _BroadcastStreamController)); 164 dart.assert(dart.is(controller, _StreamController) || dart.is(controll er, _BroadcastStreamController));
160 let eventSink = controller; 165 let eventSink = controller;
161 let addError = eventSink[_addError]; 166 let addError = eventSink[_addError];
162 subscription = this.listen(event => { 167 subscription = this.listen(event => {
168 dart.as(event, T);
163 let newValue = null; 169 let newValue = null;
164 try { 170 try {
165 newValue = convert(event); 171 newValue = convert(event);
166 } catch (e) { 172 } catch (e) {
167 let s = dart.stackTrace(e); 173 let s = dart.stackTrace(e);
168 controller.addError(e, s); 174 controller.addError(e, s);
169 return; 175 return;
170 } 176 }
171 177
172 if (dart.is(newValue, Future)) { 178 if (dart.is(newValue, Future)) {
(...skipping 23 matching lines...) Expand all
196 }, 202 },
197 onCancel: () => { 203 onCancel: () => {
198 subscription.cancel(); 204 subscription.cancel();
199 }, 205 },
200 sync: true 206 sync: true
201 }); 207 });
202 } 208 }
203 return controller.stream; 209 return controller.stream;
204 } 210 }
205 asyncExpand(convert) { 211 asyncExpand(convert) {
212 dart.as(convert, dart.functionType(Stream, [T]));
206 let controller = null; 213 let controller = null;
207 let subscription = null; 214 let subscription = null;
208 // Function onListen: () → void 215 // Function onListen: () → void
209 function onListen() { 216 function onListen() {
210 dart.assert(dart.is(controller, _StreamController) || dart.is(controll er, _BroadcastStreamController)); 217 dart.assert(dart.is(controller, _StreamController) || dart.is(controll er, _BroadcastStreamController));
211 let eventSink = controller; 218 let eventSink = controller;
212 subscription = this.listen(event => { 219 subscription = this.listen(event => {
220 dart.as(event, T);
213 let newStream = null; 221 let newStream = null;
214 try { 222 try {
215 newStream = convert(event); 223 newStream = convert(event);
216 } catch (e) { 224 } catch (e) {
217 let s = dart.stackTrace(e); 225 let s = dart.stackTrace(e);
218 controller.addError(e, s); 226 controller.addError(e, s);
219 return; 227 return;
220 } 228 }
221 229
222 if (newStream != null) { 230 if (newStream != null) {
(...skipping 22 matching lines...) Expand all
245 onCancel: () => { 253 onCancel: () => {
246 subscription.cancel(); 254 subscription.cancel();
247 }, 255 },
248 sync: true 256 sync: true
249 }); 257 });
250 } 258 }
251 return controller.stream; 259 return controller.stream;
252 } 260 }
253 handleError(onError, opts) { 261 handleError(onError, opts) {
254 let test = opts && 'test' in opts ? opts.test : null; 262 let test = opts && 'test' in opts ? opts.test : null;
263 dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
255 return new (_HandleErrorStream$(T))(this, onError, test); 264 return new (_HandleErrorStream$(T))(this, onError, test);
256 } 265 }
257 expand(convert) { 266 expand(convert) {
267 dart.as(convert, dart.functionType(core.Iterable, [T]));
258 return new (_ExpandStream$(T, dart.dynamic))(this, convert); 268 return new (_ExpandStream$(T, dart.dynamic))(this, convert);
259 } 269 }
260 pipe(streamConsumer) { 270 pipe(streamConsumer) {
271 dart.as(streamConsumer, StreamConsumer$(T));
261 return streamConsumer.addStream(this).then(_ => streamConsumer.close()); 272 return streamConsumer.addStream(this).then(_ => streamConsumer.close());
262 } 273 }
263 transform(streamTransformer) { 274 transform(streamTransformer) {
275 dart.as(streamTransformer, StreamTransformer$(T, dart.dynamic));
264 return streamTransformer.bind(this); 276 return streamTransformer.bind(this);
265 } 277 }
266 reduce(combine) { 278 reduce(combine) {
279 dart.as(combine, dart.functionType(T, [T, T]));
267 let result = new (_Future$(T))(); 280 let result = new (_Future$(T))();
268 let seenFirst = false; 281 let seenFirst = false;
269 let value = null; 282 let value = null;
270 let subscription = null; 283 let subscription = null;
271 subscription = this.listen(element => { 284 subscription = this.listen(element => {
285 dart.as(element, T);
272 if (seenFirst) { 286 if (seenFirst) {
273 _runUserCode(() => combine(value, element), newValue => { 287 _runUserCode(() => combine(value, element), newValue => {
288 dart.as(newValue, T);
274 value = newValue; 289 value = newValue;
275 }, dart.as(_cancelAndErrorClosure(subscription, result), __CastType1 6)); 290 }, dart.as(_cancelAndErrorClosure(subscription, result), __CastType1 6));
276 } else { 291 } else {
277 value = element; 292 value = element;
278 seenFirst = true; 293 seenFirst = true;
279 } 294 }
280 }, { 295 }, {
281 onError: result[_completeError].bind(result), 296 onError: result[_completeError].bind(result),
282 onDone: () => { 297 onDone: () => {
283 if (!dart.notNull(seenFirst)) { 298 if (!dart.notNull(seenFirst)) {
284 try { 299 try {
285 throw _internal.IterableElementError.noElement(); 300 throw _internal.IterableElementError.noElement();
286 } catch (e) { 301 } catch (e) {
287 let s = dart.stackTrace(e); 302 let s = dart.stackTrace(e);
288 _completeWithErrorCallback(result, e, s); 303 _completeWithErrorCallback(result, e, s);
289 } 304 }
290 305
291 } else { 306 } else {
292 result[_complete](value); 307 result[_complete](value);
293 } 308 }
294 }, 309 },
295 cancelOnError: true 310 cancelOnError: true
296 }); 311 });
297 return result; 312 return result;
298 } 313 }
299 fold(initialValue, combine) { 314 fold(initialValue, combine) {
315 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, T]));
300 let result = new _Future(); 316 let result = new _Future();
301 let value = initialValue; 317 let value = initialValue;
302 let subscription = null; 318 let subscription = null;
303 subscription = this.listen(element => { 319 subscription = this.listen(element => {
320 dart.as(element, T);
304 _runUserCode(() => dart.dcall(combine, value, element), newValue => { 321 _runUserCode(() => dart.dcall(combine, value, element), newValue => {
305 value = newValue; 322 value = newValue;
306 }, dart.as(_cancelAndErrorClosure(subscription, result), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 323 }, dart.as(_cancelAndErrorClosure(subscription, result), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
307 }, { 324 }, {
308 onError: (e, st) => { 325 onError: (e, st) => {
309 result[_completeError](e, dart.as(st, core.StackTrace)); 326 result[_completeError](e, dart.as(st, core.StackTrace));
310 }, 327 },
311 onDone: () => { 328 onDone: () => {
312 result[_complete](value); 329 result[_complete](value);
313 }, 330 },
314 cancelOnError: true 331 cancelOnError: true
315 }); 332 });
316 return result; 333 return result;
317 } 334 }
318 join(separator) { 335 join(separator) {
319 if (separator === void 0) 336 if (separator === void 0)
320 separator = ""; 337 separator = "";
321 let result = new (_Future$(core.String))(); 338 let result = new (_Future$(core.String))();
322 let buffer = new core.StringBuffer(); 339 let buffer = new core.StringBuffer();
323 let subscription = null; 340 let subscription = null;
324 let first = true; 341 let first = true;
325 subscription = this.listen(element => { 342 subscription = this.listen(element => {
343 dart.as(element, T);
326 if (!dart.notNull(first)) { 344 if (!dart.notNull(first)) {
327 buffer.write(separator); 345 buffer.write(separator);
328 } 346 }
329 first = false; 347 first = false;
330 try { 348 try {
331 buffer.write(element); 349 buffer.write(element);
332 } catch (e) { 350 } catch (e) {
333 let s = dart.stackTrace(e); 351 let s = dart.stackTrace(e);
334 _cancelAndErrorWithReplacement(subscription, result, e, s); 352 _cancelAndErrorWithReplacement(subscription, result, e, s);
335 } 353 }
336 354
337 }, { 355 }, {
338 onError: e => { 356 onError: e => {
339 result[_completeError](e); 357 result[_completeError](e);
340 }, 358 },
341 onDone: () => { 359 onDone: () => {
342 result[_complete](dart.toString(buffer)); 360 result[_complete](dart.toString(buffer));
343 }, 361 },
344 cancelOnError: true 362 cancelOnError: true
345 }); 363 });
346 return result; 364 return result;
347 } 365 }
348 contains(needle) { 366 contains(needle) {
349 let future = new (_Future$(core.bool))(); 367 let future = new (_Future$(core.bool))();
350 let subscription = null; 368 let subscription = null;
351 subscription = this.listen(element => { 369 subscription = this.listen(element => {
370 dart.as(element, T);
352 _runUserCode(() => dart.equals(element, needle), isMatch => { 371 _runUserCode(() => dart.equals(element, needle), isMatch => {
353 if (isMatch) { 372 if (isMatch) {
354 _cancelAndValue(subscription, future, true); 373 _cancelAndValue(subscription, future, true);
355 } 374 }
356 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 375 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
357 }, { 376 }, {
358 onError: future[_completeError].bind(future), 377 onError: future[_completeError].bind(future),
359 onDone: () => { 378 onDone: () => {
360 future[_complete](false); 379 future[_complete](false);
361 }, 380 },
362 cancelOnError: true 381 cancelOnError: true
363 }); 382 });
364 return future; 383 return future;
365 } 384 }
366 forEach(action) { 385 forEach(action) {
386 dart.as(action, dart.functionType(dart.void, [T]));
367 let future = new _Future(); 387 let future = new _Future();
368 let subscription = null; 388 let subscription = null;
369 subscription = this.listen(element => { 389 subscription = this.listen(element => {
390 dart.as(element, T);
370 _runUserCode(() => action(element), _ => { 391 _runUserCode(() => action(element), _ => {
371 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 392 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
372 }, { 393 }, {
373 onError: future[_completeError].bind(future), 394 onError: future[_completeError].bind(future),
374 onDone: () => { 395 onDone: () => {
375 future[_complete](null); 396 future[_complete](null);
376 }, 397 },
377 cancelOnError: true 398 cancelOnError: true
378 }); 399 });
379 return future; 400 return future;
380 } 401 }
381 every(test) { 402 every(test) {
403 dart.as(test, dart.functionType(core.bool, [T]));
382 let future = new (_Future$(core.bool))(); 404 let future = new (_Future$(core.bool))();
383 let subscription = null; 405 let subscription = null;
384 subscription = this.listen(element => { 406 subscription = this.listen(element => {
407 dart.as(element, T);
385 _runUserCode(() => test(element), isMatch => { 408 _runUserCode(() => test(element), isMatch => {
386 if (!dart.notNull(isMatch)) { 409 if (!dart.notNull(isMatch)) {
387 _cancelAndValue(subscription, future, false); 410 _cancelAndValue(subscription, future, false);
388 } 411 }
389 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 412 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
390 }, { 413 }, {
391 onError: future[_completeError].bind(future), 414 onError: future[_completeError].bind(future),
392 onDone: () => { 415 onDone: () => {
393 future[_complete](true); 416 future[_complete](true);
394 }, 417 },
395 cancelOnError: true 418 cancelOnError: true
396 }); 419 });
397 return future; 420 return future;
398 } 421 }
399 any(test) { 422 any(test) {
423 dart.as(test, dart.functionType(core.bool, [T]));
400 let future = new (_Future$(core.bool))(); 424 let future = new (_Future$(core.bool))();
401 let subscription = null; 425 let subscription = null;
402 subscription = this.listen(element => { 426 subscription = this.listen(element => {
427 dart.as(element, T);
403 _runUserCode(() => test(element), isMatch => { 428 _runUserCode(() => test(element), isMatch => {
404 if (isMatch) { 429 if (isMatch) {
405 _cancelAndValue(subscription, future, true); 430 _cancelAndValue(subscription, future, true);
406 } 431 }
407 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 432 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
408 }, { 433 }, {
409 onError: future[_completeError].bind(future), 434 onError: future[_completeError].bind(future),
410 onDone: () => { 435 onDone: () => {
411 future[_complete](false); 436 future[_complete](false);
412 }, 437 },
(...skipping 26 matching lines...) Expand all
439 future[_complete](true); 464 future[_complete](true);
440 }, 465 },
441 cancelOnError: true 466 cancelOnError: true
442 }); 467 });
443 return future; 468 return future;
444 } 469 }
445 toList() { 470 toList() {
446 let result = dart.setType([], core.List$(T)); 471 let result = dart.setType([], core.List$(T));
447 let future = new (_Future$(core.List$(T)))(); 472 let future = new (_Future$(core.List$(T)))();
448 this.listen(data => { 473 this.listen(data => {
474 dart.as(data, T);
449 result[core.$add](data); 475 result[core.$add](data);
450 }, { 476 }, {
451 onError: future[_completeError].bind(future), 477 onError: future[_completeError].bind(future),
452 onDone: () => { 478 onDone: () => {
453 future[_complete](result); 479 future[_complete](result);
454 }, 480 },
455 cancelOnError: true 481 cancelOnError: true
456 }); 482 });
457 return future; 483 return future;
458 } 484 }
459 toSet() { 485 toSet() {
460 let result = new (core.Set$(T))(); 486 let result = new (core.Set$(T))();
461 let future = new (_Future$(core.Set$(T)))(); 487 let future = new (_Future$(core.Set$(T)))();
462 this.listen(data => { 488 this.listen(data => {
489 dart.as(data, T);
463 result.add(data); 490 result.add(data);
464 }, { 491 }, {
465 onError: future[_completeError].bind(future), 492 onError: future[_completeError].bind(future),
466 onDone: () => { 493 onDone: () => {
467 future[_complete](result); 494 future[_complete](result);
468 }, 495 },
469 cancelOnError: true 496 cancelOnError: true
470 }); 497 });
471 return future; 498 return future;
472 } 499 }
473 drain(futureValue) { 500 drain(futureValue) {
474 if (futureValue === void 0) 501 if (futureValue === void 0)
475 futureValue = null; 502 futureValue = null;
476 return this.listen(null, {cancelOnError: true}).asFuture(futureValue); 503 return this.listen(null, {cancelOnError: true}).asFuture(futureValue);
477 } 504 }
478 take(count) { 505 take(count) {
479 return new (_TakeStream$(T))(this, count); 506 return new (_TakeStream$(T))(this, count);
480 } 507 }
481 takeWhile(test) { 508 takeWhile(test) {
509 dart.as(test, dart.functionType(core.bool, [T]));
482 return new (_TakeWhileStream$(T))(this, test); 510 return new (_TakeWhileStream$(T))(this, test);
483 } 511 }
484 skip(count) { 512 skip(count) {
485 return new (_SkipStream$(T))(this, count); 513 return new (_SkipStream$(T))(this, count);
486 } 514 }
487 skipWhile(test) { 515 skipWhile(test) {
516 dart.as(test, dart.functionType(core.bool, [T]));
488 return new (_SkipWhileStream$(T))(this, test); 517 return new (_SkipWhileStream$(T))(this, test);
489 } 518 }
490 distinct(equals) { 519 distinct(equals) {
491 if (equals === void 0) 520 if (equals === void 0)
492 equals = null; 521 equals = null;
522 dart.as(equals, dart.functionType(core.bool, [T, T]));
493 return new (_DistinctStream$(T))(this, equals); 523 return new (_DistinctStream$(T))(this, equals);
494 } 524 }
495 get first() { 525 get first() {
496 let future = new (_Future$(T))(); 526 let future = new (_Future$(T))();
497 let subscription = null; 527 let subscription = null;
498 subscription = this.listen(value => { 528 subscription = this.listen(value => {
529 dart.as(value, T);
499 _cancelAndValue(subscription, future, value); 530 _cancelAndValue(subscription, future, value);
500 }, { 531 }, {
501 onError: future[_completeError].bind(future), 532 onError: future[_completeError].bind(future),
502 onDone: () => { 533 onDone: () => {
503 try { 534 try {
504 throw _internal.IterableElementError.noElement(); 535 throw _internal.IterableElementError.noElement();
505 } catch (e) { 536 } catch (e) {
506 let s = dart.stackTrace(e); 537 let s = dart.stackTrace(e);
507 _completeWithErrorCallback(future, e, s); 538 _completeWithErrorCallback(future, e, s);
508 } 539 }
509 540
510 }, 541 },
511 cancelOnError: true 542 cancelOnError: true
512 }); 543 });
513 return future; 544 return future;
514 } 545 }
515 get last() { 546 get last() {
516 let future = new (_Future$(T))(); 547 let future = new (_Future$(T))();
517 let result = null; 548 let result = null;
518 let foundResult = false; 549 let foundResult = false;
519 let subscription = null; 550 let subscription = null;
520 subscription = this.listen(value => { 551 subscription = this.listen(value => {
552 dart.as(value, T);
521 foundResult = true; 553 foundResult = true;
522 result = value; 554 result = value;
523 }, { 555 }, {
524 onError: future[_completeError].bind(future), 556 onError: future[_completeError].bind(future),
525 onDone: () => { 557 onDone: () => {
526 if (foundResult) { 558 if (foundResult) {
527 future[_complete](result); 559 future[_complete](result);
528 return; 560 return;
529 } 561 }
530 try { 562 try {
531 throw _internal.IterableElementError.noElement(); 563 throw _internal.IterableElementError.noElement();
532 } catch (e) { 564 } catch (e) {
533 let s = dart.stackTrace(e); 565 let s = dart.stackTrace(e);
534 _completeWithErrorCallback(future, e, s); 566 _completeWithErrorCallback(future, e, s);
535 } 567 }
536 568
537 }, 569 },
538 cancelOnError: true 570 cancelOnError: true
539 }); 571 });
540 return future; 572 return future;
541 } 573 }
542 get single() { 574 get single() {
543 let future = new (_Future$(T))(); 575 let future = new (_Future$(T))();
544 let result = null; 576 let result = null;
545 let foundResult = false; 577 let foundResult = false;
546 let subscription = null; 578 let subscription = null;
547 subscription = this.listen(value => { 579 subscription = this.listen(value => {
580 dart.as(value, T);
548 if (foundResult) { 581 if (foundResult) {
549 try { 582 try {
550 throw _internal.IterableElementError.tooMany(); 583 throw _internal.IterableElementError.tooMany();
551 } catch (e) { 584 } catch (e) {
552 let s = dart.stackTrace(e); 585 let s = dart.stackTrace(e);
553 _cancelAndErrorWithReplacement(subscription, future, e, s); 586 _cancelAndErrorWithReplacement(subscription, future, e, s);
554 } 587 }
555 588
556 return; 589 return;
557 } 590 }
(...skipping 12 matching lines...) Expand all
570 let s = dart.stackTrace(e); 603 let s = dart.stackTrace(e);
571 _completeWithErrorCallback(future, e, s); 604 _completeWithErrorCallback(future, e, s);
572 } 605 }
573 606
574 }, 607 },
575 cancelOnError: true 608 cancelOnError: true
576 }); 609 });
577 return future; 610 return future;
578 } 611 }
579 firstWhere(test, opts) { 612 firstWhere(test, opts) {
613 dart.as(test, dart.functionType(core.bool, [T]));
580 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : null; 614 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : null;
615 dart.as(defaultValue, dart.functionType(core.Object, []));
581 let future = new _Future(); 616 let future = new _Future();
582 let subscription = null; 617 let subscription = null;
583 subscription = this.listen(value => { 618 subscription = this.listen(value => {
619 dart.as(value, T);
584 _runUserCode(() => test(value), isMatch => { 620 _runUserCode(() => test(value), isMatch => {
585 if (isMatch) { 621 if (isMatch) {
586 _cancelAndValue(subscription, future, value); 622 _cancelAndValue(subscription, future, value);
587 } 623 }
588 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 624 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
589 }, { 625 }, {
590 onError: future[_completeError].bind(future), 626 onError: future[_completeError].bind(future),
591 onDone: () => { 627 onDone: () => {
592 if (defaultValue != null) { 628 if (defaultValue != null) {
593 _runUserCode(defaultValue, future[_complete].bind(future), future[ _completeError].bind(future)); 629 _runUserCode(defaultValue, future[_complete].bind(future), future[ _completeError].bind(future));
594 return; 630 return;
595 } 631 }
596 try { 632 try {
597 throw _internal.IterableElementError.noElement(); 633 throw _internal.IterableElementError.noElement();
598 } catch (e) { 634 } catch (e) {
599 let s = dart.stackTrace(e); 635 let s = dart.stackTrace(e);
600 _completeWithErrorCallback(future, e, s); 636 _completeWithErrorCallback(future, e, s);
601 } 637 }
602 638
603 }, 639 },
604 cancelOnError: true 640 cancelOnError: true
605 }); 641 });
606 return future; 642 return future;
607 } 643 }
608 lastWhere(test, opts) { 644 lastWhere(test, opts) {
645 dart.as(test, dart.functionType(core.bool, [T]));
609 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : null; 646 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : null;
647 dart.as(defaultValue, dart.functionType(core.Object, []));
610 let future = new _Future(); 648 let future = new _Future();
611 let result = null; 649 let result = null;
612 let foundResult = false; 650 let foundResult = false;
613 let subscription = null; 651 let subscription = null;
614 subscription = this.listen(value => { 652 subscription = this.listen(value => {
653 dart.as(value, T);
615 _runUserCode(() => true == test(value), isMatch => { 654 _runUserCode(() => true == test(value), isMatch => {
616 if (isMatch) { 655 if (isMatch) {
617 foundResult = true; 656 foundResult = true;
618 result = value; 657 result = value;
619 } 658 }
620 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace]))); 659 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.function Type(dart.dynamic, [dart.dynamic, core.StackTrace])));
621 }, { 660 }, {
622 onError: future[_completeError].bind(future), 661 onError: future[_completeError].bind(future),
623 onDone: () => { 662 onDone: () => {
624 if (foundResult) { 663 if (foundResult) {
(...skipping 10 matching lines...) Expand all
635 let s = dart.stackTrace(e); 674 let s = dart.stackTrace(e);
636 _completeWithErrorCallback(future, e, s); 675 _completeWithErrorCallback(future, e, s);
637 } 676 }
638 677
639 }, 678 },
640 cancelOnError: true 679 cancelOnError: true
641 }); 680 });
642 return future; 681 return future;
643 } 682 }
644 singleWhere(test) { 683 singleWhere(test) {
684 dart.as(test, dart.functionType(core.bool, [T]));
645 let future = new (_Future$(T))(); 685 let future = new (_Future$(T))();
646 let result = null; 686 let result = null;
647 let foundResult = false; 687 let foundResult = false;
648 let subscription = null; 688 let subscription = null;
649 subscription = this.listen(value => { 689 subscription = this.listen(value => {
690 dart.as(value, T);
650 _runUserCode(() => true == test(value), isMatch => { 691 _runUserCode(() => true == test(value), isMatch => {
651 if (isMatch) { 692 if (isMatch) {
652 if (foundResult) { 693 if (foundResult) {
653 try { 694 try {
654 throw _internal.IterableElementError.tooMany(); 695 throw _internal.IterableElementError.tooMany();
655 } catch (e) { 696 } catch (e) {
656 let s = dart.stackTrace(e); 697 let s = dart.stackTrace(e);
657 _cancelAndErrorWithReplacement(subscription, future, e, s); 698 _cancelAndErrorWithReplacement(subscription, future, e, s);
658 } 699 }
659 700
(...skipping 22 matching lines...) Expand all
682 }); 723 });
683 return future; 724 return future;
684 } 725 }
685 elementAt(index) { 726 elementAt(index) {
686 if (!(typeof index == 'number') || dart.notNull(index) < 0) 727 if (!(typeof index == 'number') || dart.notNull(index) < 0)
687 throw new core.ArgumentError(index); 728 throw new core.ArgumentError(index);
688 let future = new (_Future$(T))(); 729 let future = new (_Future$(T))();
689 let subscription = null; 730 let subscription = null;
690 let elementIndex = 0; 731 let elementIndex = 0;
691 subscription = this.listen(value => { 732 subscription = this.listen(value => {
733 dart.as(value, T);
692 if (index == elementIndex) { 734 if (index == elementIndex) {
693 _cancelAndValue(subscription, future, value); 735 _cancelAndValue(subscription, future, value);
694 return; 736 return;
695 } 737 }
696 elementIndex = dart.notNull(elementIndex) + 1; 738 elementIndex = dart.notNull(elementIndex) + 1;
697 }, { 739 }, {
698 onError: future[_completeError].bind(future), 740 onError: future[_completeError].bind(future),
699 onDone: (() => { 741 onDone: (() => {
700 future[_completeError](new core.RangeError.index(index, this, "index ", null, elementIndex)); 742 future[_completeError](new core.RangeError.index(index, this, "index ", null, elementIndex));
701 }).bind(this), 743 }).bind(this),
702 cancelOnError: true 744 cancelOnError: true
703 }); 745 });
704 return future; 746 return future;
705 } 747 }
706 timeout(timeLimit, opts) { 748 timeout(timeLimit, opts) {
707 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; 749 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null;
750 dart.as(onTimeout, dart.functionType(dart.void, [EventSink]));
708 let controller = null; 751 let controller = null;
709 let subscription = null; 752 let subscription = null;
710 let timer = null; 753 let timer = null;
711 let zone = null; 754 let zone = null;
712 let timeout = null; 755 let timeout = null;
713 // Function onData: (T) → void 756 // Function onData: (T) → void
714 function onData(event) { 757 function onData(event) {
758 dart.as(event, T);
715 timer.cancel(); 759 timer.cancel();
716 controller.add(event); 760 controller.add(event);
717 timer = zone.createTimer(timeLimit, dart.as(timeout, __CastType19)); 761 timer = zone.createTimer(timeLimit, dart.as(timeout, __CastType19));
718 } 762 }
719 // Function onError: (dynamic, StackTrace) → void 763 // Function onError: (dynamic, StackTrace) → void
720 function onError(error, stackTrace) { 764 function onError(error, stackTrace) {
721 timer.cancel(); 765 timer.cancel();
722 dart.assert(dart.is(controller, _StreamController) || dart.is(controll er, _BroadcastStreamController)); 766 dart.assert(dart.is(controller, _StreamController) || dart.is(controll er, _BroadcastStreamController));
723 let eventSink = controller; 767 let eventSink = controller;
724 dart.dcall(eventSink[_addError], error, stackTrace); 768 dart.dcall(eventSink[_addError], error, stackTrace);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 dart.defineNamedConstructor(Stream, 'fromFuture'); 812 dart.defineNamedConstructor(Stream, 'fromFuture');
769 dart.defineNamedConstructor(Stream, 'fromIterable'); 813 dart.defineNamedConstructor(Stream, 'fromIterable');
770 dart.defineNamedConstructor(Stream, 'periodic'); 814 dart.defineNamedConstructor(Stream, 'periodic');
771 dart.defineNamedConstructor(Stream, 'eventTransformed'); 815 dart.defineNamedConstructor(Stream, 'eventTransformed');
772 return Stream; 816 return Stream;
773 }); 817 });
774 let Stream = Stream$(); 818 let Stream = Stream$();
775 let _StreamImpl$ = dart.generic(function(T) { 819 let _StreamImpl$ = dart.generic(function(T) {
776 class _StreamImpl extends Stream$(T) { 820 class _StreamImpl extends Stream$(T) {
777 listen(onData, opts) { 821 listen(onData, opts) {
822 dart.as(onData, dart.functionType(dart.void, [T]));
778 let onError = opts && 'onError' in opts ? opts.onError : null; 823 let onError = opts && 'onError' in opts ? opts.onError : null;
779 let onDone = opts && 'onDone' in opts ? opts.onDone : null; 824 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
825 dart.as(onDone, dart.functionType(dart.void, []));
780 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; 826 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
781 cancelOnError = core.identical(true, cancelOnError); 827 cancelOnError = core.identical(true, cancelOnError);
782 let subscription = this[_createSubscription](onData, onError, onDone, ca ncelOnError); 828 let subscription = this[_createSubscription](onData, onError, onDone, ca ncelOnError);
783 this[_onListen](subscription); 829 this[_onListen](subscription);
784 return dart.as(subscription, StreamSubscription$(T)); 830 return dart.as(subscription, StreamSubscription$(T));
785 } 831 }
786 [_createSubscription](onData, onError, onDone, cancelOnError) { 832 [_createSubscription](onData, onError, onDone, cancelOnError) {
833 dart.as(onData, dart.functionType(dart.void, [T]));
834 dart.as(onDone, dart.functionType(dart.void, []));
787 return new (_BufferingStreamSubscription$(T))(onData, onError, onDone, c ancelOnError); 835 return new (_BufferingStreamSubscription$(T))(onData, onError, onDone, c ancelOnError);
788 } 836 }
789 [_onListen](subscription) {} 837 [_onListen](subscription) {}
790 } 838 }
791 return _StreamImpl; 839 return _StreamImpl;
792 }); 840 });
793 let _StreamImpl = _StreamImpl$(); 841 let _StreamImpl = _StreamImpl$();
794 let _ControllerStream$ = dart.generic(function(T) { 842 let _ControllerStream$ = dart.generic(function(T) {
795 class _ControllerStream extends _StreamImpl$(T) { 843 class _ControllerStream extends _StreamImpl$(T) {
796 _ControllerStream(controller) { 844 _ControllerStream(controller) {
797 this[_controller] = controller; 845 this[_controller] = controller;
798 } 846 }
799 [_createSubscription](onData, onError, onDone, cancelOnError) { 847 [_createSubscription](onData, onError, onDone, cancelOnError) {
848 dart.as(onData, dart.functionType(dart.void, [T]));
849 dart.as(onDone, dart.functionType(dart.void, []));
800 return this[_controller][_subscribe](onData, onError, onDone, cancelOnEr ror); 850 return this[_controller][_subscribe](onData, onError, onDone, cancelOnEr ror);
801 } 851 }
802 get hashCode() { 852 get hashCode() {
803 return dart.notNull(dart.hashCode(this[_controller])) ^ 892482866; 853 return dart.notNull(dart.hashCode(this[_controller])) ^ 892482866;
804 } 854 }
805 ['=='](other) { 855 ['=='](other) {
806 if (core.identical(this, other)) 856 if (core.identical(this, other))
807 return true; 857 return true;
808 if (!dart.is(other, _ControllerStream)) 858 if (!dart.is(other, _ControllerStream))
809 return false; 859 return false;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 this[_pending].schedule(this); 949 this[_pending].schedule(this);
900 } 950 }
901 } 951 }
902 [_extractPending]() { 952 [_extractPending]() {
903 dart.assert(this[_isCanceled]); 953 dart.assert(this[_isCanceled]);
904 let events = this[_pending]; 954 let events = this[_pending];
905 this[_pending] = null; 955 this[_pending] = null;
906 return events; 956 return events;
907 } 957 }
908 onData(handleData) { 958 onData(handleData) {
959 dart.as(handleData, dart.functionType(dart.void, [T]));
909 if (handleData == null) 960 if (handleData == null)
910 handleData = dart.as(_nullDataHandler, __CastType22); 961 handleData = dart.as(_nullDataHandler, __CastType22);
911 this[_onData] = dart.as(this[_zone].registerUnaryCallback(handleData), _ DataHandler$(T)); 962 this[_onData] = dart.as(this[_zone].registerUnaryCallback(handleData), _ DataHandler$(T));
912 } 963 }
913 onError(handleError) { 964 onError(handleError) {
914 if (handleError == null) 965 if (handleError == null)
915 handleError = _nullErrorHandler; 966 handleError = _nullErrorHandler;
916 this[_onError] = _registerErrorHandler(handleError, this[_zone]); 967 this[_onError] = _registerErrorHandler(handleError, this[_zone]);
917 } 968 }
918 onDone(handleDone) { 969 onDone(handleDone) {
970 dart.as(handleDone, dart.functionType(dart.void, []));
919 if (handleDone == null) 971 if (handleDone == null)
920 handleDone = _nullDoneHandler; 972 handleDone = _nullDoneHandler;
921 this[_onDone] = this[_zone].registerCallback(handleDone); 973 this[_onDone] = this[_zone].registerCallback(handleDone);
922 } 974 }
923 pause(resumeSignal) { 975 pause(resumeSignal) {
924 if (resumeSignal === void 0) 976 if (resumeSignal === void 0)
925 resumeSignal = null; 977 resumeSignal = null;
926 if (this[_isCanceled]) 978 if (this[_isCanceled])
927 return; 979 return;
928 let wasPaused = this[_isPaused]; 980 let wasPaused = this[_isPaused];
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 this[_cancelFuture] = this[_onCancel](); 1067 this[_cancelFuture] = this[_onCancel]();
1016 } 1068 }
1017 [_incrementPauseCount]() { 1069 [_incrementPauseCount]() {
1018 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT) | dart.notNull(_BufferingStreamSubscription._S TATE_INPUT_PAUSED); 1070 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT) | dart.notNull(_BufferingStreamSubscription._S TATE_INPUT_PAUSED);
1019 } 1071 }
1020 [_decrementPauseCount]() { 1072 [_decrementPauseCount]() {
1021 dart.assert(this[_isPaused]); 1073 dart.assert(this[_isPaused]);
1022 this[_state] = dart.notNull(this[_state]) - dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT); 1074 this[_state] = dart.notNull(this[_state]) - dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT);
1023 } 1075 }
1024 [_add](data) { 1076 [_add](data) {
1077 dart.as(data, T);
1025 dart.assert(!dart.notNull(this[_isClosed])); 1078 dart.assert(!dart.notNull(this[_isClosed]));
1026 if (this[_isCanceled]) 1079 if (this[_isCanceled])
1027 return; 1080 return;
1028 if (this[_canFire]) { 1081 if (this[_canFire]) {
1029 this[_sendData](data); 1082 this[_sendData](data);
1030 } else { 1083 } else {
1031 this[_addPending](new _DelayedData(data)); 1084 this[_addPending](new _DelayedData(data));
1032 } 1085 }
1033 } 1086 }
1034 [_addError](error, stackTrace) { 1087 [_addError](error, stackTrace) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 pending = this[_pending] = new _StreamImplEvents(); 1120 pending = this[_pending] = new _StreamImplEvents();
1068 pending.add(event); 1121 pending.add(event);
1069 if (!dart.notNull(this[_hasPending])) { 1122 if (!dart.notNull(this[_hasPending])) {
1070 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_HAS_PENDING); 1123 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_HAS_PENDING);
1071 if (!dart.notNull(this[_isPaused])) { 1124 if (!dart.notNull(this[_isPaused])) {
1072 this[_pending].schedule(this); 1125 this[_pending].schedule(this);
1073 } 1126 }
1074 } 1127 }
1075 } 1128 }
1076 [_sendData](data) { 1129 [_sendData](data) {
1130 dart.as(data, T);
1077 dart.assert(!dart.notNull(this[_isCanceled])); 1131 dart.assert(!dart.notNull(this[_isCanceled]));
1078 dart.assert(!dart.notNull(this[_isPaused])); 1132 dart.assert(!dart.notNull(this[_isPaused]));
1079 dart.assert(!dart.notNull(this[_inCallback])); 1133 dart.assert(!dart.notNull(this[_inCallback]));
1080 let wasInputPaused = this[_isInputPaused]; 1134 let wasInputPaused = this[_isInputPaused];
1081 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_IN_CALLBACK); 1135 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_IN_CALLBACK);
1082 this[_zone].runUnaryGuarded(this[_onData], data); 1136 this[_zone].runUnaryGuarded(this[_onData], data);
1083 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription._STATE_IN_CALLBACK); 1137 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription._STATE_IN_CALLBACK);
1084 this[_checkState](wasInputPaused); 1138 this[_checkState](wasInputPaused);
1085 } 1139 }
1086 [_sendError](error, stackTrace) { 1140 [_sendError](error, stackTrace) {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1297 } 1351 }
1298 [_ensureDoneFuture]() { 1352 [_ensureDoneFuture]() {
1299 if (this[_doneFuture] != null) 1353 if (this[_doneFuture] != null)
1300 return this[_doneFuture]; 1354 return this[_doneFuture];
1301 return this[_doneFuture] = new _Future(); 1355 return this[_doneFuture] = new _Future();
1302 } 1356 }
1303 get [_isEmpty]() { 1357 get [_isEmpty]() {
1304 return core.identical(this[_next], this); 1358 return core.identical(this[_next], this);
1305 } 1359 }
1306 [_addListener](subscription) { 1360 [_addListener](subscription) {
1361 dart.as(subscription, _BroadcastSubscription$(T));
1307 dart.assert(core.identical(subscription[_next], subscription)); 1362 dart.assert(core.identical(subscription[_next], subscription));
1308 subscription[_previous] = this[_previous]; 1363 subscription[_previous] = this[_previous];
1309 subscription[_next] = this; 1364 subscription[_next] = this;
1310 this[_previous][_next] = subscription; 1365 this[_previous][_next] = subscription;
1311 this[_previous] = subscription; 1366 this[_previous] = subscription;
1312 subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_B roadcastStreamController._STATE_EVENT_ID); 1367 subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_B roadcastStreamController._STATE_EVENT_ID);
1313 } 1368 }
1314 [_removeListener](subscription) { 1369 [_removeListener](subscription) {
1370 dart.as(subscription, _BroadcastSubscription$(T));
1315 dart.assert(core.identical(subscription[_controller], this)); 1371 dart.assert(core.identical(subscription[_controller], this));
1316 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on))); 1372 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on)));
1317 let previous = subscription[_previous]; 1373 let previous = subscription[_previous];
1318 let next = subscription[_next]; 1374 let next = subscription[_next];
1319 previous[_next] = next; 1375 previous[_next] = next;
1320 next[_previous] = previous; 1376 next[_previous] = previous;
1321 subscription[_next] = subscription[_previous] = subscription; 1377 subscription[_next] = subscription[_previous] = subscription;
1322 } 1378 }
1323 [_subscribe](onData, onError, onDone, cancelOnError) { 1379 [_subscribe](onData, onError, onDone, cancelOnError) {
1380 dart.as(onData, dart.functionType(dart.void, [T]));
1381 dart.as(onDone, dart.functionType(dart.void, []));
1324 if (this.isClosed) { 1382 if (this.isClosed) {
1325 if (onDone == null) 1383 if (onDone == null)
1326 onDone = _nullDoneHandler; 1384 onDone = _nullDoneHandler;
1327 return new (_DoneStreamSubscription$(T))(onDone); 1385 return new (_DoneStreamSubscription$(T))(onDone);
1328 } 1386 }
1329 let subscription = new (_BroadcastSubscription$(T))(this, onData, onErro r, onDone, cancelOnError); 1387 let subscription = new (_BroadcastSubscription$(T))(this, onData, onErro r, onDone, cancelOnError);
1330 this[_addListener](dart.as(subscription, _BroadcastSubscription$(T))); 1388 this[_addListener](dart.as(subscription, _BroadcastSubscription$(T)));
1331 if (core.identical(this[_next], this[_previous])) { 1389 if (core.identical(this[_next], this[_previous])) {
1332 _runGuarded(this[_onListen]); 1390 _runGuarded(this[_onListen]);
1333 } 1391 }
1334 return dart.as(subscription, StreamSubscription$(T)); 1392 return dart.as(subscription, StreamSubscription$(T));
1335 } 1393 }
1336 [_recordCancel](subscription) { 1394 [_recordCancel](subscription) {
1395 dart.as(subscription, _BroadcastSubscription$(T));
1337 if (core.identical(subscription[_next], subscription)) 1396 if (core.identical(subscription[_next], subscription))
1338 return null; 1397 return null;
1339 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on))); 1398 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on)));
1340 if (subscription[_isFiring]) { 1399 if (subscription[_isFiring]) {
1341 subscription[_setRemoveAfterFiring](); 1400 subscription[_setRemoveAfterFiring]();
1342 } else { 1401 } else {
1343 dart.assert(!dart.notNull(core.identical(subscription[_next], subscrip tion))); 1402 dart.assert(!dart.notNull(core.identical(subscription[_next], subscrip tion)));
1344 this[_removeListener](subscription); 1403 this[_removeListener](subscription);
1345 if (!dart.notNull(this[_isFiring]) && dart.notNull(this[_isEmpty])) { 1404 if (!dart.notNull(this[_isFiring]) && dart.notNull(this[_isEmpty])) {
1346 this[_callOnCancel](); 1405 this[_callOnCancel]();
1347 } 1406 }
1348 } 1407 }
1349 return null; 1408 return null;
1350 } 1409 }
1351 [_recordPause](subscription) {} 1410 [_recordPause](subscription) {
1352 [_recordResume](subscription) {} 1411 dart.as(subscription, StreamSubscription$(T));
1412 }
1413 [_recordResume](subscription) {
1414 dart.as(subscription, StreamSubscription$(T));
1415 }
1353 [_addEventError]() { 1416 [_addEventError]() {
1354 if (this.isClosed) { 1417 if (this.isClosed) {
1355 return new core.StateError("Cannot add new events after calling close" ); 1418 return new core.StateError("Cannot add new events after calling close" );
1356 } 1419 }
1357 dart.assert(this[_isAddingStream]); 1420 dart.assert(this[_isAddingStream]);
1358 return new core.StateError("Cannot add new events while doing an addStre am"); 1421 return new core.StateError("Cannot add new events while doing an addStre am");
1359 } 1422 }
1360 add(data) { 1423 add(data) {
1424 dart.as(data, T);
1361 if (!dart.notNull(this[_mayAddEvent])) 1425 if (!dart.notNull(this[_mayAddEvent]))
1362 throw this[_addEventError](); 1426 throw this[_addEventError]();
1363 this[_sendData](data); 1427 this[_sendData](data);
1364 } 1428 }
1365 addError(error, stackTrace) { 1429 addError(error, stackTrace) {
1366 if (stackTrace === void 0) 1430 if (stackTrace === void 0)
1367 stackTrace = null; 1431 stackTrace = null;
1368 error = _nonNullError(error); 1432 error = _nonNullError(error);
1369 if (!dart.notNull(this[_mayAddEvent])) 1433 if (!dart.notNull(this[_mayAddEvent]))
1370 throw this[_addEventError](); 1434 throw this[_addEventError]();
(...skipping 13 matching lines...) Expand all
1384 throw this[_addEventError](); 1448 throw this[_addEventError]();
1385 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController._STATE_CLOSED); 1449 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController._STATE_CLOSED);
1386 let doneFuture = this[_ensureDoneFuture](); 1450 let doneFuture = this[_ensureDoneFuture]();
1387 this[_sendDone](); 1451 this[_sendDone]();
1388 return doneFuture; 1452 return doneFuture;
1389 } 1453 }
1390 get done() { 1454 get done() {
1391 return this[_ensureDoneFuture](); 1455 return this[_ensureDoneFuture]();
1392 } 1456 }
1393 addStream(stream, opts) { 1457 addStream(stream, opts) {
1458 dart.as(stream, Stream$(T));
1394 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 1459 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
1395 if (!dart.notNull(this[_mayAddEvent])) 1460 if (!dart.notNull(this[_mayAddEvent]))
1396 throw this[_addEventError](); 1461 throw this[_addEventError]();
1397 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController._STATE_ADDSTREAM); 1462 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController._STATE_ADDSTREAM);
1398 this[_addStreamState] = new (_AddStreamState$(T))(this, stream, cancelOn Error); 1463 this[_addStreamState] = new (_AddStreamState$(T))(this, stream, cancelOn Error);
1399 return this[_addStreamState].addStreamFuture; 1464 return this[_addStreamState].addStreamFuture;
1400 } 1465 }
1401 [_add](data) { 1466 [_add](data) {
1467 dart.as(data, T);
1402 this[_sendData](data); 1468 this[_sendData](data);
1403 } 1469 }
1404 [_addError](error, stackTrace) { 1470 [_addError](error, stackTrace) {
1405 this[_sendError](error, stackTrace); 1471 this[_sendError](error, stackTrace);
1406 } 1472 }
1407 [_close]() { 1473 [_close]() {
1408 dart.assert(this[_isAddingStream]); 1474 dart.assert(this[_isAddingStream]);
1409 let addState = this[_addStreamState]; 1475 let addState = this[_addStreamState];
1410 this[_addStreamState] = null; 1476 this[_addStreamState] = null;
1411 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastStre amController._STATE_ADDSTREAM); 1477 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastStre amController._STATE_ADDSTREAM);
1412 addState.complete(); 1478 addState.complete();
1413 } 1479 }
1414 [_forEachListener](action) { 1480 [_forEachListener](action) {
1481 dart.as(action, dart.functionType(dart.void, [_BufferingStreamSubscripti on$(T)]));
1415 if (this[_isFiring]) { 1482 if (this[_isFiring]) {
1416 throw new core.StateError("Cannot fire new event. Controller is alread y firing an event"); 1483 throw new core.StateError("Cannot fire new event. Controller is alread y firing an event");
1417 } 1484 }
1418 if (this[_isEmpty]) 1485 if (this[_isEmpty])
1419 return; 1486 return;
1420 let id = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContr oller._STATE_EVENT_ID); 1487 let id = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContr oller._STATE_EVENT_ID);
1421 this[_state] = dart.notNull(this[_state]) ^ (dart.notNull(_BroadcastStre amController._STATE_EVENT_ID) | dart.notNull(_BroadcastStreamController._STATE_F IRING)); 1488 this[_state] = dart.notNull(this[_state]) ^ (dart.notNull(_BroadcastStre amController._STATE_EVENT_ID) | dart.notNull(_BroadcastStreamController._STATE_F IRING));
1422 let link = this[_next]; 1489 let link = this[_next];
1423 while (!dart.notNull(core.identical(link, this))) { 1490 while (!dart.notNull(core.identical(link, this))) {
1424 let subscription = dart.as(link, _BroadcastSubscription$(T)); 1491 let subscription = dart.as(link, _BroadcastSubscription$(T));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1456 _BroadcastStreamController._STATE_ADDSTREAM = 8; 1523 _BroadcastStreamController._STATE_ADDSTREAM = 8;
1457 return _BroadcastStreamController; 1524 return _BroadcastStreamController;
1458 }); 1525 });
1459 let _BroadcastStreamController = _BroadcastStreamController$(); 1526 let _BroadcastStreamController = _BroadcastStreamController$();
1460 let _SyncBroadcastStreamController$ = dart.generic(function(T) { 1527 let _SyncBroadcastStreamController$ = dart.generic(function(T) {
1461 class _SyncBroadcastStreamController extends _BroadcastStreamController$(T) { 1528 class _SyncBroadcastStreamController extends _BroadcastStreamController$(T) {
1462 _SyncBroadcastStreamController(onListen, onCancel) { 1529 _SyncBroadcastStreamController(onListen, onCancel) {
1463 super._BroadcastStreamController(onListen, onCancel); 1530 super._BroadcastStreamController(onListen, onCancel);
1464 } 1531 }
1465 [_sendData](data) { 1532 [_sendData](data) {
1533 dart.as(data, T);
1466 if (this[_isEmpty]) 1534 if (this[_isEmpty])
1467 return; 1535 return;
1468 if (this[_hasOneListener]) { 1536 if (this[_hasOneListener]) {
1469 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStr eamController._STATE_FIRING); 1537 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStr eamController._STATE_FIRING);
1470 let subscription = dart.as(this[_next], _BroadcastSubscription); 1538 let subscription = dart.as(this[_next], _BroadcastSubscription);
1471 subscription[_add](data); 1539 subscription[_add](data);
1472 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastSt reamController._STATE_FIRING); 1540 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastSt reamController._STATE_FIRING);
1473 if (this[_isEmpty]) { 1541 if (this[_isEmpty]) {
1474 this[_callOnCancel](); 1542 this[_callOnCancel]();
1475 } 1543 }
1476 return; 1544 return;
1477 } 1545 }
1478 this[_forEachListener](subscription => { 1546 this[_forEachListener](subscription => {
1547 dart.as(subscription, _BufferingStreamSubscription$(T));
1479 subscription[_add](data); 1548 subscription[_add](data);
1480 }); 1549 });
1481 } 1550 }
1482 [_sendError](error, stackTrace) { 1551 [_sendError](error, stackTrace) {
1483 if (this[_isEmpty]) 1552 if (this[_isEmpty])
1484 return; 1553 return;
1485 this[_forEachListener](subscription => { 1554 this[_forEachListener](subscription => {
1555 dart.as(subscription, _BufferingStreamSubscription$(T));
1486 subscription[_addError](error, stackTrace); 1556 subscription[_addError](error, stackTrace);
1487 }); 1557 });
1488 } 1558 }
1489 [_sendDone]() { 1559 [_sendDone]() {
1490 if (!dart.notNull(this[_isEmpty])) { 1560 if (!dart.notNull(this[_isEmpty])) {
1491 this[_forEachListener](dart.as(subscription => { 1561 this[_forEachListener](dart.as(subscription => {
1562 dart.as(subscription, _BroadcastSubscription$(T));
1492 subscription[_close](); 1563 subscription[_close]();
1493 }, __CastType2)); 1564 }, __CastType2));
1494 } else { 1565 } else {
1495 dart.assert(this[_doneFuture] != null); 1566 dart.assert(this[_doneFuture] != null);
1496 dart.assert(this[_doneFuture][_mayComplete]); 1567 dart.assert(this[_doneFuture][_mayComplete]);
1497 this[_doneFuture][_asyncComplete](null); 1568 this[_doneFuture][_asyncComplete](null);
1498 } 1569 }
1499 } 1570 }
1500 } 1571 }
1501 return _SyncBroadcastStreamController; 1572 return _SyncBroadcastStreamController;
1502 }); 1573 });
1503 let _SyncBroadcastStreamController = _SyncBroadcastStreamController$(); 1574 let _SyncBroadcastStreamController = _SyncBroadcastStreamController$();
1504 let _AsyncBroadcastStreamController$ = dart.generic(function(T) { 1575 let _AsyncBroadcastStreamController$ = dart.generic(function(T) {
1505 class _AsyncBroadcastStreamController extends _BroadcastStreamController$(T) { 1576 class _AsyncBroadcastStreamController extends _BroadcastStreamController$(T) {
1506 _AsyncBroadcastStreamController(onListen, onCancel) { 1577 _AsyncBroadcastStreamController(onListen, onCancel) {
1507 super._BroadcastStreamController(onListen, onCancel); 1578 super._BroadcastStreamController(onListen, onCancel);
1508 } 1579 }
1509 [_sendData](data) { 1580 [_sendData](data) {
1581 dart.as(data, T);
1510 for (let link = this[_next]; !dart.notNull(core.identical(link, this)); link = link[_next]) { 1582 for (let link = this[_next]; !dart.notNull(core.identical(link, this)); link = link[_next]) {
1511 let subscription = dart.as(link, _BroadcastSubscription$(T)); 1583 let subscription = dart.as(link, _BroadcastSubscription$(T));
1512 subscription[_addPending](new _DelayedData(data)); 1584 subscription[_addPending](new _DelayedData(data));
1513 } 1585 }
1514 } 1586 }
1515 [_sendError](error, stackTrace) { 1587 [_sendError](error, stackTrace) {
1516 for (let link = this[_next]; !dart.notNull(core.identical(link, this)); link = link[_next]) { 1588 for (let link = this[_next]; !dart.notNull(core.identical(link, this)); link = link[_next]) {
1517 let subscription = dart.as(link, _BroadcastSubscription$(T)); 1589 let subscription = dart.as(link, _BroadcastSubscription$(T));
1518 subscription[_addPending](new _DelayedError(error, stackTrace)); 1590 subscription[_addPending](new _DelayedError(error, stackTrace));
1519 } 1591 }
(...skipping 24 matching lines...) Expand all
1544 get [_hasPending]() { 1616 get [_hasPending]() {
1545 return dart.notNull(this[_pending] != null) && !dart.notNull(this[_pendi ng].isEmpty); 1617 return dart.notNull(this[_pending] != null) && !dart.notNull(this[_pendi ng].isEmpty);
1546 } 1618 }
1547 [_addPendingEvent](event) { 1619 [_addPendingEvent](event) {
1548 if (this[_pending] == null) { 1620 if (this[_pending] == null) {
1549 this[_pending] = new _StreamImplEvents(); 1621 this[_pending] = new _StreamImplEvents();
1550 } 1622 }
1551 this[_pending].add(event); 1623 this[_pending].add(event);
1552 } 1624 }
1553 add(data) { 1625 add(data) {
1626 dart.as(data, T);
1554 if (!dart.notNull(this.isClosed) && dart.notNull(this[_isFiring])) { 1627 if (!dart.notNull(this.isClosed) && dart.notNull(this[_isFiring])) {
1555 this[_addPendingEvent](new (_DelayedData$(T))(data)); 1628 this[_addPendingEvent](new (_DelayedData$(T))(data));
1556 return; 1629 return;
1557 } 1630 }
1558 super.add(data); 1631 super.add(data);
1559 while (this[_hasPending]) { 1632 while (this[_hasPending]) {
1560 this[_pending].handleNext(this); 1633 this[_pending].handleNext(this);
1561 } 1634 }
1562 } 1635 }
1563 addError(error, stackTrace) { 1636 addError(error, stackTrace) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1596 return _AsBroadcastStreamController; 1669 return _AsBroadcastStreamController;
1597 }); 1670 });
1598 let _AsBroadcastStreamController = _AsBroadcastStreamController$(); 1671 let _AsBroadcastStreamController = _AsBroadcastStreamController$();
1599 let _pauseCount = Symbol('_pauseCount'); 1672 let _pauseCount = Symbol('_pauseCount');
1600 let _resume = Symbol('_resume'); 1673 let _resume = Symbol('_resume');
1601 let _DoneSubscription$ = dart.generic(function(T) { 1674 let _DoneSubscription$ = dart.generic(function(T) {
1602 class _DoneSubscription extends core.Object { 1675 class _DoneSubscription extends core.Object {
1603 _DoneSubscription() { 1676 _DoneSubscription() {
1604 this[_pauseCount] = 0; 1677 this[_pauseCount] = 0;
1605 } 1678 }
1606 onData(handleData) {} 1679 onData(handleData) {
1680 dart.as(handleData, dart.functionType(dart.void, [T]));
1681 }
1607 onError(handleError) {} 1682 onError(handleError) {}
1608 onDone(handleDone) {} 1683 onDone(handleDone) {
1684 dart.as(handleDone, dart.functionType(dart.void, []));
1685 }
1609 pause(resumeSignal) { 1686 pause(resumeSignal) {
1610 if (resumeSignal === void 0) 1687 if (resumeSignal === void 0)
1611 resumeSignal = null; 1688 resumeSignal = null;
1612 if (resumeSignal != null) 1689 if (resumeSignal != null)
1613 resumeSignal.then(this[_resume].bind(this)); 1690 resumeSignal.then(this[_resume].bind(this));
1614 this[_pauseCount] = dart.notNull(this[_pauseCount]) + 1; 1691 this[_pauseCount] = dart.notNull(this[_pauseCount]) + 1;
1615 } 1692 }
1616 resume() { 1693 resume() {
1617 this[_resume](null); 1694 this[_resume](null);
1618 } 1695 }
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
1730 let s = dart.stackTrace(e); 1807 let s = dart.stackTrace(e);
1731 _completeWithErrorCallback(result, e, s); 1808 _completeWithErrorCallback(result, e, s);
1732 } 1809 }
1733 1810
1734 }); 1811 });
1735 return dart.as(result, Future$(T)); 1812 return dart.as(result, Future$(T));
1736 } 1813 }
1737 static wait(futures, opts) { 1814 static wait(futures, opts) {
1738 let eagerError = opts && 'eagerError' in opts ? opts.eagerError : false; 1815 let eagerError = opts && 'eagerError' in opts ? opts.eagerError : false;
1739 let cleanUp = opts && 'cleanUp' in opts ? opts.cleanUp : null; 1816 let cleanUp = opts && 'cleanUp' in opts ? opts.cleanUp : null;
1817 dart.as(cleanUp, dart.functionType(dart.void, [dart.dynamic]));
1740 let result = new (_Future$(core.List))(); 1818 let result = new (_Future$(core.List))();
1741 let values = null; 1819 let values = null;
1742 let remaining = 0; 1820 let remaining = 0;
1743 let error = null; 1821 let error = null;
1744 let stackTrace = null; 1822 let stackTrace = null;
1745 // Function handleError: (dynamic, dynamic) → void 1823 // Function handleError: (dynamic, dynamic) → void
1746 function handleError(theError, theStackTrace) { 1824 function handleError(theError, theStackTrace) {
1747 remaining = dart.notNull(remaining) - 1; 1825 remaining = dart.notNull(remaining) - 1;
1748 if (values != null) { 1826 if (values != null) {
1749 if (cleanUp != null) { 1827 if (cleanUp != null) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1788 } 1866 }
1789 }, {onError: handleError}); 1867 }, {onError: handleError});
1790 } 1868 }
1791 if (remaining == 0) { 1869 if (remaining == 0) {
1792 return new Future$(core.List).value(dart.const([])); 1870 return new Future$(core.List).value(dart.const([]));
1793 } 1871 }
1794 values = new core.List(remaining); 1872 values = new core.List(remaining);
1795 return result; 1873 return result;
1796 } 1874 }
1797 static forEach(input, f) { 1875 static forEach(input, f) {
1876 dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic]));
1798 let iterator = input[core.$iterator]; 1877 let iterator = input[core.$iterator];
1799 return Future.doWhile(() => { 1878 return Future.doWhile(() => {
1800 if (!dart.notNull(iterator.moveNext())) 1879 if (!dart.notNull(iterator.moveNext()))
1801 return false; 1880 return false;
1802 return new Future.sync(() => dart.dcall(f, iterator.current)).then(_ = > true); 1881 return new Future.sync(() => dart.dcall(f, iterator.current)).then(_ = > true);
1803 }); 1882 });
1804 } 1883 }
1805 static doWhile(f) { 1884 static doWhile(f) {
1885 dart.as(f, dart.functionType(dart.dynamic, []));
1806 let doneSignal = new _Future(); 1886 let doneSignal = new _Future();
1807 let nextIteration = null; 1887 let nextIteration = null;
1808 nextIteration = Zone.current.bindUnaryCallback(keepGoing => { 1888 nextIteration = Zone.current.bindUnaryCallback(keepGoing => {
1809 if (keepGoing) { 1889 if (keepGoing) {
1810 new Future.sync(f).then(dart.as(nextIteration, __CastType4), {onErro r: doneSignal[_completeError].bind(doneSignal)}); 1890 new Future.sync(f).then(dart.as(nextIteration, __CastType4), {onErro r: doneSignal[_completeError].bind(doneSignal)});
1811 } else { 1891 } else {
1812 doneSignal[_complete](null); 1892 doneSignal[_complete](null);
1813 } 1893 }
1814 }, {runGuarded: true}); 1894 }, {runGuarded: true});
1815 dart.dcall(nextIteration, true); 1895 dart.dcall(nextIteration, true);
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
2068 set [_isChained](value) { 2148 set [_isChained](value) {
2069 if (value) { 2149 if (value) {
2070 dart.assert(!dart.notNull(this[_isComplete])); 2150 dart.assert(!dart.notNull(this[_isComplete]));
2071 this[_state] = _Future._CHAINED; 2151 this[_state] = _Future._CHAINED;
2072 } else { 2152 } else {
2073 dart.assert(this[_isChained]); 2153 dart.assert(this[_isChained]);
2074 this[_state] = _Future._INCOMPLETE; 2154 this[_state] = _Future._INCOMPLETE;
2075 } 2155 }
2076 } 2156 }
2077 then(f, opts) { 2157 then(f, opts) {
2158 dart.as(f, dart.functionType(dart.dynamic, [T]));
2078 let onError = opts && 'onError' in opts ? opts.onError : null; 2159 let onError = opts && 'onError' in opts ? opts.onError : null;
2079 let result = new _Future(); 2160 let result = new _Future();
2080 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { 2161 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) {
2081 f = dart.as(result[_zone].registerUnaryCallback(f), __CastType6); 2162 f = dart.as(result[_zone].registerUnaryCallback(f), __CastType6);
2082 if (onError != null) { 2163 if (onError != null) {
2083 onError = _registerErrorHandler(onError, result[_zone]); 2164 onError = _registerErrorHandler(onError, result[_zone]);
2084 } 2165 }
2085 } 2166 }
2086 this[_addListener](new _FutureListener.then(result, f, onError)); 2167 this[_addListener](new _FutureListener.then(result, f, onError));
2087 return result; 2168 return result;
2088 } 2169 }
2089 catchError(onError, opts) { 2170 catchError(onError, opts) {
2090 let test = opts && 'test' in opts ? opts.test : null; 2171 let test = opts && 'test' in opts ? opts.test : null;
2172 dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
2091 let result = new _Future(); 2173 let result = new _Future();
2092 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { 2174 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) {
2093 onError = _registerErrorHandler(onError, result[_zone]); 2175 onError = _registerErrorHandler(onError, result[_zone]);
2094 if (test != null) 2176 if (test != null)
2095 test = dart.as(result[_zone].registerUnaryCallback(test), __CastType 8); 2177 test = dart.as(result[_zone].registerUnaryCallback(test), __CastType 8);
2096 } 2178 }
2097 this[_addListener](new _FutureListener.catchError(result, onError, test) ); 2179 this[_addListener](new _FutureListener.catchError(result, onError, test) );
2098 return result; 2180 return result;
2099 } 2181 }
2100 whenComplete(action) { 2182 whenComplete(action) {
2183 dart.as(action, dart.functionType(dart.dynamic, []));
2101 let result = new (_Future$(T))(); 2184 let result = new (_Future$(T))();
2102 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { 2185 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) {
2103 action = result[_zone].registerCallback(action); 2186 action = result[_zone].registerCallback(action);
2104 } 2187 }
2105 this[_addListener](new _FutureListener.whenComplete(result, action)); 2188 this[_addListener](new _FutureListener.whenComplete(result, action));
2106 return dart.as(result, Future$(T)); 2189 return dart.as(result, Future$(T));
2107 } 2190 }
2108 asStream() { 2191 asStream() {
2109 return new Stream$(T).fromFuture(this); 2192 return new Stream$(T).fromFuture(this);
2110 } 2193 }
2111 [_markPendingCompletion]() { 2194 [_markPendingCompletion]() {
2112 if (!dart.notNull(this[_mayComplete])) 2195 if (!dart.notNull(this[_mayComplete]))
2113 throw new core.StateError("Future already completed"); 2196 throw new core.StateError("Future already completed");
2114 this[_state] = _Future._PENDING_COMPLETE; 2197 this[_state] = _Future._PENDING_COMPLETE;
2115 } 2198 }
2116 get [_value]() { 2199 get [_value]() {
2117 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasVal ue])); 2200 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasVal ue]));
2118 return dart.as(this[_resultOrListeners], T); 2201 return dart.as(this[_resultOrListeners], T);
2119 } 2202 }
2120 get [_error]() { 2203 get [_error]() {
2121 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasErr or])); 2204 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasErr or]));
2122 return dart.as(this[_resultOrListeners], AsyncError); 2205 return dart.as(this[_resultOrListeners], AsyncError);
2123 } 2206 }
2124 [_setValue](value) { 2207 [_setValue](value) {
2208 dart.as(value, T);
2125 dart.assert(!dart.notNull(this[_isComplete])); 2209 dart.assert(!dart.notNull(this[_isComplete]));
2126 this[_state] = _Future._VALUE; 2210 this[_state] = _Future._VALUE;
2127 this[_resultOrListeners] = value; 2211 this[_resultOrListeners] = value;
2128 } 2212 }
2129 [_setErrorObject](error) { 2213 [_setErrorObject](error) {
2130 dart.assert(!dart.notNull(this[_isComplete])); 2214 dart.assert(!dart.notNull(this[_isComplete]));
2131 this[_state] = _Future._ERROR; 2215 this[_state] = _Future._ERROR;
2132 this[_resultOrListeners] = error; 2216 this[_resultOrListeners] = error;
2133 } 2217 }
2134 [_setError](error, stackTrace) { 2218 [_setError](error, stackTrace) {
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
2403 result[_setValue](listenerValueOrError); 2487 result[_setValue](listenerValueOrError);
2404 } else { 2488 } else {
2405 let asyncError = dart.as(listenerValueOrError, AsyncError); 2489 let asyncError = dart.as(listenerValueOrError, AsyncError);
2406 result[_setErrorObject](asyncError); 2490 result[_setErrorObject](asyncError);
2407 } 2491 }
2408 source = result; 2492 source = result;
2409 } 2493 }
2410 } 2494 }
2411 timeout(timeLimit, opts) { 2495 timeout(timeLimit, opts) {
2412 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; 2496 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null;
2497 dart.as(onTimeout, dart.functionType(dart.dynamic, []));
2413 if (this[_isComplete]) 2498 if (this[_isComplete])
2414 return new _Future.immediate(this); 2499 return new _Future.immediate(this);
2415 let result = new _Future(); 2500 let result = new _Future();
2416 let timer = null; 2501 let timer = null;
2417 if (onTimeout == null) { 2502 if (onTimeout == null) {
2418 timer = new Timer(timeLimit, () => { 2503 timer = new Timer(timeLimit, () => {
2419 result[_completeError](new TimeoutException("Future not completed", timeLimit)); 2504 result[_completeError](new TimeoutException("Future not completed", timeLimit));
2420 }); 2505 });
2421 } else { 2506 } else {
2422 let zone = Zone.current; 2507 let zone = Zone.current;
2423 onTimeout = zone.registerCallback(onTimeout); 2508 onTimeout = zone.registerCallback(onTimeout);
2424 timer = new Timer(timeLimit, () => { 2509 timer = new Timer(timeLimit, () => {
2425 try { 2510 try {
2426 result[_complete](zone.run(onTimeout)); 2511 result[_complete](zone.run(onTimeout));
2427 } catch (e) { 2512 } catch (e) {
2428 let s = dart.stackTrace(e); 2513 let s = dart.stackTrace(e);
2429 result[_completeError](e, s); 2514 result[_completeError](e, s);
2430 } 2515 }
2431 2516
2432 }); 2517 });
2433 } 2518 }
2434 this.then(v => { 2519 this.then(v => {
2520 dart.as(v, T);
2435 if (timer.isActive) { 2521 if (timer.isActive) {
2436 timer.cancel(); 2522 timer.cancel();
2437 result[_completeWithValue](v); 2523 result[_completeWithValue](v);
2438 } 2524 }
2439 }, { 2525 }, {
2440 onError: (e, s) => { 2526 onError: (e, s) => {
2441 if (timer.isActive) { 2527 if (timer.isActive) {
2442 timer.cancel(); 2528 timer.cancel();
2443 result[_completeError](e, dart.as(s, core.StackTrace)); 2529 result[_completeError](e, dart.as(s, core.StackTrace));
2444 } 2530 }
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
2617 class StreamView extends Stream$(T) { 2703 class StreamView extends Stream$(T) {
2618 StreamView(stream) { 2704 StreamView(stream) {
2619 this[_stream] = stream; 2705 this[_stream] = stream;
2620 super.Stream(); 2706 super.Stream();
2621 } 2707 }
2622 get isBroadcast() { 2708 get isBroadcast() {
2623 return this[_stream].isBroadcast; 2709 return this[_stream].isBroadcast;
2624 } 2710 }
2625 asBroadcastStream(opts) { 2711 asBroadcastStream(opts) {
2626 let onListen = opts && 'onListen' in opts ? opts.onListen : null; 2712 let onListen = opts && 'onListen' in opts ? opts.onListen : null;
2713 dart.as(onListen, dart.functionType(dart.void, [StreamSubscription]));
2627 let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null; 2714 let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
2715 dart.as(onCancel, dart.functionType(dart.void, [StreamSubscription]));
2628 return this[_stream].asBroadcastStream({onListen: onListen, onCancel: on Cancel}); 2716 return this[_stream].asBroadcastStream({onListen: onListen, onCancel: on Cancel});
2629 } 2717 }
2630 listen(onData, opts) { 2718 listen(onData, opts) {
2719 dart.as(onData, dart.functionType(dart.void, [T]));
2631 let onError = opts && 'onError' in opts ? opts.onError : null; 2720 let onError = opts && 'onError' in opts ? opts.onError : null;
2632 let onDone = opts && 'onDone' in opts ? opts.onDone : null; 2721 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
2722 dart.as(onDone, dart.functionType(dart.void, []));
2633 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; 2723 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
2634 return this[_stream].listen(onData, {onError: onError, onDone: onDone, c ancelOnError: cancelOnError}); 2724 return this[_stream].listen(onData, {onError: onError, onDone: onDone, c ancelOnError: cancelOnError});
2635 } 2725 }
2636 } 2726 }
2637 return StreamView; 2727 return StreamView;
2638 }); 2728 });
2639 let StreamView = StreamView$(); 2729 let StreamView = StreamView$();
2640 let StreamConsumer$ = dart.generic(function(S) { 2730 let StreamConsumer$ = dart.generic(function(S) {
2641 class StreamConsumer extends core.Object {} 2731 class StreamConsumer extends core.Object {}
2642 return StreamConsumer; 2732 return StreamConsumer;
(...skipping 26 matching lines...) Expand all
2669 } 2759 }
2670 return StreamIterator; 2760 return StreamIterator;
2671 }); 2761 });
2672 let StreamIterator = StreamIterator$(); 2762 let StreamIterator = StreamIterator$();
2673 let _ControllerEventSinkWrapper$ = dart.generic(function(T) { 2763 let _ControllerEventSinkWrapper$ = dart.generic(function(T) {
2674 class _ControllerEventSinkWrapper extends core.Object { 2764 class _ControllerEventSinkWrapper extends core.Object {
2675 _ControllerEventSinkWrapper(sink) { 2765 _ControllerEventSinkWrapper(sink) {
2676 this[_sink] = sink; 2766 this[_sink] = sink;
2677 } 2767 }
2678 add(data) { 2768 add(data) {
2769 dart.as(data, T);
2679 this[_sink].add(data); 2770 this[_sink].add(data);
2680 } 2771 }
2681 addError(error, stackTrace) { 2772 addError(error, stackTrace) {
2682 if (stackTrace === void 0) 2773 if (stackTrace === void 0)
2683 stackTrace = null; 2774 stackTrace = null;
2684 this[_sink].addError(error, stackTrace); 2775 this[_sink].addError(error, stackTrace);
2685 } 2776 }
2686 close() { 2777 close() {
2687 this[_sink].close(); 2778 this[_sink].close();
2688 } 2779 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2720 return sync ? new (_SyncBroadcastStreamController$(T))(onListen, onCance l) : new (_AsyncBroadcastStreamController$(T))(onListen, onCancel); 2811 return sync ? new (_SyncBroadcastStreamController$(T))(onListen, onCance l) : new (_AsyncBroadcastStreamController$(T))(onListen, onCancel);
2721 } 2812 }
2722 } 2813 }
2723 StreamController[dart.implements] = () => [StreamSink$(T)]; 2814 StreamController[dart.implements] = () => [StreamSink$(T)];
2724 dart.defineNamedConstructor(StreamController, 'broadcast'); 2815 dart.defineNamedConstructor(StreamController, 'broadcast');
2725 return StreamController; 2816 return StreamController;
2726 }); 2817 });
2727 let StreamController = StreamController$(); 2818 let StreamController = StreamController$();
2728 let _StreamControllerLifecycle$ = dart.generic(function(T) { 2819 let _StreamControllerLifecycle$ = dart.generic(function(T) {
2729 class _StreamControllerLifecycle extends core.Object { 2820 class _StreamControllerLifecycle extends core.Object {
2730 [_recordPause](subscription) {} 2821 [_recordPause](subscription) {
2731 [_recordResume](subscription) {} 2822 dart.as(subscription, StreamSubscription$(T));
2823 }
2824 [_recordResume](subscription) {
2825 dart.as(subscription, StreamSubscription$(T));
2826 }
2732 [_recordCancel](subscription) { 2827 [_recordCancel](subscription) {
2828 dart.as(subscription, StreamSubscription$(T));
2733 return null; 2829 return null;
2734 } 2830 }
2735 } 2831 }
2736 return _StreamControllerLifecycle; 2832 return _StreamControllerLifecycle;
2737 }); 2833 });
2738 let _StreamControllerLifecycle = _StreamControllerLifecycle$(); 2834 let _StreamControllerLifecycle = _StreamControllerLifecycle$();
2739 let _varData = Symbol('_varData'); 2835 let _varData = Symbol('_varData');
2740 let _isInitialState = Symbol('_isInitialState'); 2836 let _isInitialState = Symbol('_isInitialState');
2741 let _subscription = Symbol('_subscription'); 2837 let _subscription = Symbol('_subscription');
2742 let _pendingEvents = Symbol('_pendingEvents'); 2838 let _pendingEvents = Symbol('_pendingEvents');
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
2805 return dart.as(this[_varData], _ControllerSubscription); 2901 return dart.as(this[_varData], _ControllerSubscription);
2806 } 2902 }
2807 [_badEventState]() { 2903 [_badEventState]() {
2808 if (this.isClosed) { 2904 if (this.isClosed) {
2809 return new core.StateError("Cannot add event after closing"); 2905 return new core.StateError("Cannot add event after closing");
2810 } 2906 }
2811 dart.assert(this[_isAddingStream]); 2907 dart.assert(this[_isAddingStream]);
2812 return new core.StateError("Cannot add event while adding a stream"); 2908 return new core.StateError("Cannot add event while adding a stream");
2813 } 2909 }
2814 addStream(source, opts) { 2910 addStream(source, opts) {
2911 dart.as(source, Stream$(T));
2815 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 2912 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
2816 if (!dart.notNull(this[_mayAddEvent])) 2913 if (!dart.notNull(this[_mayAddEvent]))
2817 throw this[_badEventState](); 2914 throw this[_badEventState]();
2818 if (this[_isCanceled]) 2915 if (this[_isCanceled])
2819 return new _Future.immediate(null); 2916 return new _Future.immediate(null);
2820 let addState = new _StreamControllerAddStreamState(this, this[_varData], source, cancelOnError); 2917 let addState = new _StreamControllerAddStreamState(this, this[_varData], source, cancelOnError);
2821 this[_varData] = addState; 2918 this[_varData] = addState;
2822 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_ADDSTREAM); 2919 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_ADDSTREAM);
2823 return addState.addStreamFuture; 2920 return addState.addStreamFuture;
2824 } 2921 }
2825 get done() { 2922 get done() {
2826 return this[_ensureDoneFuture](); 2923 return this[_ensureDoneFuture]();
2827 } 2924 }
2828 [_ensureDoneFuture]() { 2925 [_ensureDoneFuture]() {
2829 if (this[_doneFuture] == null) { 2926 if (this[_doneFuture] == null) {
2830 this[_doneFuture] = this[_isCanceled] ? Future._nullFuture : new _Futu re(); 2927 this[_doneFuture] = this[_isCanceled] ? Future._nullFuture : new _Futu re();
2831 } 2928 }
2832 return this[_doneFuture]; 2929 return this[_doneFuture];
2833 } 2930 }
2834 add(value) { 2931 add(value) {
2932 dart.as(value, T);
2835 if (!dart.notNull(this[_mayAddEvent])) 2933 if (!dart.notNull(this[_mayAddEvent]))
2836 throw this[_badEventState](); 2934 throw this[_badEventState]();
2837 this[_add](value); 2935 this[_add](value);
2838 } 2936 }
2839 addError(error, stackTrace) { 2937 addError(error, stackTrace) {
2840 if (stackTrace === void 0) 2938 if (stackTrace === void 0)
2841 stackTrace = null; 2939 stackTrace = null;
2842 error = _nonNullError(error); 2940 error = _nonNullError(error);
2843 if (!dart.notNull(this[_mayAddEvent])) 2941 if (!dart.notNull(this[_mayAddEvent]))
2844 throw this[_badEventState](); 2942 throw this[_badEventState]();
(...skipping 15 matching lines...) Expand all
2860 } 2958 }
2861 [_closeUnchecked]() { 2959 [_closeUnchecked]() {
2862 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_CLOSED); 2960 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_CLOSED);
2863 if (this.hasListener) { 2961 if (this.hasListener) {
2864 this[_sendDone](); 2962 this[_sendDone]();
2865 } else if (this[_isInitialState]) { 2963 } else if (this[_isInitialState]) {
2866 this[_ensurePendingEvents]().add(dart.const(new _DelayedDone())); 2964 this[_ensurePendingEvents]().add(dart.const(new _DelayedDone()));
2867 } 2965 }
2868 } 2966 }
2869 [_add](value) { 2967 [_add](value) {
2968 dart.as(value, T);
2870 if (this.hasListener) { 2969 if (this.hasListener) {
2871 this[_sendData](value); 2970 this[_sendData](value);
2872 } else if (this[_isInitialState]) { 2971 } else if (this[_isInitialState]) {
2873 this[_ensurePendingEvents]().add(new (_DelayedData$(T))(value)); 2972 this[_ensurePendingEvents]().add(new (_DelayedData$(T))(value));
2874 } 2973 }
2875 } 2974 }
2876 [_addError](error, stackTrace) { 2975 [_addError](error, stackTrace) {
2877 if (this.hasListener) { 2976 if (this.hasListener) {
2878 this[_sendError](error, stackTrace); 2977 this[_sendError](error, stackTrace);
2879 } else if (this[_isInitialState]) { 2978 } else if (this[_isInitialState]) {
2880 this[_ensurePendingEvents]().add(new _DelayedError(error, stackTrace)) ; 2979 this[_ensurePendingEvents]().add(new _DelayedError(error, stackTrace)) ;
2881 } 2980 }
2882 } 2981 }
2883 [_close]() { 2982 [_close]() {
2884 dart.assert(this[_isAddingStream]); 2983 dart.assert(this[_isAddingStream]);
2885 let addState = dart.as(this[_varData], _StreamControllerAddStreamState); 2984 let addState = dart.as(this[_varData], _StreamControllerAddStreamState);
2886 this[_varData] = addState.varData; 2985 this[_varData] = addState.varData;
2887 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_StreamControl ler._STATE_ADDSTREAM); 2986 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_StreamControl ler._STATE_ADDSTREAM);
2888 addState.complete(); 2987 addState.complete();
2889 } 2988 }
2890 [_subscribe](onData, onError, onDone, cancelOnError) { 2989 [_subscribe](onData, onError, onDone, cancelOnError) {
2990 dart.as(onData, dart.functionType(dart.void, [T]));
2991 dart.as(onDone, dart.functionType(dart.void, []));
2891 if (!dart.notNull(this[_isInitialState])) { 2992 if (!dart.notNull(this[_isInitialState])) {
2892 throw new core.StateError("Stream has already been listened to."); 2993 throw new core.StateError("Stream has already been listened to.");
2893 } 2994 }
2894 let subscription = new _ControllerSubscription(this, onData, onError, on Done, cancelOnError); 2995 let subscription = new _ControllerSubscription(this, onData, onError, on Done, cancelOnError);
2895 let pendingEvents = this[_pendingEvents]; 2996 let pendingEvents = this[_pendingEvents];
2896 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_SUBSCRIBED); 2997 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_SUBSCRIBED);
2897 if (this[_isAddingStream]) { 2998 if (this[_isAddingStream]) {
2898 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 2999 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2899 addState.varData = subscription; 3000 addState.varData = subscription;
2900 addState.resume(); 3001 addState.resume();
2901 } else { 3002 } else {
2902 this[_varData] = subscription; 3003 this[_varData] = subscription;
2903 } 3004 }
2904 subscription[_setPendingEvents](pendingEvents); 3005 subscription[_setPendingEvents](pendingEvents);
2905 subscription[_guardCallback]((() => { 3006 subscription[_guardCallback]((() => {
2906 _runGuarded(this[_onListen]); 3007 _runGuarded(this[_onListen]);
2907 }).bind(this)); 3008 }).bind(this));
2908 return dart.as(subscription, StreamSubscription$(T)); 3009 return dart.as(subscription, StreamSubscription$(T));
2909 } 3010 }
2910 [_recordCancel](subscription) { 3011 [_recordCancel](subscription) {
3012 dart.as(subscription, StreamSubscription$(T));
2911 let result = null; 3013 let result = null;
2912 if (this[_isAddingStream]) { 3014 if (this[_isAddingStream]) {
2913 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 3015 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2914 result = addState.cancel(); 3016 result = addState.cancel();
2915 } 3017 }
2916 this[_varData] = null; 3018 this[_varData] = null;
2917 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro ller._STATE_SUBSCRIBED) | dart.notNull(_StreamController._STATE_ADDSTREAM)) | da rt.notNull(_StreamController._STATE_CANCELED); 3019 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro ller._STATE_SUBSCRIBED) | dart.notNull(_StreamController._STATE_ADDSTREAM)) | da rt.notNull(_StreamController._STATE_CANCELED);
2918 if (this[_onCancel] != null) { 3020 if (this[_onCancel] != null) {
2919 if (result == null) { 3021 if (result == null) {
2920 try { 3022 try {
(...skipping 15 matching lines...) Expand all
2936 } 3038 }
2937 } 3039 }
2938 if (result != null) { 3040 if (result != null) {
2939 result = result.whenComplete(complete); 3041 result = result.whenComplete(complete);
2940 } else { 3042 } else {
2941 complete(); 3043 complete();
2942 } 3044 }
2943 return result; 3045 return result;
2944 } 3046 }
2945 [_recordPause](subscription) { 3047 [_recordPause](subscription) {
3048 dart.as(subscription, StreamSubscription$(T));
2946 if (this[_isAddingStream]) { 3049 if (this[_isAddingStream]) {
2947 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 3050 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2948 addState.pause(); 3051 addState.pause();
2949 } 3052 }
2950 _runGuarded(this[_onPause]); 3053 _runGuarded(this[_onPause]);
2951 } 3054 }
2952 [_recordResume](subscription) { 3055 [_recordResume](subscription) {
3056 dart.as(subscription, StreamSubscription$(T));
2953 if (this[_isAddingStream]) { 3057 if (this[_isAddingStream]) {
2954 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 3058 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2955 addState.resume(); 3059 addState.resume();
2956 } 3060 }
2957 _runGuarded(this[_onResume]); 3061 _runGuarded(this[_onResume]);
2958 } 3062 }
2959 } 3063 }
2960 _StreamController[dart.implements] = () => [StreamController$(T), _StreamCon trollerLifecycle$(T), _EventSink$(T), _EventDispatch$(T)]; 3064 _StreamController[dart.implements] = () => [StreamController$(T), _StreamCon trollerLifecycle$(T), _EventSink$(T), _EventDispatch$(T)];
2961 _StreamController._STATE_INITIAL = 0; 3065 _StreamController._STATE_INITIAL = 0;
2962 _StreamController._STATE_SUBSCRIBED = 1; 3066 _StreamController._STATE_SUBSCRIBED = 1;
2963 _StreamController._STATE_CANCELED = 2; 3067 _StreamController._STATE_CANCELED = 2;
2964 _StreamController._STATE_SUBSCRIPTION_MASK = 3; 3068 _StreamController._STATE_SUBSCRIPTION_MASK = 3;
2965 _StreamController._STATE_CLOSED = 4; 3069 _StreamController._STATE_CLOSED = 4;
2966 _StreamController._STATE_ADDSTREAM = 8; 3070 _StreamController._STATE_ADDSTREAM = 8;
2967 return _StreamController; 3071 return _StreamController;
2968 }); 3072 });
2969 let _StreamController = _StreamController$(); 3073 let _StreamController = _StreamController$();
2970 let _SyncStreamControllerDispatch$ = dart.generic(function(T) { 3074 let _SyncStreamControllerDispatch$ = dart.generic(function(T) {
2971 class _SyncStreamControllerDispatch extends core.Object { 3075 class _SyncStreamControllerDispatch extends core.Object {
2972 [_sendData](data) { 3076 [_sendData](data) {
3077 dart.as(data, T);
2973 this[_subscription][_add](data); 3078 this[_subscription][_add](data);
2974 } 3079 }
2975 [_sendError](error, stackTrace) { 3080 [_sendError](error, stackTrace) {
2976 this[_subscription][_addError](error, stackTrace); 3081 this[_subscription][_addError](error, stackTrace);
2977 } 3082 }
2978 [_sendDone]() { 3083 [_sendDone]() {
2979 this[_subscription][_close](); 3084 this[_subscription][_close]();
2980 } 3085 }
2981 } 3086 }
2982 _SyncStreamControllerDispatch[dart.implements] = () => [_StreamController$(T )]; 3087 _SyncStreamControllerDispatch[dart.implements] = () => [_StreamController$(T )];
2983 return _SyncStreamControllerDispatch; 3088 return _SyncStreamControllerDispatch;
2984 }); 3089 });
2985 let _SyncStreamControllerDispatch = _SyncStreamControllerDispatch$(); 3090 let _SyncStreamControllerDispatch = _SyncStreamControllerDispatch$();
2986 let _AsyncStreamControllerDispatch$ = dart.generic(function(T) { 3091 let _AsyncStreamControllerDispatch$ = dart.generic(function(T) {
2987 class _AsyncStreamControllerDispatch extends core.Object { 3092 class _AsyncStreamControllerDispatch extends core.Object {
2988 [_sendData](data) { 3093 [_sendData](data) {
3094 dart.as(data, T);
2989 this[_subscription][_addPending](new _DelayedData(data)); 3095 this[_subscription][_addPending](new _DelayedData(data));
2990 } 3096 }
2991 [_sendError](error, stackTrace) { 3097 [_sendError](error, stackTrace) {
2992 this[_subscription][_addPending](new _DelayedError(error, stackTrace)); 3098 this[_subscription][_addPending](new _DelayedError(error, stackTrace));
2993 } 3099 }
2994 [_sendDone]() { 3100 [_sendDone]() {
2995 this[_subscription][_addPending](dart.const(new _DelayedDone())); 3101 this[_subscription][_addPending](dart.const(new _DelayedDone()));
2996 } 3102 }
2997 } 3103 }
2998 _AsyncStreamControllerDispatch[dart.implements] = () => [_StreamController$( T)]; 3104 _AsyncStreamControllerDispatch[dart.implements] = () => [_StreamController$( T)];
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
3057 } 3163 }
3058 3164
3059 } 3165 }
3060 let _target = Symbol('_target'); 3166 let _target = Symbol('_target');
3061 let _StreamSinkWrapper$ = dart.generic(function(T) { 3167 let _StreamSinkWrapper$ = dart.generic(function(T) {
3062 class _StreamSinkWrapper extends core.Object { 3168 class _StreamSinkWrapper extends core.Object {
3063 _StreamSinkWrapper(target) { 3169 _StreamSinkWrapper(target) {
3064 this[_target] = target; 3170 this[_target] = target;
3065 } 3171 }
3066 add(data) { 3172 add(data) {
3173 dart.as(data, T);
3067 this[_target].add(data); 3174 this[_target].add(data);
3068 } 3175 }
3069 addError(error, stackTrace) { 3176 addError(error, stackTrace) {
3070 if (stackTrace === void 0) 3177 if (stackTrace === void 0)
3071 stackTrace = null; 3178 stackTrace = null;
3072 this[_target].addError(error, stackTrace); 3179 this[_target].addError(error, stackTrace);
3073 } 3180 }
3074 close() { 3181 close() {
3075 return this[_target].close(); 3182 return this[_target].close();
3076 } 3183 }
3077 addStream(source, opts) { 3184 addStream(source, opts) {
3185 dart.as(source, Stream$(T));
3078 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 3186 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
3079 return this[_target].addStream(source, {cancelOnError: cancelOnError}); 3187 return this[_target].addStream(source, {cancelOnError: cancelOnError});
3080 } 3188 }
3081 get done() { 3189 get done() {
3082 return this[_target].done; 3190 return this[_target].done;
3083 } 3191 }
3084 } 3192 }
3085 _StreamSinkWrapper[dart.implements] = () => [StreamSink$(T)]; 3193 _StreamSinkWrapper[dart.implements] = () => [StreamSink$(T)];
3086 return _StreamSinkWrapper; 3194 return _StreamSinkWrapper;
3087 }); 3195 });
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
3146 let _EventDispatch = _EventDispatch$(); 3254 let _EventDispatch = _EventDispatch$();
3147 let _EventGenerator = dart.typedef('_EventGenerator', () => dart.functionType( _PendingEvents, [])); 3255 let _EventGenerator = dart.typedef('_EventGenerator', () => dart.functionType( _PendingEvents, []));
3148 let _isUsed = Symbol('_isUsed'); 3256 let _isUsed = Symbol('_isUsed');
3149 let _GeneratedStreamImpl$ = dart.generic(function(T) { 3257 let _GeneratedStreamImpl$ = dart.generic(function(T) {
3150 class _GeneratedStreamImpl extends _StreamImpl$(T) { 3258 class _GeneratedStreamImpl extends _StreamImpl$(T) {
3151 _GeneratedStreamImpl(pending) { 3259 _GeneratedStreamImpl(pending) {
3152 this[_pending] = pending; 3260 this[_pending] = pending;
3153 this[_isUsed] = false; 3261 this[_isUsed] = false;
3154 } 3262 }
3155 [_createSubscription](onData, onError, onDone, cancelOnError) { 3263 [_createSubscription](onData, onError, onDone, cancelOnError) {
3264 dart.as(onData, dart.functionType(dart.void, [T]));
3265 dart.as(onDone, dart.functionType(dart.void, []));
3156 if (this[_isUsed]) 3266 if (this[_isUsed])
3157 throw new core.StateError("Stream has already been listened to."); 3267 throw new core.StateError("Stream has already been listened to.");
3158 this[_isUsed] = true; 3268 this[_isUsed] = true;
3159 let _ = new _BufferingStreamSubscription(onData, onError, onDone, cancel OnError); 3269 let _ = new _BufferingStreamSubscription(onData, onError, onDone, cancel OnError);
3160 _[_setPendingEvents](this[_pending]()); 3270 _[_setPendingEvents](this[_pending]());
3161 return _; 3271 return _;
3162 } 3272 }
3163 } 3273 }
3164 return _GeneratedStreamImpl; 3274 return _GeneratedStreamImpl;
3165 }); 3275 });
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
3264 this.next = null; 3374 this.next = null;
3265 } 3375 }
3266 } 3376 }
3267 let _DelayedData$ = dart.generic(function(T) { 3377 let _DelayedData$ = dart.generic(function(T) {
3268 class _DelayedData extends _DelayedEvent { 3378 class _DelayedData extends _DelayedEvent {
3269 _DelayedData(value) { 3379 _DelayedData(value) {
3270 this.value = value; 3380 this.value = value;
3271 super._DelayedEvent(); 3381 super._DelayedEvent();
3272 } 3382 }
3273 perform(dispatch) { 3383 perform(dispatch) {
3384 dart.as(dispatch, _EventDispatch$(T));
3274 dispatch[_sendData](this.value); 3385 dispatch[_sendData](this.value);
3275 } 3386 }
3276 } 3387 }
3277 return _DelayedData; 3388 return _DelayedData;
3278 }); 3389 });
3279 let _DelayedData = _DelayedData$(); 3390 let _DelayedData = _DelayedData$();
3280 class _DelayedError extends _DelayedEvent { 3391 class _DelayedError extends _DelayedEvent {
3281 _DelayedError(error, stackTrace) { 3392 _DelayedError(error, stackTrace) {
3282 this.error = error; 3393 this.error = error;
3283 this.stackTrace = stackTrace; 3394 this.stackTrace = stackTrace;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
3372 } 3483 }
3373 get isPaused() { 3484 get isPaused() {
3374 return dart.notNull(this[_state]) >= dart.notNull(_DoneStreamSubscriptio n._PAUSED); 3485 return dart.notNull(this[_state]) >= dart.notNull(_DoneStreamSubscriptio n._PAUSED);
3375 } 3486 }
3376 [_schedule]() { 3487 [_schedule]() {
3377 if (this[_isScheduled]) 3488 if (this[_isScheduled])
3378 return; 3489 return;
3379 this[_zone].scheduleMicrotask(this[_sendDone].bind(this)); 3490 this[_zone].scheduleMicrotask(this[_sendDone].bind(this));
3380 this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubs cription._SCHEDULED); 3491 this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubs cription._SCHEDULED);
3381 } 3492 }
3382 onData(handleData) {} 3493 onData(handleData) {
3494 dart.as(handleData, dart.functionType(dart.void, [T]));
3495 }
3383 onError(handleError) {} 3496 onError(handleError) {}
3384 onDone(handleDone) { 3497 onDone(handleDone) {
3498 dart.as(handleDone, dart.functionType(dart.void, []));
3385 this[_onDone] = handleDone; 3499 this[_onDone] = handleDone;
3386 } 3500 }
3387 pause(resumeSignal) { 3501 pause(resumeSignal) {
3388 if (resumeSignal === void 0) 3502 if (resumeSignal === void 0)
3389 resumeSignal = null; 3503 resumeSignal = null;
3390 this[_state] = dart.notNull(this[_state]) + dart.notNull(_DoneStreamSubs cription._PAUSED); 3504 this[_state] = dart.notNull(this[_state]) + dart.notNull(_DoneStreamSubs cription._PAUSED);
3391 if (resumeSignal != null) 3505 if (resumeSignal != null)
3392 resumeSignal.whenComplete(this.resume.bind(this)); 3506 resumeSignal.whenComplete(this.resume.bind(this));
3393 } 3507 }
3394 resume() { 3508 resume() {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
3443 this[_zone] = Zone.current; 3557 this[_zone] = Zone.current;
3444 this[_controller] = null; 3558 this[_controller] = null;
3445 this[_subscription] = null; 3559 this[_subscription] = null;
3446 super.Stream(); 3560 super.Stream();
3447 this[_controller] = new (_AsBroadcastStreamController$(T))(this[_onListe n].bind(this), this[_onCancel].bind(this)); 3561 this[_controller] = new (_AsBroadcastStreamController$(T))(this[_onListe n].bind(this), this[_onCancel].bind(this));
3448 } 3562 }
3449 get isBroadcast() { 3563 get isBroadcast() {
3450 return true; 3564 return true;
3451 } 3565 }
3452 listen(onData, opts) { 3566 listen(onData, opts) {
3567 dart.as(onData, dart.functionType(dart.void, [T]));
3453 let onError = opts && 'onError' in opts ? opts.onError : null; 3568 let onError = opts && 'onError' in opts ? opts.onError : null;
3454 let onDone = opts && 'onDone' in opts ? opts.onDone : null; 3569 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
3570 dart.as(onDone, dart.functionType(dart.void, []));
3455 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; 3571 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
3456 if (dart.notNull(this[_controller] == null) || dart.notNull(this[_contro ller].isClosed)) { 3572 if (dart.notNull(this[_controller] == null) || dart.notNull(this[_contro ller].isClosed)) {
3457 return new (_DoneStreamSubscription$(T))(onDone); 3573 return new (_DoneStreamSubscription$(T))(onDone);
3458 } 3574 }
3459 if (this[_subscription] == null) { 3575 if (this[_subscription] == null) {
3460 this[_subscription] = this[_source].listen(dart.bind(this[_controller] , 'add'), {onError: dart.bind(this[_controller], 'addError'), onDone: dart.bind( this[_controller], 'close')}); 3576 this[_subscription] = this[_source].listen(dart.bind(this[_controller] , 'add'), {onError: dart.bind(this[_controller], 'addError'), onDone: dart.bind( this[_controller], 'close')});
3461 } 3577 }
3462 cancelOnError = core.identical(true, cancelOnError); 3578 cancelOnError = core.identical(true, cancelOnError);
3463 return this[_controller][_subscribe](onData, onError, onDone, cancelOnEr ror); 3579 return this[_controller][_subscribe](onData, onError, onDone, cancelOnEr ror);
3464 } 3580 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
3505 } 3621 }
3506 return _AsBroadcastStream; 3622 return _AsBroadcastStream;
3507 }); 3623 });
3508 let _AsBroadcastStream = _AsBroadcastStream$(); 3624 let _AsBroadcastStream = _AsBroadcastStream$();
3509 let _BroadcastSubscriptionWrapper$ = dart.generic(function(T) { 3625 let _BroadcastSubscriptionWrapper$ = dart.generic(function(T) {
3510 class _BroadcastSubscriptionWrapper extends core.Object { 3626 class _BroadcastSubscriptionWrapper extends core.Object {
3511 _BroadcastSubscriptionWrapper(stream) { 3627 _BroadcastSubscriptionWrapper(stream) {
3512 this[_stream] = stream; 3628 this[_stream] = stream;
3513 } 3629 }
3514 onData(handleData) { 3630 onData(handleData) {
3631 dart.as(handleData, dart.functionType(dart.void, [T]));
3515 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription."); 3632 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription.");
3516 } 3633 }
3517 onError(handleError) { 3634 onError(handleError) {
3635 dart.as(handleError, dart.functionType(dart.void, [core.Object]));
3518 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription."); 3636 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription.");
3519 } 3637 }
3520 onDone(handleDone) { 3638 onDone(handleDone) {
3639 dart.as(handleDone, dart.functionType(dart.void, []));
3521 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription."); 3640 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription.");
3522 } 3641 }
3523 pause(resumeSignal) { 3642 pause(resumeSignal) {
3524 if (resumeSignal === void 0) 3643 if (resumeSignal === void 0)
3525 resumeSignal = null; 3644 resumeSignal = null;
3526 this[_stream][_pauseSubscription](resumeSignal); 3645 this[_stream][_pauseSubscription](resumeSignal);
3527 } 3646 }
3528 resume() { 3647 resume() {
3529 this[_stream][_resumeSubscription](); 3648 this[_stream][_resumeSubscription]();
3530 } 3649 }
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
3608 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) { 3727 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3609 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3728 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3610 this[_clear](); 3729 this[_clear]();
3611 hasNext[_complete](false); 3730 hasNext[_complete](false);
3612 } else { 3731 } else {
3613 this[_clear](); 3732 this[_clear]();
3614 } 3733 }
3615 return subscription.cancel(); 3734 return subscription.cancel();
3616 } 3735 }
3617 [_onData](data) { 3736 [_onData](data) {
3737 dart.as(data, T);
3618 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) { 3738 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3619 this[_current] = data; 3739 this[_current] = data;
3620 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3740 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3621 this[_futureOrPrefetch] = null; 3741 this[_futureOrPrefetch] = null;
3622 this[_state] = _StreamIteratorImpl._STATE_FOUND; 3742 this[_state] = _StreamIteratorImpl._STATE_FOUND;
3623 hasNext[_complete](true); 3743 hasNext[_complete](true);
3624 return; 3744 return;
3625 } 3745 }
3626 this[_subscription].pause(); 3746 this[_subscription].pause();
3627 dart.assert(this[_futureOrPrefetch] == null); 3747 dart.assert(this[_futureOrPrefetch] == null);
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
3725 let _ForwardingStream$ = dart.generic(function(S, T) { 3845 let _ForwardingStream$ = dart.generic(function(S, T) {
3726 class _ForwardingStream extends Stream$(T) { 3846 class _ForwardingStream extends Stream$(T) {
3727 _ForwardingStream(source) { 3847 _ForwardingStream(source) {
3728 this[_source] = source; 3848 this[_source] = source;
3729 super.Stream(); 3849 super.Stream();
3730 } 3850 }
3731 get isBroadcast() { 3851 get isBroadcast() {
3732 return this[_source].isBroadcast; 3852 return this[_source].isBroadcast;
3733 } 3853 }
3734 listen(onData, opts) { 3854 listen(onData, opts) {
3855 dart.as(onData, dart.functionType(dart.void, [T]));
3735 let onError = opts && 'onError' in opts ? opts.onError : null; 3856 let onError = opts && 'onError' in opts ? opts.onError : null;
3736 let onDone = opts && 'onDone' in opts ? opts.onDone : null; 3857 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
3858 dart.as(onDone, dart.functionType(dart.void, []));
3737 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; 3859 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
3738 cancelOnError = core.identical(true, cancelOnError); 3860 cancelOnError = core.identical(true, cancelOnError);
3739 return this[_createSubscription](onData, onError, onDone, cancelOnError) ; 3861 return this[_createSubscription](onData, onError, onDone, cancelOnError) ;
3740 } 3862 }
3741 [_createSubscription](onData, onError, onDone, cancelOnError) { 3863 [_createSubscription](onData, onError, onDone, cancelOnError) {
3864 dart.as(onData, dart.functionType(dart.void, [T]));
3865 dart.as(onDone, dart.functionType(dart.void, []));
3742 return new (_ForwardingStreamSubscription$(S, T))(this, onData, onError, onDone, cancelOnError); 3866 return new (_ForwardingStreamSubscription$(S, T))(this, onData, onError, onDone, cancelOnError);
3743 } 3867 }
3744 [_handleData](data, sink) { 3868 [_handleData](data, sink) {
3869 dart.as(data, S);
3870 dart.as(sink, _EventSink$(T));
3745 let outputData = data; 3871 let outputData = data;
3746 sink[_add](outputData); 3872 sink[_add](outputData);
3747 } 3873 }
3748 [_handleError](error, stackTrace, sink) { 3874 [_handleError](error, stackTrace, sink) {
3875 dart.as(sink, _EventSink$(T));
3749 sink[_addError](error, stackTrace); 3876 sink[_addError](error, stackTrace);
3750 } 3877 }
3751 [_handleDone](sink) { 3878 [_handleDone](sink) {
3879 dart.as(sink, _EventSink$(T));
3752 sink[_close](); 3880 sink[_close]();
3753 } 3881 }
3754 } 3882 }
3755 return _ForwardingStream; 3883 return _ForwardingStream;
3756 }); 3884 });
3757 let _ForwardingStream = _ForwardingStream$(); 3885 let _ForwardingStream = _ForwardingStream$();
3758 let _ForwardingStreamSubscription$ = dart.generic(function(S, T) { 3886 let _ForwardingStreamSubscription$ = dart.generic(function(S, T) {
3759 class _ForwardingStreamSubscription extends _BufferingStreamSubscription$(T) { 3887 class _ForwardingStreamSubscription extends _BufferingStreamSubscription$(T) {
3760 _ForwardingStreamSubscription(stream, onData, onError, onDone, cancelOnErr or) { 3888 _ForwardingStreamSubscription(stream, onData, onError, onDone, cancelOnErr or) {
3761 this[_stream] = stream; 3889 this[_stream] = stream;
3762 this[_subscription] = null; 3890 this[_subscription] = null;
3763 super._BufferingStreamSubscription(onData, onError, onDone, cancelOnErro r); 3891 super._BufferingStreamSubscription(onData, onError, onDone, cancelOnErro r);
3764 this[_subscription] = this[_stream][_source].listen(this[_handleData].bi nd(this), {onError: this[_handleError].bind(this), onDone: this[_handleDone].bin d(this)}); 3892 this[_subscription] = this[_stream][_source].listen(this[_handleData].bi nd(this), {onError: this[_handleError].bind(this), onDone: this[_handleDone].bin d(this)});
3765 } 3893 }
3766 [_add](data) { 3894 [_add](data) {
3895 dart.as(data, T);
3767 if (this[_isClosed]) 3896 if (this[_isClosed])
3768 return; 3897 return;
3769 super[_add](data); 3898 super[_add](data);
3770 } 3899 }
3771 [_addError](error, stackTrace) { 3900 [_addError](error, stackTrace) {
3772 if (this[_isClosed]) 3901 if (this[_isClosed])
3773 return; 3902 return;
3774 super[_addError](error, stackTrace); 3903 super[_addError](error, stackTrace);
3775 } 3904 }
3776 [_onPause]() { 3905 [_onPause]() {
3777 if (this[_subscription] == null) 3906 if (this[_subscription] == null)
3778 return; 3907 return;
3779 this[_subscription].pause(); 3908 this[_subscription].pause();
3780 } 3909 }
3781 [_onResume]() { 3910 [_onResume]() {
3782 if (this[_subscription] == null) 3911 if (this[_subscription] == null)
3783 return; 3912 return;
3784 this[_subscription].resume(); 3913 this[_subscription].resume();
3785 } 3914 }
3786 [_onCancel]() { 3915 [_onCancel]() {
3787 if (this[_subscription] != null) { 3916 if (this[_subscription] != null) {
3788 let subscription = this[_subscription]; 3917 let subscription = this[_subscription];
3789 this[_subscription] = null; 3918 this[_subscription] = null;
3790 subscription.cancel(); 3919 subscription.cancel();
3791 } 3920 }
3792 return null; 3921 return null;
3793 } 3922 }
3794 [_handleData](data) { 3923 [_handleData](data) {
3924 dart.as(data, S);
3795 this[_stream][_handleData](data, this); 3925 this[_stream][_handleData](data, this);
3796 } 3926 }
3797 [_handleError](error, stackTrace) { 3927 [_handleError](error, stackTrace) {
3798 this[_stream][_handleError](error, stackTrace, this); 3928 this[_stream][_handleError](error, stackTrace, this);
3799 } 3929 }
3800 [_handleDone]() { 3930 [_handleDone]() {
3801 this[_stream][_handleDone](this); 3931 this[_stream][_handleDone](this);
3802 } 3932 }
3803 } 3933 }
3804 return _ForwardingStreamSubscription; 3934 return _ForwardingStreamSubscription;
(...skipping 14 matching lines...) Expand all
3819 sink[_addError](error, dart.as(stackTrace, core.StackTrace)); 3949 sink[_addError](error, dart.as(stackTrace, core.StackTrace));
3820 } 3950 }
3821 let _test = Symbol('_test'); 3951 let _test = Symbol('_test');
3822 let _WhereStream$ = dart.generic(function(T) { 3952 let _WhereStream$ = dart.generic(function(T) {
3823 class _WhereStream extends _ForwardingStream$(T, T) { 3953 class _WhereStream extends _ForwardingStream$(T, T) {
3824 _WhereStream(source, test) { 3954 _WhereStream(source, test) {
3825 this[_test] = test; 3955 this[_test] = test;
3826 super._ForwardingStream(source); 3956 super._ForwardingStream(source);
3827 } 3957 }
3828 [_handleData](inputEvent, sink) { 3958 [_handleData](inputEvent, sink) {
3959 dart.as(inputEvent, T);
3960 dart.as(sink, _EventSink$(T));
3829 let satisfies = null; 3961 let satisfies = null;
3830 try { 3962 try {
3831 satisfies = this[_test](inputEvent); 3963 satisfies = this[_test](inputEvent);
3832 } catch (e) { 3964 } catch (e) {
3833 let s = dart.stackTrace(e); 3965 let s = dart.stackTrace(e);
3834 _addErrorWithReplacement(sink, e, s); 3966 _addErrorWithReplacement(sink, e, s);
3835 return; 3967 return;
3836 } 3968 }
3837 3969
3838 if (satisfies) { 3970 if (satisfies) {
(...skipping 10 matching lines...) Expand all
3849 }); 3981 });
3850 let _Transformation = _Transformation$(); 3982 let _Transformation = _Transformation$();
3851 let _transform = Symbol('_transform'); 3983 let _transform = Symbol('_transform');
3852 let _MapStream$ = dart.generic(function(S, T) { 3984 let _MapStream$ = dart.generic(function(S, T) {
3853 class _MapStream extends _ForwardingStream$(S, T) { 3985 class _MapStream extends _ForwardingStream$(S, T) {
3854 _MapStream(source, transform) { 3986 _MapStream(source, transform) {
3855 this[_transform] = transform; 3987 this[_transform] = transform;
3856 super._ForwardingStream(source); 3988 super._ForwardingStream(source);
3857 } 3989 }
3858 [_handleData](inputEvent, sink) { 3990 [_handleData](inputEvent, sink) {
3991 dart.as(inputEvent, S);
3992 dart.as(sink, _EventSink$(T));
3859 let outputEvent = null; 3993 let outputEvent = null;
3860 try { 3994 try {
3861 outputEvent = dart.as(dart.dcall(this[_transform], inputEvent), T); 3995 outputEvent = dart.as(dart.dcall(this[_transform], inputEvent), T);
3862 } catch (e) { 3996 } catch (e) {
3863 let s = dart.stackTrace(e); 3997 let s = dart.stackTrace(e);
3864 _addErrorWithReplacement(sink, e, s); 3998 _addErrorWithReplacement(sink, e, s);
3865 return; 3999 return;
3866 } 4000 }
3867 4001
3868 sink[_add](outputEvent); 4002 sink[_add](outputEvent);
3869 } 4003 }
3870 } 4004 }
3871 return _MapStream; 4005 return _MapStream;
3872 }); 4006 });
3873 let _MapStream = _MapStream$(); 4007 let _MapStream = _MapStream$();
3874 let _expand = Symbol('_expand'); 4008 let _expand = Symbol('_expand');
3875 let _ExpandStream$ = dart.generic(function(S, T) { 4009 let _ExpandStream$ = dart.generic(function(S, T) {
3876 class _ExpandStream extends _ForwardingStream$(S, T) { 4010 class _ExpandStream extends _ForwardingStream$(S, T) {
3877 _ExpandStream(source, expand) { 4011 _ExpandStream(source, expand) {
3878 this[_expand] = expand; 4012 this[_expand] = expand;
3879 super._ForwardingStream(source); 4013 super._ForwardingStream(source);
3880 } 4014 }
3881 [_handleData](inputEvent, sink) { 4015 [_handleData](inputEvent, sink) {
4016 dart.as(inputEvent, S);
4017 dart.as(sink, _EventSink$(T));
3882 try { 4018 try {
3883 for (let value of this[_expand](inputEvent)) { 4019 for (let value of this[_expand](inputEvent)) {
3884 sink[_add](value); 4020 sink[_add](value);
3885 } 4021 }
3886 } catch (e) { 4022 } catch (e) {
3887 let s = dart.stackTrace(e); 4023 let s = dart.stackTrace(e);
3888 _addErrorWithReplacement(sink, e, s); 4024 _addErrorWithReplacement(sink, e, s);
3889 } 4025 }
3890 4026
3891 } 4027 }
3892 } 4028 }
3893 return _ExpandStream; 4029 return _ExpandStream;
3894 }); 4030 });
3895 let _ExpandStream = _ExpandStream$(); 4031 let _ExpandStream = _ExpandStream$();
3896 let _ErrorTest = dart.typedef('_ErrorTest', () => dart.functionType(core.bool, [dart.dynamic])); 4032 let _ErrorTest = dart.typedef('_ErrorTest', () => dart.functionType(core.bool, [dart.dynamic]));
3897 let _HandleErrorStream$ = dart.generic(function(T) { 4033 let _HandleErrorStream$ = dart.generic(function(T) {
3898 class _HandleErrorStream extends _ForwardingStream$(T, T) { 4034 class _HandleErrorStream extends _ForwardingStream$(T, T) {
3899 _HandleErrorStream(source, onError, test) { 4035 _HandleErrorStream(source, onError, test) {
3900 this[_transform] = onError; 4036 this[_transform] = onError;
3901 this[_test] = test; 4037 this[_test] = test;
3902 super._ForwardingStream(source); 4038 super._ForwardingStream(source);
3903 } 4039 }
3904 [_handleError](error, stackTrace, sink) { 4040 [_handleError](error, stackTrace, sink) {
4041 dart.as(sink, _EventSink$(T));
3905 let matches = true; 4042 let matches = true;
3906 if (this[_test] != null) { 4043 if (this[_test] != null) {
3907 try { 4044 try {
3908 matches = dart.dcall(this[_test], error); 4045 matches = dart.dcall(this[_test], error);
3909 } catch (e) { 4046 } catch (e) {
3910 let s = dart.stackTrace(e); 4047 let s = dart.stackTrace(e);
3911 _addErrorWithReplacement(sink, e, s); 4048 _addErrorWithReplacement(sink, e, s);
3912 return; 4049 return;
3913 } 4050 }
3914 4051
(...skipping 22 matching lines...) Expand all
3937 let _remaining = Symbol('_remaining'); 4074 let _remaining = Symbol('_remaining');
3938 let _TakeStream$ = dart.generic(function(T) { 4075 let _TakeStream$ = dart.generic(function(T) {
3939 class _TakeStream extends _ForwardingStream$(T, T) { 4076 class _TakeStream extends _ForwardingStream$(T, T) {
3940 _TakeStream(source, count) { 4077 _TakeStream(source, count) {
3941 this[_remaining] = count; 4078 this[_remaining] = count;
3942 super._ForwardingStream(source); 4079 super._ForwardingStream(source);
3943 if (!(typeof count == 'number')) 4080 if (!(typeof count == 'number'))
3944 throw new core.ArgumentError(count); 4081 throw new core.ArgumentError(count);
3945 } 4082 }
3946 [_handleData](inputEvent, sink) { 4083 [_handleData](inputEvent, sink) {
4084 dart.as(inputEvent, T);
4085 dart.as(sink, _EventSink$(T));
3947 if (dart.notNull(this[_remaining]) > 0) { 4086 if (dart.notNull(this[_remaining]) > 0) {
3948 sink[_add](inputEvent); 4087 sink[_add](inputEvent);
3949 this[_remaining] = dart.notNull(this[_remaining]) - 1; 4088 this[_remaining] = dart.notNull(this[_remaining]) - 1;
3950 if (this[_remaining] == 0) { 4089 if (this[_remaining] == 0) {
3951 sink[_close](); 4090 sink[_close]();
3952 } 4091 }
3953 } 4092 }
3954 } 4093 }
3955 } 4094 }
3956 return _TakeStream; 4095 return _TakeStream;
3957 }); 4096 });
3958 let _TakeStream = _TakeStream$(); 4097 let _TakeStream = _TakeStream$();
3959 let _TakeWhileStream$ = dart.generic(function(T) { 4098 let _TakeWhileStream$ = dart.generic(function(T) {
3960 class _TakeWhileStream extends _ForwardingStream$(T, T) { 4099 class _TakeWhileStream extends _ForwardingStream$(T, T) {
3961 _TakeWhileStream(source, test) { 4100 _TakeWhileStream(source, test) {
3962 this[_test] = test; 4101 this[_test] = test;
3963 super._ForwardingStream(source); 4102 super._ForwardingStream(source);
3964 } 4103 }
3965 [_handleData](inputEvent, sink) { 4104 [_handleData](inputEvent, sink) {
4105 dart.as(inputEvent, T);
4106 dart.as(sink, _EventSink$(T));
3966 let satisfies = null; 4107 let satisfies = null;
3967 try { 4108 try {
3968 satisfies = this[_test](inputEvent); 4109 satisfies = this[_test](inputEvent);
3969 } catch (e) { 4110 } catch (e) {
3970 let s = dart.stackTrace(e); 4111 let s = dart.stackTrace(e);
3971 _addErrorWithReplacement(sink, e, s); 4112 _addErrorWithReplacement(sink, e, s);
3972 sink[_close](); 4113 sink[_close]();
3973 return; 4114 return;
3974 } 4115 }
3975 4116
3976 if (satisfies) { 4117 if (satisfies) {
3977 sink[_add](inputEvent); 4118 sink[_add](inputEvent);
3978 } else { 4119 } else {
3979 sink[_close](); 4120 sink[_close]();
3980 } 4121 }
3981 } 4122 }
3982 } 4123 }
3983 return _TakeWhileStream; 4124 return _TakeWhileStream;
3984 }); 4125 });
3985 let _TakeWhileStream = _TakeWhileStream$(); 4126 let _TakeWhileStream = _TakeWhileStream$();
3986 let _SkipStream$ = dart.generic(function(T) { 4127 let _SkipStream$ = dart.generic(function(T) {
3987 class _SkipStream extends _ForwardingStream$(T, T) { 4128 class _SkipStream extends _ForwardingStream$(T, T) {
3988 _SkipStream(source, count) { 4129 _SkipStream(source, count) {
3989 this[_remaining] = count; 4130 this[_remaining] = count;
3990 super._ForwardingStream(source); 4131 super._ForwardingStream(source);
3991 if (!(typeof count == 'number') || dart.notNull(count) < 0) 4132 if (!(typeof count == 'number') || dart.notNull(count) < 0)
3992 throw new core.ArgumentError(count); 4133 throw new core.ArgumentError(count);
3993 } 4134 }
3994 [_handleData](inputEvent, sink) { 4135 [_handleData](inputEvent, sink) {
4136 dart.as(inputEvent, T);
4137 dart.as(sink, _EventSink$(T));
3995 if (dart.notNull(this[_remaining]) > 0) { 4138 if (dart.notNull(this[_remaining]) > 0) {
3996 this[_remaining] = dart.notNull(this[_remaining]) - 1; 4139 this[_remaining] = dart.notNull(this[_remaining]) - 1;
3997 return; 4140 return;
3998 } 4141 }
3999 sink[_add](inputEvent); 4142 sink[_add](inputEvent);
4000 } 4143 }
4001 } 4144 }
4002 return _SkipStream; 4145 return _SkipStream;
4003 }); 4146 });
4004 let _SkipStream = _SkipStream$(); 4147 let _SkipStream = _SkipStream$();
4005 let _hasFailed = Symbol('_hasFailed'); 4148 let _hasFailed = Symbol('_hasFailed');
4006 let _SkipWhileStream$ = dart.generic(function(T) { 4149 let _SkipWhileStream$ = dart.generic(function(T) {
4007 class _SkipWhileStream extends _ForwardingStream$(T, T) { 4150 class _SkipWhileStream extends _ForwardingStream$(T, T) {
4008 _SkipWhileStream(source, test) { 4151 _SkipWhileStream(source, test) {
4009 this[_test] = test; 4152 this[_test] = test;
4010 this[_hasFailed] = false; 4153 this[_hasFailed] = false;
4011 super._ForwardingStream(source); 4154 super._ForwardingStream(source);
4012 } 4155 }
4013 [_handleData](inputEvent, sink) { 4156 [_handleData](inputEvent, sink) {
4157 dart.as(inputEvent, T);
4158 dart.as(sink, _EventSink$(T));
4014 if (this[_hasFailed]) { 4159 if (this[_hasFailed]) {
4015 sink[_add](inputEvent); 4160 sink[_add](inputEvent);
4016 return; 4161 return;
4017 } 4162 }
4018 let satisfies = null; 4163 let satisfies = null;
4019 try { 4164 try {
4020 satisfies = this[_test](inputEvent); 4165 satisfies = this[_test](inputEvent);
4021 } catch (e) { 4166 } catch (e) {
4022 let s = dart.stackTrace(e); 4167 let s = dart.stackTrace(e);
4023 _addErrorWithReplacement(sink, e, s); 4168 _addErrorWithReplacement(sink, e, s);
(...skipping 17 matching lines...) Expand all
4041 let _Equality = _Equality$(); 4186 let _Equality = _Equality$();
4042 let _equals = Symbol('_equals'); 4187 let _equals = Symbol('_equals');
4043 let _DistinctStream$ = dart.generic(function(T) { 4188 let _DistinctStream$ = dart.generic(function(T) {
4044 class _DistinctStream extends _ForwardingStream$(T, T) { 4189 class _DistinctStream extends _ForwardingStream$(T, T) {
4045 _DistinctStream(source, equals) { 4190 _DistinctStream(source, equals) {
4046 this[_previous] = _DistinctStream._SENTINEL; 4191 this[_previous] = _DistinctStream._SENTINEL;
4047 this[_equals] = equals; 4192 this[_equals] = equals;
4048 super._ForwardingStream(source); 4193 super._ForwardingStream(source);
4049 } 4194 }
4050 [_handleData](inputEvent, sink) { 4195 [_handleData](inputEvent, sink) {
4196 dart.as(inputEvent, T);
4197 dart.as(sink, _EventSink$(T));
4051 if (core.identical(this[_previous], _DistinctStream._SENTINEL)) { 4198 if (core.identical(this[_previous], _DistinctStream._SENTINEL)) {
4052 this[_previous] = inputEvent; 4199 this[_previous] = inputEvent;
4053 return sink[_add](inputEvent); 4200 return sink[_add](inputEvent);
4054 } else { 4201 } else {
4055 let isEqual = null; 4202 let isEqual = null;
4056 try { 4203 try {
4057 if (this[_equals] == null) { 4204 if (this[_equals] == null) {
4058 isEqual = dart.equals(this[_previous], inputEvent); 4205 isEqual = dart.equals(this[_previous], inputEvent);
4059 } else { 4206 } else {
4060 isEqual = this[_equals](dart.as(this[_previous], T), inputEvent); 4207 isEqual = this[_equals](dart.as(this[_previous], T), inputEvent);
(...skipping 19 matching lines...) Expand all
4080 }); 4227 });
4081 return _DistinctStream; 4228 return _DistinctStream;
4082 }); 4229 });
4083 let _DistinctStream = _DistinctStream$(); 4230 let _DistinctStream = _DistinctStream$();
4084 let _EventSinkWrapper$ = dart.generic(function(T) { 4231 let _EventSinkWrapper$ = dart.generic(function(T) {
4085 class _EventSinkWrapper extends core.Object { 4232 class _EventSinkWrapper extends core.Object {
4086 _EventSinkWrapper(sink) { 4233 _EventSinkWrapper(sink) {
4087 this[_sink] = sink; 4234 this[_sink] = sink;
4088 } 4235 }
4089 add(data) { 4236 add(data) {
4237 dart.as(data, T);
4090 this[_sink][_add](data); 4238 this[_sink][_add](data);
4091 } 4239 }
4092 addError(error, stackTrace) { 4240 addError(error, stackTrace) {
4093 if (stackTrace === void 0) 4241 if (stackTrace === void 0)
4094 stackTrace = null; 4242 stackTrace = null;
4095 this[_sink][_addError](error, stackTrace); 4243 this[_sink][_addError](error, stackTrace);
4096 } 4244 }
4097 close() { 4245 close() {
4098 this[_sink][_close](); 4246 this[_sink][_close]();
4099 } 4247 }
(...skipping 11 matching lines...) Expand all
4111 this[_subscription] = null; 4259 this[_subscription] = null;
4112 super._BufferingStreamSubscription(onData, onError, onDone, cancelOnErro r); 4260 super._BufferingStreamSubscription(onData, onError, onDone, cancelOnErro r);
4113 let eventSink = new (_EventSinkWrapper$(T))(this); 4261 let eventSink = new (_EventSinkWrapper$(T))(this);
4114 this[_transformerSink] = mapper(eventSink); 4262 this[_transformerSink] = mapper(eventSink);
4115 this[_subscription] = source.listen(this[_handleData].bind(this), {onErr or: this[_handleError].bind(this), onDone: this[_handleDone].bind(this)}); 4263 this[_subscription] = source.listen(this[_handleData].bind(this), {onErr or: this[_handleError].bind(this), onDone: this[_handleDone].bind(this)});
4116 } 4264 }
4117 get [_isSubscribed]() { 4265 get [_isSubscribed]() {
4118 return this[_subscription] != null; 4266 return this[_subscription] != null;
4119 } 4267 }
4120 [_add](data) { 4268 [_add](data) {
4269 dart.as(data, T);
4121 if (this[_isClosed]) { 4270 if (this[_isClosed]) {
4122 throw new core.StateError("Stream is already closed"); 4271 throw new core.StateError("Stream is already closed");
4123 } 4272 }
4124 super[_add](data); 4273 super[_add](data);
4125 } 4274 }
4126 [_addError](error, stackTrace) { 4275 [_addError](error, stackTrace) {
4127 if (this[_isClosed]) { 4276 if (this[_isClosed]) {
4128 throw new core.StateError("Stream is already closed"); 4277 throw new core.StateError("Stream is already closed");
4129 } 4278 }
4130 super[_addError](error, stackTrace); 4279 super[_addError](error, stackTrace);
(...skipping 14 matching lines...) Expand all
4145 } 4294 }
4146 [_onCancel]() { 4295 [_onCancel]() {
4147 if (this[_isSubscribed]) { 4296 if (this[_isSubscribed]) {
4148 let subscription = this[_subscription]; 4297 let subscription = this[_subscription];
4149 this[_subscription] = null; 4298 this[_subscription] = null;
4150 subscription.cancel(); 4299 subscription.cancel();
4151 } 4300 }
4152 return null; 4301 return null;
4153 } 4302 }
4154 [_handleData](data) { 4303 [_handleData](data) {
4304 dart.as(data, S);
4155 try { 4305 try {
4156 this[_transformerSink].add(data); 4306 this[_transformerSink].add(data);
4157 } catch (e) { 4307 } catch (e) {
4158 let s = dart.stackTrace(e); 4308 let s = dart.stackTrace(e);
4159 this[_addError](e, s); 4309 this[_addError](e, s);
4160 } 4310 }
4161 4311
4162 } 4312 }
4163 [_handleError](error, stackTrace) { 4313 [_handleError](error, stackTrace) {
4164 if (stackTrace === void 0) 4314 if (stackTrace === void 0)
(...skipping 29 matching lines...) Expand all
4194 return _SinkMapper; 4344 return _SinkMapper;
4195 }); 4345 });
4196 let _SinkMapper = _SinkMapper$(); 4346 let _SinkMapper = _SinkMapper$();
4197 let _sinkMapper = Symbol('_sinkMapper'); 4347 let _sinkMapper = Symbol('_sinkMapper');
4198 let _StreamSinkTransformer$ = dart.generic(function(S, T) { 4348 let _StreamSinkTransformer$ = dart.generic(function(S, T) {
4199 class _StreamSinkTransformer extends core.Object { 4349 class _StreamSinkTransformer extends core.Object {
4200 _StreamSinkTransformer(sinkMapper) { 4350 _StreamSinkTransformer(sinkMapper) {
4201 this[_sinkMapper] = sinkMapper; 4351 this[_sinkMapper] = sinkMapper;
4202 } 4352 }
4203 bind(stream) { 4353 bind(stream) {
4354 dart.as(stream, Stream$(S));
4204 return new (_BoundSinkStream$(S, T))(stream, this[_sinkMapper]); 4355 return new (_BoundSinkStream$(S, T))(stream, this[_sinkMapper]);
4205 } 4356 }
4206 } 4357 }
4207 _StreamSinkTransformer[dart.implements] = () => [StreamTransformer$(S, T)]; 4358 _StreamSinkTransformer[dart.implements] = () => [StreamTransformer$(S, T)];
4208 return _StreamSinkTransformer; 4359 return _StreamSinkTransformer;
4209 }); 4360 });
4210 let _StreamSinkTransformer = _StreamSinkTransformer$(); 4361 let _StreamSinkTransformer = _StreamSinkTransformer$();
4211 let _BoundSinkStream$ = dart.generic(function(S, T) { 4362 let _BoundSinkStream$ = dart.generic(function(S, T) {
4212 class _BoundSinkStream extends Stream$(T) { 4363 class _BoundSinkStream extends Stream$(T) {
4213 get isBroadcast() { 4364 get isBroadcast() {
4214 return this[_stream].isBroadcast; 4365 return this[_stream].isBroadcast;
4215 } 4366 }
4216 _BoundSinkStream(stream, sinkMapper) { 4367 _BoundSinkStream(stream, sinkMapper) {
4217 this[_stream] = stream; 4368 this[_stream] = stream;
4218 this[_sinkMapper] = sinkMapper; 4369 this[_sinkMapper] = sinkMapper;
4219 super.Stream(); 4370 super.Stream();
4220 } 4371 }
4221 listen(onData, opts) { 4372 listen(onData, opts) {
4373 dart.as(onData, dart.functionType(dart.void, [T]));
4222 let onError = opts && 'onError' in opts ? opts.onError : null; 4374 let onError = opts && 'onError' in opts ? opts.onError : null;
4223 let onDone = opts && 'onDone' in opts ? opts.onDone : null; 4375 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
4376 dart.as(onDone, dart.functionType(dart.void, []));
4224 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; 4377 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
4225 cancelOnError = core.identical(true, cancelOnError); 4378 cancelOnError = core.identical(true, cancelOnError);
4226 let subscription = new _SinkTransformerStreamSubscription(this[_stream], dart.as(this[_sinkMapper], _SinkMapper), onData, onError, onDone, cancelOnError ); 4379 let subscription = new _SinkTransformerStreamSubscription(this[_stream], dart.as(this[_sinkMapper], _SinkMapper), onData, onError, onDone, cancelOnError );
4227 return subscription; 4380 return subscription;
4228 } 4381 }
4229 } 4382 }
4230 return _BoundSinkStream; 4383 return _BoundSinkStream;
4231 }); 4384 });
4232 let _BoundSinkStream = _BoundSinkStream$(); 4385 let _BoundSinkStream = _BoundSinkStream$();
4233 let _TransformDataHandler$ = dart.generic(function(S, T) { 4386 let _TransformDataHandler$ = dart.generic(function(S, T) {
(...skipping 13 matching lines...) Expand all
4247 let _TransformDoneHandler = _TransformDoneHandler$(); 4400 let _TransformDoneHandler = _TransformDoneHandler$();
4248 let _HandlerEventSink$ = dart.generic(function(S, T) { 4401 let _HandlerEventSink$ = dart.generic(function(S, T) {
4249 class _HandlerEventSink extends core.Object { 4402 class _HandlerEventSink extends core.Object {
4250 _HandlerEventSink(handleData, handleError, handleDone, sink) { 4403 _HandlerEventSink(handleData, handleError, handleDone, sink) {
4251 this[_handleData] = handleData; 4404 this[_handleData] = handleData;
4252 this[_handleError] = handleError; 4405 this[_handleError] = handleError;
4253 this[_handleDone] = handleDone; 4406 this[_handleDone] = handleDone;
4254 this[_sink] = sink; 4407 this[_sink] = sink;
4255 } 4408 }
4256 add(data) { 4409 add(data) {
4410 dart.as(data, S);
4257 return this[_handleData](data, this[_sink]); 4411 return this[_handleData](data, this[_sink]);
4258 } 4412 }
4259 addError(error, stackTrace) { 4413 addError(error, stackTrace) {
4260 if (stackTrace === void 0) 4414 if (stackTrace === void 0)
4261 stackTrace = null; 4415 stackTrace = null;
4262 return this[_handleError](error, stackTrace, this[_sink]); 4416 return this[_handleError](error, stackTrace, this[_sink]);
4263 } 4417 }
4264 close() { 4418 close() {
4265 return this[_handleDone](this[_sink]); 4419 return this[_handleDone](this[_sink]);
4266 } 4420 }
4267 } 4421 }
4268 _HandlerEventSink[dart.implements] = () => [EventSink$(S)]; 4422 _HandlerEventSink[dart.implements] = () => [EventSink$(S)];
4269 return _HandlerEventSink; 4423 return _HandlerEventSink;
4270 }); 4424 });
4271 let _HandlerEventSink = _HandlerEventSink$(); 4425 let _HandlerEventSink = _HandlerEventSink$();
4272 let _StreamHandlerTransformer$ = dart.generic(function(S, T) { 4426 let _StreamHandlerTransformer$ = dart.generic(function(S, T) {
4273 class _StreamHandlerTransformer extends _StreamSinkTransformer$(S, T) { 4427 class _StreamHandlerTransformer extends _StreamSinkTransformer$(S, T) {
4274 _StreamHandlerTransformer(opts) { 4428 _StreamHandlerTransformer(opts) {
4275 let handleData = opts && 'handleData' in opts ? opts.handleData : null; 4429 let handleData = opts && 'handleData' in opts ? opts.handleData : null;
4276 let handleError = opts && 'handleError' in opts ? opts.handleError : nul l; 4430 let handleError = opts && 'handleError' in opts ? opts.handleError : nul l;
4277 let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null; 4431 let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null;
4278 super._StreamSinkTransformer(dart.as(outputSink => { 4432 super._StreamSinkTransformer(dart.as(outputSink => {
4433 dart.as(outputSink, EventSink$(T));
4279 if (handleData == null) 4434 if (handleData == null)
4280 handleData = dart.as(_StreamHandlerTransformer._defaultHandleData, _ _CastType29); 4435 handleData = dart.as(_StreamHandlerTransformer._defaultHandleData, _ _CastType29);
4281 if (handleError == null) 4436 if (handleError == null)
4282 handleError = dart.as(_StreamHandlerTransformer._defaultHandleError, __CastType32); 4437 handleError = dart.as(_StreamHandlerTransformer._defaultHandleError, __CastType32);
4283 if (handleDone == null) 4438 if (handleDone == null)
4284 handleDone = _StreamHandlerTransformer._defaultHandleDone; 4439 handleDone = _StreamHandlerTransformer._defaultHandleDone;
4285 return new (_HandlerEventSink$(S, T))(handleData, handleError, handleD one, outputSink); 4440 return new (_HandlerEventSink$(S, T))(handleData, handleError, handleD one, outputSink);
4286 }, _SinkMapper$(S, T))); 4441 }, _SinkMapper$(S, T)));
4287 } 4442 }
4288 bind(stream) { 4443 bind(stream) {
4444 dart.as(stream, Stream$(S));
4289 return super.bind(stream); 4445 return super.bind(stream);
4290 } 4446 }
4291 static _defaultHandleData(data, sink) { 4447 static _defaultHandleData(data, sink) {
4292 sink.add(data); 4448 sink.add(data);
4293 } 4449 }
4294 static _defaultHandleError(error, stackTrace, sink) { 4450 static _defaultHandleError(error, stackTrace, sink) {
4295 sink.addError(error); 4451 sink.addError(error);
4296 } 4452 }
4297 static _defaultHandleDone(sink) { 4453 static _defaultHandleDone(sink) {
4298 sink.close(); 4454 sink.close();
4299 } 4455 }
4300 } 4456 }
4301 return _StreamHandlerTransformer; 4457 return _StreamHandlerTransformer;
4302 }); 4458 });
4303 let _StreamHandlerTransformer = _StreamHandlerTransformer$(); 4459 let _StreamHandlerTransformer = _StreamHandlerTransformer$();
4304 let _SubscriptionTransformer$ = dart.generic(function(S, T) { 4460 let _SubscriptionTransformer$ = dart.generic(function(S, T) {
4305 let _SubscriptionTransformer = dart.typedef('_SubscriptionTransformer', () = > dart.functionType(StreamSubscription$(T), [Stream$(S), core.bool])); 4461 let _SubscriptionTransformer = dart.typedef('_SubscriptionTransformer', () = > dart.functionType(StreamSubscription$(T), [Stream$(S), core.bool]));
4306 return _SubscriptionTransformer; 4462 return _SubscriptionTransformer;
4307 }); 4463 });
4308 let _SubscriptionTransformer = _SubscriptionTransformer$(); 4464 let _SubscriptionTransformer = _SubscriptionTransformer$();
4309 let _transformer = Symbol('_transformer'); 4465 let _transformer = Symbol('_transformer');
4310 let _StreamSubscriptionTransformer$ = dart.generic(function(S, T) { 4466 let _StreamSubscriptionTransformer$ = dart.generic(function(S, T) {
4311 class _StreamSubscriptionTransformer extends core.Object { 4467 class _StreamSubscriptionTransformer extends core.Object {
4312 _StreamSubscriptionTransformer(transformer) { 4468 _StreamSubscriptionTransformer(transformer) {
4313 this[_transformer] = transformer; 4469 this[_transformer] = transformer;
4314 } 4470 }
4315 bind(stream) { 4471 bind(stream) {
4472 dart.as(stream, Stream$(S));
4316 return new (_BoundSubscriptionStream$(S, T))(stream, this[_transformer]) ; 4473 return new (_BoundSubscriptionStream$(S, T))(stream, this[_transformer]) ;
4317 } 4474 }
4318 } 4475 }
4319 _StreamSubscriptionTransformer[dart.implements] = () => [StreamTransformer$( S, T)]; 4476 _StreamSubscriptionTransformer[dart.implements] = () => [StreamTransformer$( S, T)];
4320 return _StreamSubscriptionTransformer; 4477 return _StreamSubscriptionTransformer;
4321 }); 4478 });
4322 let _StreamSubscriptionTransformer = _StreamSubscriptionTransformer$(); 4479 let _StreamSubscriptionTransformer = _StreamSubscriptionTransformer$();
4323 let _BoundSubscriptionStream$ = dart.generic(function(S, T) { 4480 let _BoundSubscriptionStream$ = dart.generic(function(S, T) {
4324 class _BoundSubscriptionStream extends Stream$(T) { 4481 class _BoundSubscriptionStream extends Stream$(T) {
4325 _BoundSubscriptionStream(stream, transformer) { 4482 _BoundSubscriptionStream(stream, transformer) {
4326 this[_stream] = stream; 4483 this[_stream] = stream;
4327 this[_transformer] = transformer; 4484 this[_transformer] = transformer;
4328 super.Stream(); 4485 super.Stream();
4329 } 4486 }
4330 listen(onData, opts) { 4487 listen(onData, opts) {
4488 dart.as(onData, dart.functionType(dart.void, [T]));
4331 let onError = opts && 'onError' in opts ? opts.onError : null; 4489 let onError = opts && 'onError' in opts ? opts.onError : null;
4332 let onDone = opts && 'onDone' in opts ? opts.onDone : null; 4490 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
4491 dart.as(onDone, dart.functionType(dart.void, []));
4333 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null; 4492 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
4334 cancelOnError = core.identical(true, cancelOnError); 4493 cancelOnError = core.identical(true, cancelOnError);
4335 let result = this[_transformer](this[_stream], cancelOnError); 4494 let result = this[_transformer](this[_stream], cancelOnError);
4336 result.onData(onData); 4495 result.onData(onData);
4337 result.onError(onError); 4496 result.onError(onError);
4338 result.onDone(onDone); 4497 result.onDone(onDone);
4339 return result; 4498 return result;
4340 } 4499 }
4341 } 4500 }
4342 return _BoundSubscriptionStream; 4501 return _BoundSubscriptionStream;
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after
5200 exports.ScheduleMicrotaskHandler = ScheduleMicrotaskHandler; 5359 exports.ScheduleMicrotaskHandler = ScheduleMicrotaskHandler;
5201 exports.CreateTimerHandler = CreateTimerHandler; 5360 exports.CreateTimerHandler = CreateTimerHandler;
5202 exports.CreatePeriodicTimerHandler = CreatePeriodicTimerHandler; 5361 exports.CreatePeriodicTimerHandler = CreatePeriodicTimerHandler;
5203 exports.PrintHandler = PrintHandler; 5362 exports.PrintHandler = PrintHandler;
5204 exports.ForkHandler = ForkHandler; 5363 exports.ForkHandler = ForkHandler;
5205 exports.ZoneSpecification = ZoneSpecification; 5364 exports.ZoneSpecification = ZoneSpecification;
5206 exports.ZoneDelegate = ZoneDelegate; 5365 exports.ZoneDelegate = ZoneDelegate;
5207 exports.Zone = Zone; 5366 exports.Zone = Zone;
5208 exports.runZoned = runZoned; 5367 exports.runZoned = runZoned;
5209 })(async || (async = {})); 5368 })(async || (async = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/_js_helper.js ('k') | lib/runtime/dart/collection.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698