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

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

Issue 1034273003: fix for static methods and names banned in strict mode (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 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/_native_typed_data.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.dinvokef(errorHandler, error, stackTrace); 7 return dart.dinvokef(errorHandler, error, stackTrace);
8 } else { 8 } else {
9 return dart.dinvokef(errorHandler, error); 9 return dart.dinvokef(errorHandler, error);
10 } 10 }
11 } 11 }
12 // Function _registerErrorHandler: (Function, Zone) → Function 12 // Function _registerErrorHandler: (Function, Zone) → Function
13 function _registerErrorHandler(errorHandler, zone) { 13 function _registerErrorHandler(errorHandler, zone) {
14 if (dart.is(errorHandler, ZoneBinaryCallback)) { 14 if (dart.is(errorHandler, ZoneBinaryCallback)) {
15 return zone.registerBinaryCallback(errorHandler); 15 return zone.registerBinaryCallback(errorHandler);
16 } else { 16 } else {
17 return zone.registerUnaryCallback(dart.as(errorHandler, dart.throw_("Unimp lemented type (dynamic) → dynamic"))); 17 return zone.registerUnaryCallback(dart.as(errorHandler, dart.throw_("Unimp lemented type (dynamic) → dynamic")));
18 } 18 }
19 } 19 }
20 let _getBestStackTrace$ = Symbol('_getBestStackTrace'); 20 let _getBestStackTrace = Symbol('_getBestStackTrace');
21 class AsyncError extends core.Object { 21 class AsyncError extends core.Object {
22 AsyncError(error, stackTrace) { 22 AsyncError(error, stackTrace) {
23 this.error = error; 23 this.error = error;
24 this.stackTrace = stackTrace; 24 this.stackTrace = stackTrace;
25 } 25 }
26 toString() { 26 toString() {
27 return dart.as(dart.dinvoke(this.error, 'toString'), core.String); 27 return dart.as(dart.dinvoke(this.error, 'toString'), core.String);
28 } 28 }
29 } 29 }
30 class _UncaughtAsyncError extends AsyncError { 30 class _UncaughtAsyncError extends AsyncError {
31 _UncaughtAsyncError(error, stackTrace) { 31 _UncaughtAsyncError(error, stackTrace) {
32 super.AsyncError(error, _getBestStackTrace(error, stackTrace)); 32 super.AsyncError(error, _UncaughtAsyncError[_getBestStackTrace](error, sta ckTrace));
33 } 33 }
34 static [_getBestStackTrace$](error, stackTrace) { 34 static [_getBestStackTrace](error, stackTrace) {
35 if (stackTrace !== null) 35 if (stackTrace !== null)
36 return stackTrace; 36 return stackTrace;
37 if (dart.is(error, core.Error)) { 37 if (dart.is(error, core.Error)) {
38 return dart.as(dart.dload(error, 'stackTrace'), core.StackTrace); 38 return dart.as(dart.dload(error, 'stackTrace'), core.StackTrace);
39 } 39 }
40 return null; 40 return null;
41 } 41 }
42 toString() { 42 toString() {
43 let result = `Uncaught Error: ${this.error}`; 43 let result = `Uncaught Error: ${this.error}`;
44 if (this.stackTrace !== null) { 44 if (this.stackTrace !== null) {
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 let _next = Symbol('_next'); 726 let _next = Symbol('_next');
727 let _previous = Symbol('_previous'); 727 let _previous = Symbol('_previous');
728 class _BroadcastSubscriptionLink extends core.Object { 728 class _BroadcastSubscriptionLink extends core.Object {
729 _BroadcastSubscriptionLink() { 729 _BroadcastSubscriptionLink() {
730 this[_next] = null; 730 this[_next] = null;
731 this[_previous] = null; 731 this[_previous] = null;
732 } 732 }
733 } 733 }
734 let _eventState = Symbol('_eventState'); 734 let _eventState = Symbol('_eventState');
735 let _expectsEvent = Symbol('_expectsEvent'); 735 let _expectsEvent = Symbol('_expectsEvent');
736 let _STATE_EVENT_ID = Symbol('_STATE_EVENT_ID');
736 let _toggleEventId = Symbol('_toggleEventId'); 737 let _toggleEventId = Symbol('_toggleEventId');
737 let _isFiring = Symbol('_isFiring'); 738 let _isFiring = Symbol('_isFiring');
739 let _STATE_FIRING = Symbol('_STATE_FIRING');
738 let _setRemoveAfterFiring = Symbol('_setRemoveAfterFiring'); 740 let _setRemoveAfterFiring = Symbol('_setRemoveAfterFiring');
741 let _STATE_REMOVE_AFTER_FIRING = Symbol('_STATE_REMOVE_AFTER_FIRING');
739 let _removeAfterFiring = Symbol('_removeAfterFiring'); 742 let _removeAfterFiring = Symbol('_removeAfterFiring');
740 let _onPause = Symbol('_onPause'); 743 let _onPause = Symbol('_onPause');
741 let _onResume = Symbol('_onResume'); 744 let _onResume = Symbol('_onResume');
742 let _onCancel = Symbol('_onCancel'); 745 let _onCancel = Symbol('_onCancel');
743 let _zone = Symbol('_zone'); 746 let _zone = Symbol('_zone');
744 let _state = Symbol('_state'); 747 let _state = Symbol('_state');
748 let _STATE_CANCEL_ON_ERROR = Symbol('_STATE_CANCEL_ON_ERROR');
745 let _onData = Symbol('_onData'); 749 let _onData = Symbol('_onData');
746 let _onError = Symbol('_onError'); 750 let _onError = Symbol('_onError');
747 let _onDone = Symbol('_onDone'); 751 let _onDone = Symbol('_onDone');
748 let _cancelFuture = Symbol('_cancelFuture'); 752 let _cancelFuture = Symbol('_cancelFuture');
749 let _pending = Symbol('_pending'); 753 let _pending = Symbol('_pending');
750 let _setPendingEvents = Symbol('_setPendingEvents'); 754 let _setPendingEvents = Symbol('_setPendingEvents');
755 let _STATE_HAS_PENDING = Symbol('_STATE_HAS_PENDING');
751 let _extractPending = Symbol('_extractPending'); 756 let _extractPending = Symbol('_extractPending');
752 let _isCanceled = Symbol('_isCanceled'); 757 let _isCanceled = Symbol('_isCanceled');
753 let _isPaused = Symbol('_isPaused'); 758 let _isPaused = Symbol('_isPaused');
754 let _isInputPaused = Symbol('_isInputPaused'); 759 let _isInputPaused = Symbol('_isInputPaused');
760 let _STATE_PAUSE_COUNT = Symbol('_STATE_PAUSE_COUNT');
761 let _STATE_INPUT_PAUSED = Symbol('_STATE_INPUT_PAUSED');
755 let _inCallback = Symbol('_inCallback'); 762 let _inCallback = Symbol('_inCallback');
756 let _guardCallback = Symbol('_guardCallback'); 763 let _guardCallback = Symbol('_guardCallback');
757 let _decrementPauseCount = Symbol('_decrementPauseCount'); 764 let _decrementPauseCount = Symbol('_decrementPauseCount');
758 let _hasPending = Symbol('_hasPending'); 765 let _hasPending = Symbol('_hasPending');
759 let _mayResumeInput = Symbol('_mayResumeInput'); 766 let _mayResumeInput = Symbol('_mayResumeInput');
767 let _STATE_WAIT_FOR_CANCEL = Symbol('_STATE_WAIT_FOR_CANCEL');
760 let _cancel = Symbol('_cancel'); 768 let _cancel = Symbol('_cancel');
761 let _isClosed = Symbol('_isClosed'); 769 let _isClosed = Symbol('_isClosed');
770 let _STATE_CLOSED = Symbol('_STATE_CLOSED');
771 let _STATE_CANCELED = Symbol('_STATE_CANCELED');
762 let _waitsForCancel = Symbol('_waitsForCancel'); 772 let _waitsForCancel = Symbol('_waitsForCancel');
773 let _STATE_IN_CALLBACK = Symbol('_STATE_IN_CALLBACK');
763 let _canFire = Symbol('_canFire'); 774 let _canFire = Symbol('_canFire');
764 let _cancelOnError = Symbol('_cancelOnError'); 775 let _cancelOnError = Symbol('_cancelOnError');
765 let _incrementPauseCount = Symbol('_incrementPauseCount'); 776 let _incrementPauseCount = Symbol('_incrementPauseCount');
766 let _add = Symbol('_add'); 777 let _add = Symbol('_add');
767 let _sendData = Symbol('_sendData'); 778 let _sendData = Symbol('_sendData');
768 let _addPending = Symbol('_addPending'); 779 let _addPending = Symbol('_addPending');
769 let _sendError = Symbol('_sendError'); 780 let _sendError = Symbol('_sendError');
770 let _close = Symbol('_close'); 781 let _close = Symbol('_close');
771 let _sendDone = Symbol('_sendDone'); 782 let _sendDone = Symbol('_sendDone');
772 let _checkState = Symbol('_checkState'); 783 let _checkState = Symbol('_checkState');
773 let _BufferingStreamSubscription$ = dart.generic(function(T) { 784 let _BufferingStreamSubscription$ = dart.generic(function(T) {
774 class _BufferingStreamSubscription extends core.Object { 785 class _BufferingStreamSubscription extends core.Object {
775 _BufferingStreamSubscription(onData, onError, onDone, cancelOnError) { 786 _BufferingStreamSubscription(onData, onError, onDone, cancelOnError) {
776 this[_zone] = Zone.current; 787 this[_zone] = Zone.current;
777 this[_state] = cancelOnError ? _BufferingStreamSubscription._STATE_CANCE L_ON_ERROR : 0; 788 this[_state] = cancelOnError ? _BufferingStreamSubscription[_STATE_CANCE L_ON_ERROR] : 0;
778 this[_onData] = null; 789 this[_onData] = null;
779 this[_onError] = null; 790 this[_onError] = null;
780 this[_onDone] = null; 791 this[_onDone] = null;
781 this[_cancelFuture] = null; 792 this[_cancelFuture] = null;
782 this[_pending] = null; 793 this[_pending] = null;
783 this.onData(onData); 794 this.onData(onData);
784 this.onError(onError); 795 this.onError(onError);
785 this.onDone(onDone); 796 this.onDone(onDone);
786 } 797 }
787 [_setPendingEvents](pendingEvents) { 798 [_setPendingEvents](pendingEvents) {
788 dart.assert(this[_pending] === null); 799 dart.assert(this[_pending] === null);
789 if (pendingEvents === null) 800 if (pendingEvents === null)
790 return; 801 return;
791 this[_pending] = pendingEvents; 802 this[_pending] = pendingEvents;
792 if (!dart.notNull(pendingEvents.isEmpty)) { 803 if (!dart.notNull(pendingEvents.isEmpty)) {
793 this[_state] = _BufferingStreamSubscription._STATE_HAS_PENDING; 804 this[_state] = _BufferingStreamSubscription[_STATE_HAS_PENDING];
794 this[_pending].schedule(this); 805 this[_pending].schedule(this);
795 } 806 }
796 } 807 }
797 [_extractPending]() { 808 [_extractPending]() {
798 dart.assert(this[_isCanceled]); 809 dart.assert(this[_isCanceled]);
799 let events = this[_pending]; 810 let events = this[_pending];
800 this[_pending] = null; 811 this[_pending] = null;
801 return events; 812 return events;
802 } 813 }
803 onData(handleData) { 814 onData(handleData) {
(...skipping 11 matching lines...) Expand all
815 handleDone = _nullDoneHandler; 826 handleDone = _nullDoneHandler;
816 this[_onDone] = this[_zone].registerCallback(handleDone); 827 this[_onDone] = this[_zone].registerCallback(handleDone);
817 } 828 }
818 pause(resumeSignal) { 829 pause(resumeSignal) {
819 if (resumeSignal === void 0) 830 if (resumeSignal === void 0)
820 resumeSignal = null; 831 resumeSignal = null;
821 if (this[_isCanceled]) 832 if (this[_isCanceled])
822 return; 833 return;
823 let wasPaused = this[_isPaused]; 834 let wasPaused = this[_isPaused];
824 let wasInputPaused = this[_isInputPaused]; 835 let wasInputPaused = this[_isInputPaused];
825 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT) | dart.notNull(_BufferingStreamSubscription._S TATE_INPUT_PAUSED); 836 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription[_STATE_PAUSE_COUNT]) | dart.notNull(_BufferingStreamSubscription[_ STATE_INPUT_PAUSED]);
826 if (resumeSignal !== null) 837 if (resumeSignal !== null)
827 resumeSignal.whenComplete(this.resume); 838 resumeSignal.whenComplete(this.resume);
828 if (!dart.notNull(wasPaused) && dart.notNull(this[_pending] !== null)) 839 if (!dart.notNull(wasPaused) && dart.notNull(this[_pending] !== null))
829 this[_pending].cancelSchedule(); 840 this[_pending].cancelSchedule();
830 if (!dart.notNull(wasInputPaused) && !dart.notNull(this[_inCallback])) 841 if (!dart.notNull(wasInputPaused) && !dart.notNull(this[_inCallback]))
831 this[_guardCallback](this[_onPause]); 842 this[_guardCallback](this[_onPause]);
832 } 843 }
833 resume() { 844 resume() {
834 if (this[_isCanceled]) 845 if (this[_isCanceled])
835 return; 846 return;
836 if (this[_isPaused]) { 847 if (this[_isPaused]) {
837 this[_decrementPauseCount](); 848 this[_decrementPauseCount]();
838 if (!dart.notNull(this[_isPaused])) { 849 if (!dart.notNull(this[_isPaused])) {
839 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_pending]. isEmpty)) { 850 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_pending]. isEmpty)) {
840 this[_pending].schedule(this); 851 this[_pending].schedule(this);
841 } else { 852 } else {
842 dart.assert(this[_mayResumeInput]); 853 dart.assert(this[_mayResumeInput]);
843 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_I NPUT_PAUSED); 854 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_I NPUT_PAUSED]);
844 if (!dart.notNull(this[_inCallback])) 855 if (!dart.notNull(this[_inCallback]))
845 this[_guardCallback](this[_onResume]); 856 this[_guardCallback](this[_onResume]);
846 } 857 }
847 } 858 }
848 } 859 }
849 } 860 }
850 cancel() { 861 cancel() {
851 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_WAIT_FO R_CANCEL); 862 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_WAIT_FO R_CANCEL]);
852 if (this[_isCanceled]) 863 if (this[_isCanceled])
853 return this[_cancelFuture]; 864 return this[_cancelFuture];
854 this[_cancel](); 865 this[_cancel]();
855 return this[_cancelFuture]; 866 return this[_cancelFuture];
856 } 867 }
857 asFuture(futureValue) { 868 asFuture(futureValue) {
858 if (futureValue === void 0) 869 if (futureValue === void 0)
859 futureValue = null; 870 futureValue = null;
860 let result = new _Future(); 871 let result = new _Future();
861 this[_onDone] = (() => { 872 this[_onDone] = (() => {
862 result._complete(futureValue); 873 result._complete(futureValue);
863 }).bind(this); 874 }).bind(this);
864 this[_onError] = ((error, stackTrace) => { 875 this[_onError] = ((error, stackTrace) => {
865 this.cancel(); 876 this.cancel();
866 result._completeError(error, dart.as(stackTrace, core.StackTrace)); 877 result._completeError(error, dart.as(stackTrace, core.StackTrace));
867 }).bind(this); 878 }).bind(this);
868 return result; 879 return result;
869 } 880 }
870 get [_isInputPaused]() { 881 get [_isInputPaused]() {
871 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_INPUT_PAUSED)) !== 0; 882 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_INPUT_PAUSED])) !== 0;
872 } 883 }
873 get [_isClosed]() { 884 get [_isClosed]() {
874 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_CLOSED)) !== 0; 885 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_CLOSED])) !== 0;
875 } 886 }
876 get [_isCanceled]() { 887 get [_isCanceled]() {
877 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_CANCELED)) !== 0; 888 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_CANCELED])) !== 0;
878 } 889 }
879 get [_waitsForCancel]() { 890 get [_waitsForCancel]() {
880 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_WAIT_FOR_CANCEL)) !== 0; 891 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_WAIT_FOR_CANCEL])) !== 0;
881 } 892 }
882 get [_inCallback]() { 893 get [_inCallback]() {
883 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_IN_CALLBACK)) !== 0; 894 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_IN_CALLBACK])) !== 0;
884 } 895 }
885 get [_hasPending]() { 896 get [_hasPending]() {
886 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_HAS_PENDING)) !== 0; 897 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_HAS_PENDING])) !== 0;
887 } 898 }
888 get [_isPaused]() { 899 get [_isPaused]() {
889 return dart.notNull(this[_state]) >= dart.notNull(_BufferingStreamSubscr iption._STATE_PAUSE_COUNT); 900 return dart.notNull(this[_state]) >= dart.notNull(_BufferingStreamSubscr iption[_STATE_PAUSE_COUNT]);
890 } 901 }
891 get [_canFire]() { 902 get [_canFire]() {
892 return dart.notNull(this[_state]) < dart.notNull(_BufferingStreamSubscri ption._STATE_IN_CALLBACK); 903 return dart.notNull(this[_state]) < dart.notNull(_BufferingStreamSubscri ption[_STATE_IN_CALLBACK]);
893 } 904 }
894 get [_mayResumeInput]() { 905 get [_mayResumeInput]() {
895 return !dart.notNull(this[_isPaused]) && (dart.notNull(this[_pending] == = null) || dart.notNull(this[_pending].isEmpty)); 906 return !dart.notNull(this[_isPaused]) && (dart.notNull(this[_pending] == = null) || dart.notNull(this[_pending].isEmpty));
896 } 907 }
897 get [_cancelOnError]() { 908 get [_cancelOnError]() {
898 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_CANCEL_ON_ERROR)) !== 0; 909 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_CANCEL_ON_ERROR])) !== 0;
899 } 910 }
900 get isPaused() { 911 get isPaused() {
901 return this[_isPaused]; 912 return this[_isPaused];
902 } 913 }
903 [_cancel]() { 914 [_cancel]() {
904 this[_state] = _BufferingStreamSubscription._STATE_CANCELED; 915 this[_state] = _BufferingStreamSubscription[_STATE_CANCELED];
905 if (this[_hasPending]) { 916 if (this[_hasPending]) {
906 this[_pending].cancelSchedule(); 917 this[_pending].cancelSchedule();
907 } 918 }
908 if (!dart.notNull(this[_inCallback])) 919 if (!dart.notNull(this[_inCallback]))
909 this[_pending] = null; 920 this[_pending] = null;
910 this[_cancelFuture] = this[_onCancel](); 921 this[_cancelFuture] = this[_onCancel]();
911 } 922 }
912 [_incrementPauseCount]() { 923 [_incrementPauseCount]() {
913 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT) | dart.notNull(_BufferingStreamSubscription._S TATE_INPUT_PAUSED); 924 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription[_STATE_PAUSE_COUNT]) | dart.notNull(_BufferingStreamSubscription[_ STATE_INPUT_PAUSED]);
914 } 925 }
915 [_decrementPauseCount]() { 926 [_decrementPauseCount]() {
916 dart.assert(this[_isPaused]); 927 dart.assert(this[_isPaused]);
917 this[_state] = _BufferingStreamSubscription._STATE_PAUSE_COUNT; 928 this[_state] = _BufferingStreamSubscription[_STATE_PAUSE_COUNT];
918 } 929 }
919 [_add](data) { 930 [_add](data) {
920 dart.assert(!dart.notNull(this[_isClosed])); 931 dart.assert(!dart.notNull(this[_isClosed]));
921 if (this[_isCanceled]) 932 if (this[_isCanceled])
922 return; 933 return;
923 if (this[_canFire]) { 934 if (this[_canFire]) {
924 this[_sendData](data); 935 this[_sendData](data);
925 } else { 936 } else {
926 this[_addPending](new _DelayedData(data)); 937 this[_addPending](new _DelayedData(data));
927 } 938 }
928 } 939 }
929 [_addError](error, stackTrace) { 940 [_addError](error, stackTrace) {
930 if (this[_isCanceled]) 941 if (this[_isCanceled])
931 return; 942 return;
932 if (this[_canFire]) { 943 if (this[_canFire]) {
933 this[_sendError](error, stackTrace); 944 this[_sendError](error, stackTrace);
934 } else { 945 } else {
935 this[_addPending](new _DelayedError(error, stackTrace)); 946 this[_addPending](new _DelayedError(error, stackTrace));
936 } 947 }
937 } 948 }
938 [_close]() { 949 [_close]() {
939 dart.assert(!dart.notNull(this[_isClosed])); 950 dart.assert(!dart.notNull(this[_isClosed]));
940 if (this[_isCanceled]) 951 if (this[_isCanceled])
941 return; 952 return;
942 this[_state] = _BufferingStreamSubscription._STATE_CLOSED; 953 this[_state] = _BufferingStreamSubscription[_STATE_CLOSED];
943 if (this[_canFire]) { 954 if (this[_canFire]) {
944 this[_sendDone](); 955 this[_sendDone]();
945 } else { 956 } else {
946 this[_addPending](new _DelayedDone()); 957 this[_addPending](new _DelayedDone());
947 } 958 }
948 } 959 }
949 [_onPause]() { 960 [_onPause]() {
950 dart.assert(this[_isInputPaused]); 961 dart.assert(this[_isInputPaused]);
951 } 962 }
952 [_onResume]() { 963 [_onResume]() {
953 dart.assert(!dart.notNull(this[_isInputPaused])); 964 dart.assert(!dart.notNull(this[_isInputPaused]));
954 } 965 }
955 [_onCancel]() { 966 [_onCancel]() {
956 dart.assert(this[_isCanceled]); 967 dart.assert(this[_isCanceled]);
957 return null; 968 return null;
958 } 969 }
959 [_addPending](event) { 970 [_addPending](event) {
960 let pending = dart.as(this[_pending], _StreamImplEvents); 971 let pending = dart.as(this[_pending], _StreamImplEvents);
961 if (this[_pending] === null) 972 if (this[_pending] === null)
962 pending = this[_pending] = new _StreamImplEvents(); 973 pending = this[_pending] = new _StreamImplEvents();
963 pending.add(event); 974 pending.add(event);
964 if (!dart.notNull(this[_hasPending])) { 975 if (!dart.notNull(this[_hasPending])) {
965 this[_state] = _BufferingStreamSubscription._STATE_HAS_PENDING; 976 this[_state] = _BufferingStreamSubscription[_STATE_HAS_PENDING];
966 if (!dart.notNull(this[_isPaused])) { 977 if (!dart.notNull(this[_isPaused])) {
967 this[_pending].schedule(this); 978 this[_pending].schedule(this);
968 } 979 }
969 } 980 }
970 } 981 }
971 [_sendData](data) { 982 [_sendData](data) {
972 dart.assert(!dart.notNull(this[_isCanceled])); 983 dart.assert(!dart.notNull(this[_isCanceled]));
973 dart.assert(!dart.notNull(this[_isPaused])); 984 dart.assert(!dart.notNull(this[_isPaused]));
974 dart.assert(!dart.notNull(this[_inCallback])); 985 dart.assert(!dart.notNull(this[_inCallback]));
975 let wasInputPaused = this[_isInputPaused]; 986 let wasInputPaused = this[_isInputPaused];
976 this[_state] = _BufferingStreamSubscription._STATE_IN_CALLBACK; 987 this[_state] = _BufferingStreamSubscription[_STATE_IN_CALLBACK];
977 this[_zone].runUnaryGuarded(this[_onData], data); 988 this[_zone].runUnaryGuarded(this[_onData], data);
978 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_IN_CALL BACK); 989 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_IN_CALL BACK]);
979 this[_checkState](wasInputPaused); 990 this[_checkState](wasInputPaused);
980 } 991 }
981 [_sendError](error, stackTrace) { 992 [_sendError](error, stackTrace) {
982 dart.assert(!dart.notNull(this[_isCanceled])); 993 dart.assert(!dart.notNull(this[_isCanceled]));
983 dart.assert(!dart.notNull(this[_isPaused])); 994 dart.assert(!dart.notNull(this[_isPaused]));
984 dart.assert(!dart.notNull(this[_inCallback])); 995 dart.assert(!dart.notNull(this[_inCallback]));
985 let wasInputPaused = this[_isInputPaused]; 996 let wasInputPaused = this[_isInputPaused];
986 // Function sendError: () → void 997 // Function sendError: () → void
987 function sendError() { 998 function sendError() {
988 if (dart.notNull(this[_isCanceled]) && !dart.notNull(this[_waitsForCan cel])) 999 if (dart.notNull(this[_isCanceled]) && !dart.notNull(this[_waitsForCan cel]))
989 return; 1000 return;
990 this[_state] = _BufferingStreamSubscription._STATE_IN_CALLBACK; 1001 this[_state] = _BufferingStreamSubscription[_STATE_IN_CALLBACK];
991 if (dart.is(this[_onError], ZoneBinaryCallback)) { 1002 if (dart.is(this[_onError], ZoneBinaryCallback)) {
992 this[_zone].runBinaryGuarded(dart.as(this[_onError], dart.throw_("Un implemented type (dynamic, dynamic) → dynamic")), error, stackTrace); 1003 this[_zone].runBinaryGuarded(dart.as(this[_onError], dart.throw_("Un implemented type (dynamic, dynamic) → dynamic")), error, stackTrace);
993 } else { 1004 } else {
994 this[_zone].runUnaryGuarded(dart.as(this[_onError], dart.throw_("Uni mplemented type (dynamic) → dynamic")), error); 1005 this[_zone].runUnaryGuarded(dart.as(this[_onError], dart.throw_("Uni mplemented type (dynamic) → dynamic")), error);
995 } 1006 }
996 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_IN_CA LLBACK); 1007 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_IN_CA LLBACK]);
997 } 1008 }
998 if (this[_cancelOnError]) { 1009 if (this[_cancelOnError]) {
999 this[_state] = _BufferingStreamSubscription._STATE_WAIT_FOR_CANCEL; 1010 this[_state] = _BufferingStreamSubscription[_STATE_WAIT_FOR_CANCEL];
1000 this[_cancel](); 1011 this[_cancel]();
1001 if (dart.is(this[_cancelFuture], Future)) { 1012 if (dart.is(this[_cancelFuture], Future)) {
1002 this[_cancelFuture].whenComplete(sendError); 1013 this[_cancelFuture].whenComplete(sendError);
1003 } else { 1014 } else {
1004 sendError(); 1015 sendError();
1005 } 1016 }
1006 } else { 1017 } else {
1007 sendError(); 1018 sendError();
1008 this[_checkState](wasInputPaused); 1019 this[_checkState](wasInputPaused);
1009 } 1020 }
1010 } 1021 }
1011 [_sendDone]() { 1022 [_sendDone]() {
1012 dart.assert(!dart.notNull(this[_isCanceled])); 1023 dart.assert(!dart.notNull(this[_isCanceled]));
1013 dart.assert(!dart.notNull(this[_isPaused])); 1024 dart.assert(!dart.notNull(this[_isPaused]));
1014 dart.assert(!dart.notNull(this[_inCallback])); 1025 dart.assert(!dart.notNull(this[_inCallback]));
1015 // Function sendDone: () → void 1026 // Function sendDone: () → void
1016 function sendDone() { 1027 function sendDone() {
1017 if (!dart.notNull(this[_waitsForCancel])) 1028 if (!dart.notNull(this[_waitsForCancel]))
1018 return; 1029 return;
1019 this[_state] = dart.notNull(_BufferingStreamSubscription._STATE_CANCEL ED) | dart.notNull(_BufferingStreamSubscription._STATE_CLOSED) | dart.notNull(_B ufferingStreamSubscription._STATE_IN_CALLBACK); 1030 this[_state] = dart.notNull(_BufferingStreamSubscription[_STATE_CANCEL ED]) | dart.notNull(_BufferingStreamSubscription[_STATE_CLOSED]) | dart.notNull( _BufferingStreamSubscription[_STATE_IN_CALLBACK]);
1020 this[_zone].runGuarded(this[_onDone]); 1031 this[_zone].runGuarded(this[_onDone]);
1021 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_IN_CA LLBACK); 1032 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_IN_CA LLBACK]);
1022 } 1033 }
1023 this[_cancel](); 1034 this[_cancel]();
1024 this[_state] = _BufferingStreamSubscription._STATE_WAIT_FOR_CANCEL; 1035 this[_state] = _BufferingStreamSubscription[_STATE_WAIT_FOR_CANCEL];
1025 if (dart.is(this[_cancelFuture], Future)) { 1036 if (dart.is(this[_cancelFuture], Future)) {
1026 this[_cancelFuture].whenComplete(sendDone); 1037 this[_cancelFuture].whenComplete(sendDone);
1027 } else { 1038 } else {
1028 sendDone(); 1039 sendDone();
1029 } 1040 }
1030 } 1041 }
1031 [_guardCallback](callback) { 1042 [_guardCallback](callback) {
1032 dart.assert(!dart.notNull(this[_inCallback])); 1043 dart.assert(!dart.notNull(this[_inCallback]));
1033 let wasInputPaused = this[_isInputPaused]; 1044 let wasInputPaused = this[_isInputPaused];
1034 this[_state] = _BufferingStreamSubscription._STATE_IN_CALLBACK; 1045 this[_state] = _BufferingStreamSubscription[_STATE_IN_CALLBACK];
1035 dart.dinvokef(callback); 1046 dart.dinvokef(callback);
1036 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_IN_CALL BACK); 1047 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_IN_CALL BACK]);
1037 this[_checkState](wasInputPaused); 1048 this[_checkState](wasInputPaused);
1038 } 1049 }
1039 [_checkState](wasInputPaused) { 1050 [_checkState](wasInputPaused) {
1040 dart.assert(!dart.notNull(this[_inCallback])); 1051 dart.assert(!dart.notNull(this[_inCallback]));
1041 if (dart.notNull(this[_hasPending]) && dart.notNull(this[_pending].isEmp ty)) { 1052 if (dart.notNull(this[_hasPending]) && dart.notNull(this[_pending].isEmp ty)) {
1042 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_HAS_P ENDING); 1053 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_HAS_P ENDING]);
1043 if (dart.notNull(this[_isInputPaused]) && dart.notNull(this[_mayResume Input])) { 1054 if (dart.notNull(this[_isInputPaused]) && dart.notNull(this[_mayResume Input])) {
1044 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_INP UT_PAUSED); 1055 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_INP UT_PAUSED]);
1045 } 1056 }
1046 } 1057 }
1047 while (true) { 1058 while (true) {
1048 if (this[_isCanceled]) { 1059 if (this[_isCanceled]) {
1049 this[_pending] = null; 1060 this[_pending] = null;
1050 return; 1061 return;
1051 } 1062 }
1052 let isInputPaused = this[_isInputPaused]; 1063 let isInputPaused = this[_isInputPaused];
1053 if (wasInputPaused === isInputPaused) 1064 if (wasInputPaused === isInputPaused)
1054 break; 1065 break;
1055 this[_state] = _BufferingStreamSubscription._STATE_IN_CALLBACK; 1066 this[_state] = _BufferingStreamSubscription[_STATE_IN_CALLBACK];
1056 if (isInputPaused) { 1067 if (isInputPaused) {
1057 this[_onPause](); 1068 this[_onPause]();
1058 } else { 1069 } else {
1059 this[_onResume](); 1070 this[_onResume]();
1060 } 1071 }
1061 this[_state] = ~dart.notNull(_BufferingStreamSubscription._STATE_IN_CA LLBACK); 1072 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_IN_CA LLBACK]);
1062 wasInputPaused = isInputPaused; 1073 wasInputPaused = isInputPaused;
1063 } 1074 }
1064 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_isPaused])) { 1075 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_isPaused])) {
1065 this[_pending].schedule(this); 1076 this[_pending].schedule(this);
1066 } 1077 }
1067 } 1078 }
1068 } 1079 }
1069 _BufferingStreamSubscription._STATE_CANCEL_ON_ERROR = 1; 1080 _BufferingStreamSubscription._STATE_CANCEL_ON_ERROR = 1;
1070 _BufferingStreamSubscription._STATE_CLOSED = 2; 1081 _BufferingStreamSubscription._STATE_CLOSED = 2;
1071 _BufferingStreamSubscription._STATE_INPUT_PAUSED = 4; 1082 _BufferingStreamSubscription._STATE_INPUT_PAUSED = 4;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1103 this[_eventState] = null; 1114 this[_eventState] = null;
1104 this[_next] = null; 1115 this[_next] = null;
1105 this[_previous] = null; 1116 this[_previous] = null;
1106 super._ControllerSubscription(dart.as(controller, _StreamControllerLifec ycle$(T)), onData, onError, onDone, cancelOnError); 1117 super._ControllerSubscription(dart.as(controller, _StreamControllerLifec ycle$(T)), onData, onError, onDone, cancelOnError);
1107 this[_next] = this[_previous] = this; 1118 this[_next] = this[_previous] = this;
1108 } 1119 }
1109 get [_controller]() { 1120 get [_controller]() {
1110 return dart.as(super[_controller], _BroadcastStreamController); 1121 return dart.as(super[_controller], _BroadcastStreamController);
1111 } 1122 }
1112 [_expectsEvent](eventId) { 1123 [_expectsEvent](eventId) {
1113 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption._STATE_EVENT_ID)) === eventId; 1124 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption[_STATE_EVENT_ID])) === eventId;
1114 } 1125 }
1115 [_toggleEventId]() { 1126 [_toggleEventId]() {
1116 this[_eventState] = _BroadcastSubscription._STATE_EVENT_ID; 1127 this[_eventState] = _BroadcastSubscription[_STATE_EVENT_ID];
1117 } 1128 }
1118 get [_isFiring]() { 1129 get [_isFiring]() {
1119 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption._STATE_FIRING)) !== 0; 1130 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption[_STATE_FIRING])) !== 0;
1120 } 1131 }
1121 [_setRemoveAfterFiring]() { 1132 [_setRemoveAfterFiring]() {
1122 dart.assert(this[_isFiring]); 1133 dart.assert(this[_isFiring]);
1123 this[_eventState] = _BroadcastSubscription._STATE_REMOVE_AFTER_FIRING; 1134 this[_eventState] = _BroadcastSubscription[_STATE_REMOVE_AFTER_FIRING];
1124 } 1135 }
1125 get [_removeAfterFiring]() { 1136 get [_removeAfterFiring]() {
1126 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption._STATE_REMOVE_AFTER_FIRING)) !== 0; 1137 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption[_STATE_REMOVE_AFTER_FIRING])) !== 0;
1127 } 1138 }
1128 [_onPause]() {} 1139 [_onPause]() {}
1129 [_onResume]() {} 1140 [_onResume]() {}
1130 } 1141 }
1131 _BroadcastSubscription._STATE_EVENT_ID = 1; 1142 _BroadcastSubscription._STATE_EVENT_ID = 1;
1132 _BroadcastSubscription._STATE_FIRING = 2; 1143 _BroadcastSubscription._STATE_FIRING = 2;
1133 _BroadcastSubscription._STATE_REMOVE_AFTER_FIRING = 4; 1144 _BroadcastSubscription._STATE_REMOVE_AFTER_FIRING = 4;
1134 return _BroadcastSubscription; 1145 return _BroadcastSubscription;
1135 }); 1146 });
1136 let _BroadcastSubscription = _BroadcastSubscription$(dart.dynamic); 1147 let _BroadcastSubscription = _BroadcastSubscription$(dart.dynamic);
1148 let _STATE_INITIAL = Symbol('_STATE_INITIAL');
1137 let _addStreamState = Symbol('_addStreamState'); 1149 let _addStreamState = Symbol('_addStreamState');
1138 let _doneFuture = Symbol('_doneFuture'); 1150 let _doneFuture = Symbol('_doneFuture');
1139 let _isEmpty = Symbol('_isEmpty'); 1151 let _isEmpty = Symbol('_isEmpty');
1140 let _hasOneListener = Symbol('_hasOneListener'); 1152 let _hasOneListener = Symbol('_hasOneListener');
1141 let _isAddingStream = Symbol('_isAddingStream'); 1153 let _isAddingStream = Symbol('_isAddingStream');
1154 let _STATE_ADDSTREAM = Symbol('_STATE_ADDSTREAM');
1142 let _mayAddEvent = Symbol('_mayAddEvent'); 1155 let _mayAddEvent = Symbol('_mayAddEvent');
1143 let _ensureDoneFuture = Symbol('_ensureDoneFuture'); 1156 let _ensureDoneFuture = Symbol('_ensureDoneFuture');
1144 let _addListener = Symbol('_addListener'); 1157 let _addListener = Symbol('_addListener');
1145 let _removeListener = Symbol('_removeListener'); 1158 let _removeListener = Symbol('_removeListener');
1146 let _subscribe = Symbol('_subscribe'); 1159 let _subscribe = Symbol('_subscribe');
1147 let _recordCancel = Symbol('_recordCancel'); 1160 let _recordCancel = Symbol('_recordCancel');
1148 let _callOnCancel = Symbol('_callOnCancel'); 1161 let _callOnCancel = Symbol('_callOnCancel');
1149 let _recordPause = Symbol('_recordPause'); 1162 let _recordPause = Symbol('_recordPause');
1150 let _recordResume = Symbol('_recordResume'); 1163 let _recordResume = Symbol('_recordResume');
1151 let _addEventError = Symbol('_addEventError'); 1164 let _addEventError = Symbol('_addEventError');
1152 let _forEachListener = Symbol('_forEachListener'); 1165 let _forEachListener = Symbol('_forEachListener');
1153 let _STATE_FIRING = Symbol('_STATE_FIRING');
1154 let _mayComplete = Symbol('_mayComplete'); 1166 let _mayComplete = Symbol('_mayComplete');
1155 let _BroadcastStreamController$ = dart.generic(function(T) { 1167 let _BroadcastStreamController$ = dart.generic(function(T) {
1156 class _BroadcastStreamController extends core.Object { 1168 class _BroadcastStreamController extends core.Object {
1157 _BroadcastStreamController(onListen$, onCancel$) { 1169 _BroadcastStreamController(onListen$, onCancel$) {
1158 this[_onListen] = onListen$; 1170 this[_onListen] = onListen$;
1159 this[_onCancel] = onCancel$; 1171 this[_onCancel] = onCancel$;
1160 this[_state] = _BroadcastStreamController._STATE_INITIAL; 1172 this[_state] = _BroadcastStreamController[_STATE_INITIAL];
1161 this[_next] = null; 1173 this[_next] = null;
1162 this[_previous] = null; 1174 this[_previous] = null;
1163 this[_addStreamState] = null; 1175 this[_addStreamState] = null;
1164 this[_doneFuture] = null; 1176 this[_doneFuture] = null;
1165 this[_next] = this[_previous] = this; 1177 this[_next] = this[_previous] = this;
1166 } 1178 }
1167 get stream() { 1179 get stream() {
1168 return new _BroadcastStream(this); 1180 return new _BroadcastStream(this);
1169 } 1181 }
1170 get sink() { 1182 get sink() {
1171 return new _StreamSinkWrapper(this); 1183 return new _StreamSinkWrapper(this);
1172 } 1184 }
1173 get isClosed() { 1185 get isClosed() {
1174 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller._STATE_CLOSED)) !== 0; 1186 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller[_STATE_CLOSED])) !== 0;
1175 } 1187 }
1176 get isPaused() { 1188 get isPaused() {
1177 return false; 1189 return false;
1178 } 1190 }
1179 get hasListener() { 1191 get hasListener() {
1180 return !dart.notNull(this[_isEmpty]); 1192 return !dart.notNull(this[_isEmpty]);
1181 } 1193 }
1182 get [_hasOneListener]() { 1194 get [_hasOneListener]() {
1183 dart.assert(!dart.notNull(this[_isEmpty])); 1195 dart.assert(!dart.notNull(this[_isEmpty]));
1184 return core.identical(this[_next][_next], this); 1196 return core.identical(this[_next][_next], this);
1185 } 1197 }
1186 get [_isFiring]() { 1198 get [_isFiring]() {
1187 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller._STATE_FIRING)) !== 0; 1199 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller[_STATE_FIRING])) !== 0;
1188 } 1200 }
1189 get [_isAddingStream]() { 1201 get [_isAddingStream]() {
1190 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller._STATE_ADDSTREAM)) !== 0; 1202 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller[_STATE_ADDSTREAM])) !== 0;
1191 } 1203 }
1192 get [_mayAddEvent]() { 1204 get [_mayAddEvent]() {
1193 return dart.notNull(this[_state]) < dart.notNull(_BroadcastStreamControl ler._STATE_CLOSED); 1205 return dart.notNull(this[_state]) < dart.notNull(_BroadcastStreamControl ler[_STATE_CLOSED]);
1194 } 1206 }
1195 [_ensureDoneFuture]() { 1207 [_ensureDoneFuture]() {
1196 if (this[_doneFuture] !== null) 1208 if (this[_doneFuture] !== null)
1197 return this[_doneFuture]; 1209 return this[_doneFuture];
1198 return this[_doneFuture] = new _Future(); 1210 return this[_doneFuture] = new _Future();
1199 } 1211 }
1200 get [_isEmpty]() { 1212 get [_isEmpty]() {
1201 return core.identical(this[_next], this); 1213 return core.identical(this[_next], this);
1202 } 1214 }
1203 [_addListener](subscription) { 1215 [_addListener](subscription) {
1204 dart.assert(core.identical(subscription[_next], subscription)); 1216 dart.assert(core.identical(subscription[_next], subscription));
1205 subscription[_previous] = this[_previous]; 1217 subscription[_previous] = this[_previous];
1206 subscription[_next] = this; 1218 subscription[_next] = this;
1207 this[_previous][_next] = subscription; 1219 this[_previous][_next] = subscription;
1208 this[_previous] = subscription; 1220 this[_previous] = subscription;
1209 subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_B roadcastStreamController._STATE_EVENT_ID); 1221 subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_B roadcastStreamController[_STATE_EVENT_ID]);
1210 } 1222 }
1211 [_removeListener](subscription) { 1223 [_removeListener](subscription) {
1212 dart.assert(core.identical(subscription[_controller], this)); 1224 dart.assert(core.identical(subscription[_controller], this));
1213 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on))); 1225 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on)));
1214 let previous = subscription[_previous]; 1226 let previous = subscription[_previous];
1215 let next = subscription[_next]; 1227 let next = subscription[_next];
1216 previous[_next] = next; 1228 previous[_next] = next;
1217 next[_previous] = previous; 1229 next[_previous] = previous;
1218 subscription[_next] = subscription[_previous] = subscription; 1230 subscription[_next] = subscription[_previous] = subscription;
1219 } 1231 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 } 1284 }
1273 this[_sendError](error, stackTrace); 1285 this[_sendError](error, stackTrace);
1274 } 1286 }
1275 close() { 1287 close() {
1276 if (this.isClosed) { 1288 if (this.isClosed) {
1277 dart.assert(this[_doneFuture] !== null); 1289 dart.assert(this[_doneFuture] !== null);
1278 return this[_doneFuture]; 1290 return this[_doneFuture];
1279 } 1291 }
1280 if (!dart.notNull(this[_mayAddEvent])) 1292 if (!dart.notNull(this[_mayAddEvent]))
1281 throw this[_addEventError](); 1293 throw this[_addEventError]();
1282 this[_state] = _BroadcastStreamController._STATE_CLOSED; 1294 this[_state] = _BroadcastStreamController[_STATE_CLOSED];
1283 let doneFuture = this[_ensureDoneFuture](); 1295 let doneFuture = this[_ensureDoneFuture]();
1284 this[_sendDone](); 1296 this[_sendDone]();
1285 return doneFuture; 1297 return doneFuture;
1286 } 1298 }
1287 get done() { 1299 get done() {
1288 return this[_ensureDoneFuture](); 1300 return this[_ensureDoneFuture]();
1289 } 1301 }
1290 addStream(stream, opts) { 1302 addStream(stream, opts) {
1291 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 1303 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
1292 if (!dart.notNull(this[_mayAddEvent])) 1304 if (!dart.notNull(this[_mayAddEvent]))
1293 throw this[_addEventError](); 1305 throw this[_addEventError]();
1294 this[_state] = _BroadcastStreamController._STATE_ADDSTREAM; 1306 this[_state] = _BroadcastStreamController[_STATE_ADDSTREAM];
1295 this[_addStreamState] = dart.as(new _AddStreamState(this, stream, cancel OnError), _AddStreamState$(T)); 1307 this[_addStreamState] = dart.as(new _AddStreamState(this, stream, cancel OnError), _AddStreamState$(T));
1296 return this[_addStreamState].addStreamFuture; 1308 return this[_addStreamState].addStreamFuture;
1297 } 1309 }
1298 [_add](data) { 1310 [_add](data) {
1299 this[_sendData](data); 1311 this[_sendData](data);
1300 } 1312 }
1301 [_addError](error, stackTrace) { 1313 [_addError](error, stackTrace) {
1302 this[_sendError](error, stackTrace); 1314 this[_sendError](error, stackTrace);
1303 } 1315 }
1304 [_close]() { 1316 [_close]() {
1305 dart.assert(this[_isAddingStream]); 1317 dart.assert(this[_isAddingStream]);
1306 let addState = this[_addStreamState]; 1318 let addState = this[_addStreamState];
1307 this[_addStreamState] = null; 1319 this[_addStreamState] = null;
1308 this[_state] = ~dart.notNull(_BroadcastStreamController._STATE_ADDSTREAM ); 1320 this[_state] = ~dart.notNull(_BroadcastStreamController[_STATE_ADDSTREAM ]);
1309 addState.complete(); 1321 addState.complete();
1310 } 1322 }
1311 [_forEachListener](action) { 1323 [_forEachListener](action) {
1312 if (this[_isFiring]) { 1324 if (this[_isFiring]) {
1313 throw new core.StateError("Cannot fire new event. Controller is alread y firing an event"); 1325 throw new core.StateError("Cannot fire new event. Controller is alread y firing an event");
1314 } 1326 }
1315 if (this[_isEmpty]) 1327 if (this[_isEmpty])
1316 return; 1328 return;
1317 let id = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContr oller._STATE_EVENT_ID); 1329 let id = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContr oller[_STATE_EVENT_ID]);
1318 this[_state] = dart.notNull(_BroadcastStreamController._STATE_EVENT_ID) | dart.notNull(_BroadcastStreamController._STATE_FIRING); 1330 this[_state] = dart.notNull(_BroadcastStreamController[_STATE_EVENT_ID]) | dart.notNull(_BroadcastStreamController[_STATE_FIRING]);
1319 let link = this[_next]; 1331 let link = this[_next];
1320 while (!dart.notNull(core.identical(link, this))) { 1332 while (!dart.notNull(core.identical(link, this))) {
1321 let subscription = dart.as(link, _BroadcastSubscription$(T)); 1333 let subscription = dart.as(link, _BroadcastSubscription$(T));
1322 if (subscription._expectsEvent(id)) { 1334 if (subscription._expectsEvent(id)) {
1323 subscription[_eventState] = _BroadcastSubscription[_STATE_FIRING]; 1335 subscription[_eventState] = _BroadcastSubscription[_STATE_FIRING];
1324 action(subscription); 1336 action(subscription);
1325 subscription._toggleEventId(); 1337 subscription._toggleEventId();
1326 link = subscription[_next]; 1338 link = subscription[_next];
1327 if (subscription[_removeAfterFiring]) { 1339 if (subscription[_removeAfterFiring]) {
1328 this[_removeListener](subscription); 1340 this[_removeListener](subscription);
1329 } 1341 }
1330 subscription[_eventState] = ~dart.notNull(_BroadcastSubscription[_ST ATE_FIRING]); 1342 subscription[_eventState] = ~dart.notNull(_BroadcastSubscription[_ST ATE_FIRING]);
1331 } else { 1343 } else {
1332 link = subscription[_next]; 1344 link = subscription[_next];
1333 } 1345 }
1334 } 1346 }
1335 this[_state] = ~dart.notNull(_BroadcastStreamController._STATE_FIRING); 1347 this[_state] = ~dart.notNull(_BroadcastStreamController[_STATE_FIRING]);
1336 if (this[_isEmpty]) { 1348 if (this[_isEmpty]) {
1337 this[_callOnCancel](); 1349 this[_callOnCancel]();
1338 } 1350 }
1339 } 1351 }
1340 [_callOnCancel]() { 1352 [_callOnCancel]() {
1341 dart.assert(this[_isEmpty]); 1353 dart.assert(this[_isEmpty]);
1342 if (dart.notNull(this.isClosed) && dart.notNull(this[_doneFuture][_mayCo mplete])) { 1354 if (dart.notNull(this.isClosed) && dart.notNull(this[_doneFuture][_mayCo mplete])) {
1343 this[_doneFuture]._asyncComplete(null); 1355 this[_doneFuture]._asyncComplete(null);
1344 } 1356 }
1345 _runGuarded(this[_onCancel]); 1357 _runGuarded(this[_onCancel]);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
1424 dart.assert(this[_doneFuture] !== null); 1436 dart.assert(this[_doneFuture] !== null);
1425 dart.assert(this[_doneFuture][_mayComplete]); 1437 dart.assert(this[_doneFuture][_mayComplete]);
1426 this[_doneFuture]._asyncComplete(null); 1438 this[_doneFuture]._asyncComplete(null);
1427 } 1439 }
1428 } 1440 }
1429 } 1441 }
1430 return _AsyncBroadcastStreamController; 1442 return _AsyncBroadcastStreamController;
1431 }); 1443 });
1432 let _AsyncBroadcastStreamController = _AsyncBroadcastStreamController$(dart.dy namic); 1444 let _AsyncBroadcastStreamController = _AsyncBroadcastStreamController$(dart.dy namic);
1433 let _addPendingEvent = Symbol('_addPendingEvent'); 1445 let _addPendingEvent = Symbol('_addPendingEvent');
1434 let _STATE_CLOSED = Symbol('_STATE_CLOSED');
1435 let _AsBroadcastStreamController$ = dart.generic(function(T) { 1446 let _AsBroadcastStreamController$ = dart.generic(function(T) {
1436 class _AsBroadcastStreamController extends _SyncBroadcastStreamController$(T ) { 1447 class _AsBroadcastStreamController extends _SyncBroadcastStreamController$(T ) {
1437 _AsBroadcastStreamController(onListen, onCancel) { 1448 _AsBroadcastStreamController(onListen, onCancel) {
1438 this[_pending] = null; 1449 this[_pending] = null;
1439 super._SyncBroadcastStreamController(onListen, onCancel); 1450 super._SyncBroadcastStreamController(onListen, onCancel);
1440 } 1451 }
1441 get [_hasPending]() { 1452 get [_hasPending]() {
1442 return dart.notNull(this[_pending] !== null) && !dart.notNull(this[_pend ing].isEmpty); 1453 return dart.notNull(this[_pending] !== null) && !dart.notNull(this[_pend ing].isEmpty);
1443 } 1454 }
1444 [_addPendingEvent](event) { 1455 [_addPendingEvent](event) {
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
1675 }).bind(this), {onError: handleError}); 1686 }).bind(this), {onError: handleError});
1676 } 1687 }
1677 if (remaining === 0) { 1688 if (remaining === 0) {
1678 return dart.as(new Future.value(/* Unimplemented const */new List.from ([])), Future$(core.List)); 1689 return dart.as(new Future.value(/* Unimplemented const */new List.from ([])), Future$(core.List));
1679 } 1690 }
1680 values = new core.List(remaining); 1691 values = new core.List(remaining);
1681 return result; 1692 return result;
1682 } 1693 }
1683 static forEach(input, f) { 1694 static forEach(input, f) {
1684 let iterator = input.iterator; 1695 let iterator = input.iterator;
1685 return doWhile((() => { 1696 return Future.doWhile((() => {
1686 if (!dart.notNull(iterator.moveNext())) 1697 if (!dart.notNull(iterator.moveNext()))
1687 return false; 1698 return false;
1688 return new Future.sync((() => dart.dinvokef(f, iterator.current)).bind (this)).then((_) => true); 1699 return new Future.sync((() => dart.dinvokef(f, iterator.current)).bind (this)).then((_) => true);
1689 }).bind(this)); 1700 }).bind(this));
1690 } 1701 }
1691 static doWhile(f) { 1702 static doWhile(f) {
1692 let doneSignal = new _Future(); 1703 let doneSignal = new _Future();
1693 let nextIteration = null; 1704 let nextIteration = null;
1694 nextIteration = Zone.current.bindUnaryCallback(((keepGoing) => { 1705 nextIteration = Zone.current.bindUnaryCallback(((keepGoing) => {
1695 if (keepGoing) { 1706 if (keepGoing) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1885 _FutureListener.MASK_VALUE = 1; 1896 _FutureListener.MASK_VALUE = 1;
1886 _FutureListener.MASK_ERROR = 2; 1897 _FutureListener.MASK_ERROR = 2;
1887 _FutureListener.MASK_TEST_ERROR = 4; 1898 _FutureListener.MASK_TEST_ERROR = 4;
1888 _FutureListener.MASK_WHENCOMPLETE = 8; 1899 _FutureListener.MASK_WHENCOMPLETE = 8;
1889 _FutureListener.STATE_CHAIN = 0; 1900 _FutureListener.STATE_CHAIN = 0;
1890 _FutureListener.STATE_THEN = _FutureListener.MASK_VALUE; 1901 _FutureListener.STATE_THEN = _FutureListener.MASK_VALUE;
1891 _FutureListener.STATE_THEN_ONERROR = dart.notNull(_FutureListener.MASK_VALUE) | dart.notNull(_FutureListener.MASK_ERROR); 1902 _FutureListener.STATE_THEN_ONERROR = dart.notNull(_FutureListener.MASK_VALUE) | dart.notNull(_FutureListener.MASK_ERROR);
1892 _FutureListener.STATE_CATCHERROR = _FutureListener.MASK_ERROR; 1903 _FutureListener.STATE_CATCHERROR = _FutureListener.MASK_ERROR;
1893 _FutureListener.STATE_CATCHERROR_TEST = dart.notNull(_FutureListener.MASK_ERRO R) | dart.notNull(_FutureListener.MASK_TEST_ERROR); 1904 _FutureListener.STATE_CATCHERROR_TEST = dart.notNull(_FutureListener.MASK_ERRO R) | dart.notNull(_FutureListener.MASK_TEST_ERROR);
1894 _FutureListener.STATE_WHENCOMPLETE = _FutureListener.MASK_WHENCOMPLETE; 1905 _FutureListener.STATE_WHENCOMPLETE = _FutureListener.MASK_WHENCOMPLETE;
1906 let _INCOMPLETE = Symbol('_INCOMPLETE');
1895 let _resultOrListeners = Symbol('_resultOrListeners'); 1907 let _resultOrListeners = Symbol('_resultOrListeners');
1896 let _asyncComplete = Symbol('_asyncComplete'); 1908 let _asyncComplete = Symbol('_asyncComplete');
1897 let _asyncCompleteError = Symbol('_asyncCompleteError'); 1909 let _asyncCompleteError = Symbol('_asyncCompleteError');
1898 let _isChained = Symbol('_isChained'); 1910 let _isChained = Symbol('_isChained');
1911 let _CHAINED = Symbol('_CHAINED');
1899 let _isComplete = Symbol('_isComplete'); 1912 let _isComplete = Symbol('_isComplete');
1913 let _VALUE = Symbol('_VALUE');
1900 let _hasValue = Symbol('_hasValue'); 1914 let _hasValue = Symbol('_hasValue');
1901 let _hasError = Symbol('_hasError'); 1915 let _hasError = Symbol('_hasError');
1916 let _ERROR = Symbol('_ERROR');
1902 let _markPendingCompletion = Symbol('_markPendingCompletion'); 1917 let _markPendingCompletion = Symbol('_markPendingCompletion');
1918 let _PENDING_COMPLETE = Symbol('_PENDING_COMPLETE');
1903 let _value = Symbol('_value'); 1919 let _value = Symbol('_value');
1904 let _error = Symbol('_error'); 1920 let _error = Symbol('_error');
1905 let _setValue = Symbol('_setValue'); 1921 let _setValue = Symbol('_setValue');
1906 let _setErrorObject = Symbol('_setErrorObject'); 1922 let _setErrorObject = Symbol('_setErrorObject');
1907 let _setError = Symbol('_setError'); 1923 let _setError = Symbol('_setError');
1924 let _propagateToListeners = Symbol('_propagateToListeners');
1908 let _removeListeners = Symbol('_removeListeners'); 1925 let _removeListeners = Symbol('_removeListeners');
1909 let _chainForeignFuture$ = Symbol('_chainForeignFuture'); 1926 let _chainForeignFuture = Symbol('_chainForeignFuture');
1910 let _chainCoreFuture$ = Symbol('_chainCoreFuture'); 1927 let _chainCoreFuture = Symbol('_chainCoreFuture');
1911 let _completeWithValue = Symbol('_completeWithValue'); 1928 let _completeWithValue = Symbol('_completeWithValue');
1912 let _propagateToListeners$ = Symbol('_propagateToListeners');
1913 let _Future$ = dart.generic(function(T) { 1929 let _Future$ = dart.generic(function(T) {
1914 class _Future extends core.Object { 1930 class _Future extends core.Object {
1915 _Future() { 1931 _Future() {
1916 this[_zone] = Zone.current; 1932 this[_zone] = Zone.current;
1917 this[_state] = _Future._INCOMPLETE; 1933 this[_state] = _Future[_INCOMPLETE];
1918 this[_resultOrListeners] = null; 1934 this[_resultOrListeners] = null;
1919 } 1935 }
1920 _Future$immediate(value) { 1936 _Future$immediate(value) {
1921 this[_zone] = Zone.current; 1937 this[_zone] = Zone.current;
1922 this[_state] = _Future._INCOMPLETE; 1938 this[_state] = _Future[_INCOMPLETE];
1923 this[_resultOrListeners] = null; 1939 this[_resultOrListeners] = null;
1924 this[_asyncComplete](value); 1940 this[_asyncComplete](value);
1925 } 1941 }
1926 _Future$immediateError(error, stackTrace) { 1942 _Future$immediateError(error, stackTrace) {
1927 if (stackTrace === void 0) 1943 if (stackTrace === void 0)
1928 stackTrace = null; 1944 stackTrace = null;
1929 this[_zone] = Zone.current; 1945 this[_zone] = Zone.current;
1930 this[_state] = _Future._INCOMPLETE; 1946 this[_state] = _Future[_INCOMPLETE];
1931 this[_resultOrListeners] = null; 1947 this[_resultOrListeners] = null;
1932 this[_asyncCompleteError](error, stackTrace); 1948 this[_asyncCompleteError](error, stackTrace);
1933 } 1949 }
1934 get [_mayComplete]() { 1950 get [_mayComplete]() {
1935 return this[_state] === _Future._INCOMPLETE; 1951 return this[_state] === _Future[_INCOMPLETE];
1936 } 1952 }
1937 get [_isChained]() { 1953 get [_isChained]() {
1938 return this[_state] === _Future._CHAINED; 1954 return this[_state] === _Future[_CHAINED];
1939 } 1955 }
1940 get [_isComplete]() { 1956 get [_isComplete]() {
1941 return dart.notNull(this[_state]) >= dart.notNull(_Future._VALUE); 1957 return dart.notNull(this[_state]) >= dart.notNull(_Future[_VALUE]);
1942 } 1958 }
1943 get [_hasValue]() { 1959 get [_hasValue]() {
1944 return this[_state] === _Future._VALUE; 1960 return this[_state] === _Future[_VALUE];
1945 } 1961 }
1946 get [_hasError]() { 1962 get [_hasError]() {
1947 return this[_state] === _Future._ERROR; 1963 return this[_state] === _Future[_ERROR];
1948 } 1964 }
1949 set [_isChained](value) { 1965 set [_isChained](value) {
1950 if (value) { 1966 if (value) {
1951 dart.assert(!dart.notNull(this[_isComplete])); 1967 dart.assert(!dart.notNull(this[_isComplete]));
1952 this[_state] = _Future._CHAINED; 1968 this[_state] = _Future[_CHAINED];
1953 } else { 1969 } else {
1954 dart.assert(this[_isChained]); 1970 dart.assert(this[_isChained]);
1955 this[_state] = _Future._INCOMPLETE; 1971 this[_state] = _Future[_INCOMPLETE];
1956 } 1972 }
1957 } 1973 }
1958 then(f, opts) { 1974 then(f, opts) {
1959 let onError = opts && 'onError' in opts ? opts.onError : null; 1975 let onError = opts && 'onError' in opts ? opts.onError : null;
1960 let result = new _Future(); 1976 let result = new _Future();
1961 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { 1977 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) {
1962 f = dart.closureWrap(result[_zone].registerUnaryCallback(f), "(T) → dy namic"); 1978 f = dart.closureWrap(result[_zone].registerUnaryCallback(f), "(T) → dy namic");
1963 if (onError !== null) { 1979 if (onError !== null) {
1964 onError = _registerErrorHandler(onError, result[_zone]); 1980 onError = _registerErrorHandler(onError, result[_zone]);
1965 } 1981 }
(...skipping 19 matching lines...) Expand all
1985 } 2001 }
1986 this[_addListener](new _FutureListener.whenComplete(result, action)); 2002 this[_addListener](new _FutureListener.whenComplete(result, action));
1987 return dart.as(result, Future$(T)); 2003 return dart.as(result, Future$(T));
1988 } 2004 }
1989 asStream() { 2005 asStream() {
1990 return dart.as(new Stream.fromFuture(this), Stream$(T)); 2006 return dart.as(new Stream.fromFuture(this), Stream$(T));
1991 } 2007 }
1992 [_markPendingCompletion]() { 2008 [_markPendingCompletion]() {
1993 if (!dart.notNull(this[_mayComplete])) 2009 if (!dart.notNull(this[_mayComplete]))
1994 throw new core.StateError("Future already completed"); 2010 throw new core.StateError("Future already completed");
1995 this[_state] = _Future._PENDING_COMPLETE; 2011 this[_state] = _Future[_PENDING_COMPLETE];
1996 } 2012 }
1997 get [_value]() { 2013 get [_value]() {
1998 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasVal ue])); 2014 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasVal ue]));
1999 return dart.as(this[_resultOrListeners], T); 2015 return dart.as(this[_resultOrListeners], T);
2000 } 2016 }
2001 get [_error]() { 2017 get [_error]() {
2002 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasErr or])); 2018 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasErr or]));
2003 return dart.as(this[_resultOrListeners], AsyncError); 2019 return dart.as(this[_resultOrListeners], AsyncError);
2004 } 2020 }
2005 [_setValue](value) { 2021 [_setValue](value) {
2006 dart.assert(!dart.notNull(this[_isComplete])); 2022 dart.assert(!dart.notNull(this[_isComplete]));
2007 this[_state] = _Future._VALUE; 2023 this[_state] = _Future[_VALUE];
2008 this[_resultOrListeners] = value; 2024 this[_resultOrListeners] = value;
2009 } 2025 }
2010 [_setErrorObject](error) { 2026 [_setErrorObject](error) {
2011 dart.assert(!dart.notNull(this[_isComplete])); 2027 dart.assert(!dart.notNull(this[_isComplete]));
2012 this[_state] = _Future._ERROR; 2028 this[_state] = _Future[_ERROR];
2013 this[_resultOrListeners] = error; 2029 this[_resultOrListeners] = error;
2014 } 2030 }
2015 [_setError](error, stackTrace) { 2031 [_setError](error, stackTrace) {
2016 this[_setErrorObject](new AsyncError(error, stackTrace)); 2032 this[_setErrorObject](new AsyncError(error, stackTrace));
2017 } 2033 }
2018 [_addListener](listener) { 2034 [_addListener](listener) {
2019 dart.assert(listener[_nextListener] === null); 2035 dart.assert(listener[_nextListener] === null);
2020 if (this[_isComplete]) { 2036 if (this[_isComplete]) {
2021 this[_zone].scheduleMicrotask((() => { 2037 this[_zone].scheduleMicrotask((() => {
2022 _propagateToListeners(this, listener); 2038 _Future[_propagateToListeners](this, listener);
2023 }).bind(this)); 2039 }).bind(this));
2024 } else { 2040 } else {
2025 listener[_nextListener] = dart.as(this[_resultOrListeners], _FutureLis tener); 2041 listener[_nextListener] = dart.as(this[_resultOrListeners], _FutureLis tener);
2026 this[_resultOrListeners] = listener; 2042 this[_resultOrListeners] = listener;
2027 } 2043 }
2028 } 2044 }
2029 [_removeListeners]() { 2045 [_removeListeners]() {
2030 dart.assert(!dart.notNull(this[_isComplete])); 2046 dart.assert(!dart.notNull(this[_isComplete]));
2031 let current = dart.as(this[_resultOrListeners], _FutureListener); 2047 let current = dart.as(this[_resultOrListeners], _FutureListener);
2032 this[_resultOrListeners] = null; 2048 this[_resultOrListeners] = null;
2033 let prev = null; 2049 let prev = null;
2034 while (current !== null) { 2050 while (current !== null) {
2035 let next = current[_nextListener]; 2051 let next = current[_nextListener];
2036 current[_nextListener] = prev; 2052 current[_nextListener] = prev;
2037 prev = current; 2053 prev = current;
2038 current = next; 2054 current = next;
2039 } 2055 }
2040 return prev; 2056 return prev;
2041 } 2057 }
2042 static [_chainForeignFuture$](source, target) { 2058 static [_chainForeignFuture](source, target) {
2043 dart.assert(!dart.notNull(target[_isComplete])); 2059 dart.assert(!dart.notNull(target[_isComplete]));
2044 dart.assert(!dart.is(source, _Future)); 2060 dart.assert(!dart.is(source, _Future));
2045 target[_isChained] = true; 2061 target[_isChained] = true;
2046 source.then(((value) => { 2062 source.then(((value) => {
2047 dart.assert(target[_isChained]); 2063 dart.assert(target[_isChained]);
2048 target._completeWithValue(value); 2064 target._completeWithValue(value);
2049 }).bind(this), {onError: ((error, stackTrace) => { 2065 }).bind(this), {onError: ((error, stackTrace) => {
2050 if (stackTrace === void 0) 2066 if (stackTrace === void 0)
2051 stackTrace = null; 2067 stackTrace = null;
2052 dart.assert(target[_isChained]); 2068 dart.assert(target[_isChained]);
2053 target._completeError(error, dart.as(stackTrace, core.StackTrace)); 2069 target._completeError(error, dart.as(stackTrace, core.StackTrace));
2054 }).bind(this)}); 2070 }).bind(this)});
2055 } 2071 }
2056 static [_chainCoreFuture$](source, target) { 2072 static [_chainCoreFuture](source, target) {
2057 dart.assert(!dart.notNull(target[_isComplete])); 2073 dart.assert(!dart.notNull(target[_isComplete]));
2058 dart.assert(dart.is(source, _Future)); 2074 dart.assert(dart.is(source, _Future));
2059 target[_isChained] = true; 2075 target[_isChained] = true;
2060 let listener = new _FutureListener.chain(target); 2076 let listener = new _FutureListener.chain(target);
2061 if (source[_isComplete]) { 2077 if (source[_isComplete]) {
2062 _propagateToListeners(source, listener); 2078 _Future[_propagateToListeners](source, listener);
2063 } else { 2079 } else {
2064 source._addListener(listener); 2080 source._addListener(listener);
2065 } 2081 }
2066 } 2082 }
2067 [_complete](value) { 2083 [_complete](value) {
2068 dart.assert(!dart.notNull(this[_isComplete])); 2084 dart.assert(!dart.notNull(this[_isComplete]));
2069 if (dart.is(value, Future)) { 2085 if (dart.is(value, Future)) {
2070 if (dart.is(value, _Future)) { 2086 if (dart.is(value, _Future)) {
2071 _chainCoreFuture(dart.as(value, _Future), this); 2087 _Future[_chainCoreFuture](dart.as(value, _Future), this);
2072 } else { 2088 } else {
2073 _chainForeignFuture(dart.as(value, Future), this); 2089 _Future[_chainForeignFuture](dart.as(value, Future), this);
2074 } 2090 }
2075 } else { 2091 } else {
2076 let listeners = this[_removeListeners](); 2092 let listeners = this[_removeListeners]();
2077 this[_setValue](dart.as(value, T)); 2093 this[_setValue](dart.as(value, T));
2078 _propagateToListeners(this, listeners); 2094 _Future[_propagateToListeners](this, listeners);
2079 } 2095 }
2080 } 2096 }
2081 [_completeWithValue](value) { 2097 [_completeWithValue](value) {
2082 dart.assert(!dart.notNull(this[_isComplete])); 2098 dart.assert(!dart.notNull(this[_isComplete]));
2083 dart.assert(!dart.is(value, Future)); 2099 dart.assert(!dart.is(value, Future));
2084 let listeners = this[_removeListeners](); 2100 let listeners = this[_removeListeners]();
2085 this[_setValue](dart.as(value, T)); 2101 this[_setValue](dart.as(value, T));
2086 _propagateToListeners(this, listeners); 2102 _Future[_propagateToListeners](this, listeners);
2087 } 2103 }
2088 [_completeError](error, stackTrace) { 2104 [_completeError](error, stackTrace) {
2089 if (stackTrace === void 0) 2105 if (stackTrace === void 0)
2090 stackTrace = null; 2106 stackTrace = null;
2091 dart.assert(!dart.notNull(this[_isComplete])); 2107 dart.assert(!dart.notNull(this[_isComplete]));
2092 let listeners = this[_removeListeners](); 2108 let listeners = this[_removeListeners]();
2093 this[_setError](error, stackTrace); 2109 this[_setError](error, stackTrace);
2094 _propagateToListeners(this, listeners); 2110 _Future[_propagateToListeners](this, listeners);
2095 } 2111 }
2096 [_asyncComplete](value) { 2112 [_asyncComplete](value) {
2097 dart.assert(!dart.notNull(this[_isComplete])); 2113 dart.assert(!dart.notNull(this[_isComplete]));
2098 if (value === null) { 2114 if (value === null) {
2099 } else if (dart.is(value, Future)) { 2115 } else if (dart.is(value, Future)) {
2100 let typedFuture = dart.as(value, Future$(T)); 2116 let typedFuture = dart.as(value, Future$(T));
2101 if (dart.is(typedFuture, _Future)) { 2117 if (dart.is(typedFuture, _Future)) {
2102 let coreFuture = dart.as(typedFuture, _Future$(T)); 2118 let coreFuture = dart.as(typedFuture, _Future$(T));
2103 if (dart.notNull(coreFuture[_isComplete]) && dart.notNull(coreFuture [_hasError])) { 2119 if (dart.notNull(coreFuture[_isComplete]) && dart.notNull(coreFuture [_hasError])) {
2104 this[_markPendingCompletion](); 2120 this[_markPendingCompletion]();
2105 this[_zone].scheduleMicrotask((() => { 2121 this[_zone].scheduleMicrotask((() => {
2106 _chainCoreFuture(coreFuture, this); 2122 _Future[_chainCoreFuture](coreFuture, this);
2107 }).bind(this)); 2123 }).bind(this));
2108 } else { 2124 } else {
2109 _chainCoreFuture(coreFuture, this); 2125 _Future[_chainCoreFuture](coreFuture, this);
2110 } 2126 }
2111 } else { 2127 } else {
2112 _chainForeignFuture(typedFuture, this); 2128 _Future[_chainForeignFuture](typedFuture, this);
2113 } 2129 }
2114 return; 2130 return;
2115 } else { 2131 } else {
2116 let typedValue = dart.as(value, T); 2132 let typedValue = dart.as(value, T);
2117 } 2133 }
2118 this[_markPendingCompletion](); 2134 this[_markPendingCompletion]();
2119 this[_zone].scheduleMicrotask((() => { 2135 this[_zone].scheduleMicrotask((() => {
2120 this[_completeWithValue](value); 2136 this[_completeWithValue](value);
2121 }).bind(this)); 2137 }).bind(this));
2122 } 2138 }
2123 [_asyncCompleteError](error, stackTrace) { 2139 [_asyncCompleteError](error, stackTrace) {
2124 dart.assert(!dart.notNull(this[_isComplete])); 2140 dart.assert(!dart.notNull(this[_isComplete]));
2125 this[_markPendingCompletion](); 2141 this[_markPendingCompletion]();
2126 this[_zone].scheduleMicrotask((() => { 2142 this[_zone].scheduleMicrotask((() => {
2127 this[_completeError](error, stackTrace); 2143 this[_completeError](error, stackTrace);
2128 }).bind(this)); 2144 }).bind(this));
2129 } 2145 }
2130 static [_propagateToListeners$](source, listeners) { 2146 static [_propagateToListeners](source, listeners) {
2131 while (true) { 2147 while (true) {
2132 dart.assert(source[_isComplete]); 2148 dart.assert(source[_isComplete]);
2133 let hasError = source[_hasError]; 2149 let hasError = source[_hasError];
2134 if (listeners === null) { 2150 if (listeners === null) {
2135 if (hasError) { 2151 if (hasError) {
2136 let asyncError = source[_error]; 2152 let asyncError = source[_error];
2137 source[_zone].handleUncaughtError(asyncError.error, asyncError.sta ckTrace); 2153 source[_zone].handleUncaughtError(asyncError.error, asyncError.sta ckTrace);
2138 } 2154 }
2139 return; 2155 return;
2140 } 2156 }
2141 while (listeners[_nextListener] !== null) { 2157 while (listeners[_nextListener] !== null) {
2142 let listener = listeners; 2158 let listener = listeners;
2143 listeners = listener[_nextListener]; 2159 listeners = listener[_nextListener];
2144 listener[_nextListener] = null; 2160 listener[_nextListener] = null;
2145 _propagateToListeners(source, listener); 2161 _Future[_propagateToListeners](source, listener);
2146 } 2162 }
2147 let listener = listeners; 2163 let listener = listeners;
2148 let listenerHasValue = true; 2164 let listenerHasValue = true;
2149 let sourceValue = hasError ? null : source[_value]; 2165 let sourceValue = hasError ? null : source[_value];
2150 let listenerValueOrError = sourceValue; 2166 let listenerValueOrError = sourceValue;
2151 let isPropagationAborted = false; 2167 let isPropagationAborted = false;
2152 if (dart.notNull(hasError) || dart.notNull(listener.handlesValue) || d art.notNull(listener.handlesComplete)) { 2168 if (dart.notNull(hasError) || dart.notNull(listener.handlesValue) || d art.notNull(listener.handlesComplete)) {
2153 let zone = listener[_zone]; 2169 let zone = listener[_zone];
2154 if (dart.notNull(hasError) && !dart.notNull(source[_zone].inSameErro rZone(zone))) { 2170 if (dart.notNull(hasError) && !dart.notNull(source[_zone].inSameErro rZone(zone))) {
2155 let asyncError = source[_error]; 2171 let asyncError = source[_error];
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
2223 } 2239 }
2224 listenerHasValue = false; 2240 listenerHasValue = false;
2225 return; 2241 return;
2226 } 2242 }
2227 2243
2228 if (dart.is(completeResult, Future)) { 2244 if (dart.is(completeResult, Future)) {
2229 let result = listener.result; 2245 let result = listener.result;
2230 result[_isChained] = true; 2246 result[_isChained] = true;
2231 isPropagationAborted = true; 2247 isPropagationAborted = true;
2232 dart.dinvoke(completeResult, 'then', (ignored) => { 2248 dart.dinvoke(completeResult, 'then', (ignored) => {
2233 _propagateToListeners(source, new _FutureListener.chain(result )); 2249 _Future[_propagateToListeners](source, new _FutureListener.cha in(result));
2234 }, { 2250 }, {
2235 onError: (error, stackTrace) => { 2251 onError: (error, stackTrace) => {
2236 if (stackTrace === void 0) 2252 if (stackTrace === void 0)
2237 stackTrace = null; 2253 stackTrace = null;
2238 if (!dart.is(completeResult, _Future)) { 2254 if (!dart.is(completeResult, _Future)) {
2239 completeResult = new _Future(); 2255 completeResult = new _Future();
2240 dart.dinvoke(completeResult, '_setError', error, stackTrac e); 2256 dart.dinvoke(completeResult, '_setError', error, stackTrac e);
2241 } 2257 }
2242 _propagateToListeners(dart.as(completeResult, _Future), new _FutureListener.chain(result)); 2258 _Future[_propagateToListeners](dart.as(completeResult, _Futu re), new _FutureListener.chain(result));
2243 } 2259 }
2244 }); 2260 });
2245 } 2261 }
2246 } 2262 }
2247 if (!dart.notNull(hasError)) { 2263 if (!dart.notNull(hasError)) {
2248 if (listener.handlesValue) { 2264 if (listener.handlesValue) {
2249 listenerHasValue = handleValueCallback(); 2265 listenerHasValue = handleValueCallback();
2250 } 2266 }
2251 } else { 2267 } else {
2252 handleError(); 2268 handleError();
2253 } 2269 }
2254 if (listener.handlesComplete) { 2270 if (listener.handlesComplete) {
2255 handleWhenCompleteCallback(); 2271 handleWhenCompleteCallback();
2256 } 2272 }
2257 if (oldZone !== null) 2273 if (oldZone !== null)
2258 Zone._leave(oldZone); 2274 Zone._leave(oldZone);
2259 if (isPropagationAborted) 2275 if (isPropagationAborted)
2260 return; 2276 return;
2261 if (dart.notNull(listenerHasValue) && !dart.notNull(core.identical(s ourceValue, listenerValueOrError)) && dart.notNull(dart.is(listenerValueOrError, Future))) { 2277 if (dart.notNull(listenerHasValue) && !dart.notNull(core.identical(s ourceValue, listenerValueOrError)) && dart.notNull(dart.is(listenerValueOrError, Future))) {
2262 let chainSource = dart.as(listenerValueOrError, Future); 2278 let chainSource = dart.as(listenerValueOrError, Future);
2263 let result = listener.result; 2279 let result = listener.result;
2264 if (dart.is(chainSource, _Future)) { 2280 if (dart.is(chainSource, _Future)) {
2265 if (chainSource[_isComplete]) { 2281 if (chainSource[_isComplete]) {
2266 result[_isChained] = true; 2282 result[_isChained] = true;
2267 source = chainSource; 2283 source = chainSource;
2268 listeners = new _FutureListener.chain(result); 2284 listeners = new _FutureListener.chain(result);
2269 continue; 2285 continue;
2270 } else { 2286 } else {
2271 _chainCoreFuture(chainSource, result); 2287 _Future[_chainCoreFuture](chainSource, result);
2272 } 2288 }
2273 } else { 2289 } else {
2274 _chainForeignFuture(chainSource, result); 2290 _Future[_chainForeignFuture](chainSource, result);
2275 } 2291 }
2276 return; 2292 return;
2277 } 2293 }
2278 } 2294 }
2279 let result = listener.result; 2295 let result = listener.result;
2280 listeners = result._removeListeners(); 2296 listeners = result._removeListeners();
2281 if (listenerHasValue) { 2297 if (listenerHasValue) {
2282 result._setValue(listenerValueOrError); 2298 result._setValue(listenerValueOrError);
2283 } else { 2299 } else {
2284 let asyncError = dart.as(listenerValueOrError, AsyncError); 2300 let asyncError = dart.as(listenerValueOrError, AsyncError);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
2400 } 2416 }
2401 // Function scheduleMicrotask: (() → void) → void 2417 // Function scheduleMicrotask: (() → void) → void
2402 function scheduleMicrotask(callback) { 2418 function scheduleMicrotask(callback) {
2403 if (core.identical(_ROOT_ZONE, Zone.current)) { 2419 if (core.identical(_ROOT_ZONE, Zone.current)) {
2404 _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback); 2420 _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback);
2405 return; 2421 return;
2406 } 2422 }
2407 Zone.current.scheduleMicrotask(Zone.current.bindCallback(callback, {runGuard ed: true})); 2423 Zone.current.scheduleMicrotask(Zone.current.bindCallback(callback, {runGuard ed: true}));
2408 } 2424 }
2409 let _scheduleImmediate = Symbol('_scheduleImmediate'); 2425 let _scheduleImmediate = Symbol('_scheduleImmediate');
2410 let _initializeScheduleImmediate$ = Symbol('_initializeScheduleImmediate'); 2426 let _initializeScheduleImmediate = Symbol('_initializeScheduleImmediate');
2411 let _scheduleImmediateJsOverride$ = Symbol('_scheduleImmediateJsOverride'); 2427 let _scheduleImmediateJsOverride = Symbol('_scheduleImmediateJsOverride');
2412 let _scheduleImmediateWithSetImmediate$ = Symbol('_scheduleImmediateWithSetImm ediate'); 2428 let _scheduleImmediateWithSetImmediate = Symbol('_scheduleImmediateWithSetImme diate');
2413 let _scheduleImmediateWithTimer$ = Symbol('_scheduleImmediateWithTimer'); 2429 let _scheduleImmediateWithTimer = Symbol('_scheduleImmediateWithTimer');
2414 class _AsyncRun extends core.Object { 2430 class _AsyncRun extends core.Object {
2415 static [_scheduleImmediate](callback) { 2431 static [_scheduleImmediate](callback) {
2416 dart.dinvokef(scheduleImmediateClosure, callback); 2432 dart.dinvokef(_AsyncRun.scheduleImmediateClosure, callback);
2417 } 2433 }
2418 static [_initializeScheduleImmediate$]() { 2434 static [_initializeScheduleImmediate]() {
2419 _js_helper.requiresPreamble(); 2435 _js_helper.requiresPreamble();
2420 if (self.scheduleImmediate !== null) { 2436 if (self.scheduleImmediate !== null) {
2421 return _scheduleImmediateJsOverride; 2437 return _AsyncRun[_scheduleImmediateJsOverride];
2422 } 2438 }
2423 if (dart.notNull(self.MutationObserver !== null) && dart.notNull(self.docu ment !== null)) { 2439 if (dart.notNull(self.MutationObserver !== null) && dart.notNull(self.docu ment !== null)) {
2424 let div = self.document.createElement("div"); 2440 let div = self.document.createElement("div");
2425 let span = self.document.createElement("span"); 2441 let span = self.document.createElement("span");
2426 let storedCallback = null; 2442 let storedCallback = null;
2427 // Function internalCallback: (dynamic) → dynamic 2443 // Function internalCallback: (dynamic) → dynamic
2428 function internalCallback(_) { 2444 function internalCallback(_) {
2429 _isolate_helper.leaveJsAsync(); 2445 _isolate_helper.leaveJsAsync();
2430 let f = storedCallback; 2446 let f = storedCallback;
2431 storedCallback = null; 2447 storedCallback = null;
2432 dart.dinvokef(f); 2448 dart.dinvokef(f);
2433 } 2449 }
2434 ; 2450 ;
2435 let observer = new self.MutationObserver(_js_helper.convertDartClosureTo JS(internalCallback, 1)); 2451 let observer = new self.MutationObserver(_js_helper.convertDartClosureTo JS(internalCallback, 1));
2436 observer.observe(div, {childList: true}); 2452 observer.observe(div, {childList: true});
2437 return (callback) => { 2453 return (callback) => {
2438 dart.assert(storedCallback === null); 2454 dart.assert(storedCallback === null);
2439 _isolate_helper.enterJsAsync(); 2455 _isolate_helper.enterJsAsync();
2440 storedCallback = callback; 2456 storedCallback = callback;
2441 div.firstChild ? div.removeChild(span) : div.appendChild(span); 2457 div.firstChild ? div.removeChild(span) : div.appendChild(span);
2442 }; 2458 };
2443 } else if (self.setImmediate !== null) { 2459 } else if (self.setImmediate !== null) {
2444 return _scheduleImmediateWithSetImmediate; 2460 return _AsyncRun[_scheduleImmediateWithSetImmediate];
2445 } 2461 }
2446 return _scheduleImmediateWithTimer; 2462 return _AsyncRun[_scheduleImmediateWithTimer];
2447 } 2463 }
2448 static [_scheduleImmediateJsOverride$](callback) { 2464 static [_scheduleImmediateJsOverride](callback) {
2449 // Function internalCallback: () → dynamic 2465 // Function internalCallback: () → dynamic
2450 function internalCallback() { 2466 function internalCallback() {
2451 _isolate_helper.leaveJsAsync(); 2467 _isolate_helper.leaveJsAsync();
2452 callback(); 2468 callback();
2453 } 2469 }
2454 ; 2470 ;
2455 _isolate_helper.enterJsAsync(); 2471 _isolate_helper.enterJsAsync();
2456 self.scheduleImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); 2472 self.scheduleImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0));
2457 } 2473 }
2458 static [_scheduleImmediateWithSetImmediate$](callback) { 2474 static [_scheduleImmediateWithSetImmediate](callback) {
2459 // Function internalCallback: () → dynamic 2475 // Function internalCallback: () → dynamic
2460 function internalCallback() { 2476 function internalCallback() {
2461 _isolate_helper.leaveJsAsync(); 2477 _isolate_helper.leaveJsAsync();
2462 callback(); 2478 callback();
2463 } 2479 }
2464 ; 2480 ;
2465 _isolate_helper.enterJsAsync(); 2481 _isolate_helper.enterJsAsync();
2466 self.setImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); 2482 self.setImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0));
2467 } 2483 }
2468 static [_scheduleImmediateWithTimer$](callback) { 2484 static [_scheduleImmediateWithTimer](callback) {
2469 Timer._createTimer(core.Duration.ZERO, callback); 2485 Timer._createTimer(core.Duration.ZERO, callback);
2470 } 2486 }
2471 } 2487 }
2472 dart.defineLazyProperties(_AsyncRun, { 2488 dart.defineLazyProperties(_AsyncRun, {
2473 get scheduleImmediateClosure() { 2489 get scheduleImmediateClosure() {
2474 return _initializeScheduleImmediate(); 2490 return _AsyncRun[_initializeScheduleImmediate]();
2475 } 2491 }
2476 }); 2492 });
2477 let StreamSubscription$ = dart.generic(function(T) { 2493 let StreamSubscription$ = dart.generic(function(T) {
2478 class StreamSubscription extends core.Object { 2494 class StreamSubscription extends core.Object {
2479 } 2495 }
2480 return StreamSubscription; 2496 return StreamSubscription;
2481 }); 2497 });
2482 let StreamSubscription = StreamSubscription$(dart.dynamic); 2498 let StreamSubscription = StreamSubscription$(dart.dynamic);
2483 let EventSink$ = dart.generic(function(T) { 2499 let EventSink$ = dart.generic(function(T) {
2484 class EventSink extends core.Object { 2500 class EventSink extends core.Object {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
2594 [_recordPause](subscription) {} 2610 [_recordPause](subscription) {}
2595 [_recordResume](subscription) {} 2611 [_recordResume](subscription) {}
2596 [_recordCancel](subscription) { 2612 [_recordCancel](subscription) {
2597 return null; 2613 return null;
2598 } 2614 }
2599 } 2615 }
2600 return _StreamControllerLifecycle; 2616 return _StreamControllerLifecycle;
2601 }); 2617 });
2602 let _StreamControllerLifecycle = _StreamControllerLifecycle$(dart.dynamic); 2618 let _StreamControllerLifecycle = _StreamControllerLifecycle$(dart.dynamic);
2603 let _varData = Symbol('_varData'); 2619 let _varData = Symbol('_varData');
2620 let _STATE_SUBSCRIBED = Symbol('_STATE_SUBSCRIBED');
2604 let _isInitialState = Symbol('_isInitialState'); 2621 let _isInitialState = Symbol('_isInitialState');
2622 let _STATE_SUBSCRIPTION_MASK = Symbol('_STATE_SUBSCRIPTION_MASK');
2605 let _subscription = Symbol('_subscription'); 2623 let _subscription = Symbol('_subscription');
2606 let _pendingEvents = Symbol('_pendingEvents'); 2624 let _pendingEvents = Symbol('_pendingEvents');
2607 let _ensurePendingEvents = Symbol('_ensurePendingEvents'); 2625 let _ensurePendingEvents = Symbol('_ensurePendingEvents');
2608 let _badEventState = Symbol('_badEventState'); 2626 let _badEventState = Symbol('_badEventState');
2609 let _nullFuture = Symbol('_nullFuture'); 2627 let _nullFuture = Symbol('_nullFuture');
2610 let _closeUnchecked = Symbol('_closeUnchecked'); 2628 let _closeUnchecked = Symbol('_closeUnchecked');
2611 let _StreamController$ = dart.generic(function(T) { 2629 let _StreamController$ = dart.generic(function(T) {
2612 class _StreamController extends core.Object { 2630 class _StreamController extends core.Object {
2613 _StreamController() { 2631 _StreamController() {
2614 this[_varData] = null; 2632 this[_varData] = null;
2615 this[_state] = _StreamController._STATE_INITIAL; 2633 this[_state] = _StreamController[_STATE_INITIAL];
2616 this[_doneFuture] = null; 2634 this[_doneFuture] = null;
2617 } 2635 }
2618 get stream() { 2636 get stream() {
2619 return dart.as(new _ControllerStream(this), Stream$(T)); 2637 return dart.as(new _ControllerStream(this), Stream$(T));
2620 } 2638 }
2621 get sink() { 2639 get sink() {
2622 return new _StreamSinkWrapper(this); 2640 return new _StreamSinkWrapper(this);
2623 } 2641 }
2624 get [_isCanceled]() { 2642 get [_isCanceled]() {
2625 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_CANCELED)) !== 0; 2643 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_CANCELED])) !== 0;
2626 } 2644 }
2627 get hasListener() { 2645 get hasListener() {
2628 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_SUBSCRIBED)) !== 0; 2646 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_SUBSCRIBED])) !== 0;
2629 } 2647 }
2630 get [_isInitialState]() { 2648 get [_isInitialState]() {
2631 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_SUBSCRIPTION_MASK)) === _StreamController._STATE_INITIAL; 2649 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_SUBSCRIPTION_MASK])) === _StreamController[_STATE_INITIAL];
2632 } 2650 }
2633 get isClosed() { 2651 get isClosed() {
2634 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_CLOSED)) !== 0; 2652 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_CLOSED])) !== 0;
2635 } 2653 }
2636 get isPaused() { 2654 get isPaused() {
2637 return this.hasListener ? this[_subscription][_isInputPaused] : !dart.no tNull(this[_isCanceled]); 2655 return this.hasListener ? this[_subscription][_isInputPaused] : !dart.no tNull(this[_isCanceled]);
2638 } 2656 }
2639 get [_isAddingStream]() { 2657 get [_isAddingStream]() {
2640 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_ADDSTREAM)) !== 0; 2658 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_ADDSTREAM])) !== 0;
2641 } 2659 }
2642 get [_mayAddEvent]() { 2660 get [_mayAddEvent]() {
2643 return dart.notNull(this[_state]) < dart.notNull(_StreamController._STAT E_CLOSED); 2661 return dart.notNull(this[_state]) < dart.notNull(_StreamController[_STAT E_CLOSED]);
2644 } 2662 }
2645 get [_pendingEvents]() { 2663 get [_pendingEvents]() {
2646 dart.assert(this[_isInitialState]); 2664 dart.assert(this[_isInitialState]);
2647 if (!dart.notNull(this[_isAddingStream])) { 2665 if (!dart.notNull(this[_isAddingStream])) {
2648 return dart.as(this[_varData], _PendingEvents); 2666 return dart.as(this[_varData], _PendingEvents);
2649 } 2667 }
2650 let state = dart.as(this[_varData], _StreamControllerAddStreamState); 2668 let state = dart.as(this[_varData], _StreamControllerAddStreamState);
2651 return dart.as(state.varData, _PendingEvents); 2669 return dart.as(state.varData, _PendingEvents);
2652 } 2670 }
2653 [_ensurePendingEvents]() { 2671 [_ensurePendingEvents]() {
(...skipping 24 matching lines...) Expand all
2678 return new core.StateError("Cannot add event while adding a stream"); 2696 return new core.StateError("Cannot add event while adding a stream");
2679 } 2697 }
2680 addStream(source, opts) { 2698 addStream(source, opts) {
2681 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 2699 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
2682 if (!dart.notNull(this[_mayAddEvent])) 2700 if (!dart.notNull(this[_mayAddEvent]))
2683 throw this[_badEventState](); 2701 throw this[_badEventState]();
2684 if (this[_isCanceled]) 2702 if (this[_isCanceled])
2685 return new _Future.immediate(null); 2703 return new _Future.immediate(null);
2686 let addState = new _StreamControllerAddStreamState(this, this[_varData], source, cancelOnError); 2704 let addState = new _StreamControllerAddStreamState(this, this[_varData], source, cancelOnError);
2687 this[_varData] = addState; 2705 this[_varData] = addState;
2688 this[_state] = _StreamController._STATE_ADDSTREAM; 2706 this[_state] = _StreamController[_STATE_ADDSTREAM];
2689 return addState.addStreamFuture; 2707 return addState.addStreamFuture;
2690 } 2708 }
2691 get done() { 2709 get done() {
2692 return this[_ensureDoneFuture](); 2710 return this[_ensureDoneFuture]();
2693 } 2711 }
2694 [_ensureDoneFuture]() { 2712 [_ensureDoneFuture]() {
2695 if (this[_doneFuture] === null) { 2713 if (this[_doneFuture] === null) {
2696 this[_doneFuture] = this[_isCanceled] ? Future[_nullFuture] : new _Fut ure(); 2714 this[_doneFuture] = this[_isCanceled] ? Future[_nullFuture] : new _Fut ure();
2697 } 2715 }
2698 return this[_doneFuture]; 2716 return this[_doneFuture];
(...skipping 19 matching lines...) Expand all
2718 close() { 2736 close() {
2719 if (this.isClosed) { 2737 if (this.isClosed) {
2720 return this[_ensureDoneFuture](); 2738 return this[_ensureDoneFuture]();
2721 } 2739 }
2722 if (!dart.notNull(this[_mayAddEvent])) 2740 if (!dart.notNull(this[_mayAddEvent]))
2723 throw this[_badEventState](); 2741 throw this[_badEventState]();
2724 this[_closeUnchecked](); 2742 this[_closeUnchecked]();
2725 return this[_ensureDoneFuture](); 2743 return this[_ensureDoneFuture]();
2726 } 2744 }
2727 [_closeUnchecked]() { 2745 [_closeUnchecked]() {
2728 this[_state] = _StreamController._STATE_CLOSED; 2746 this[_state] = _StreamController[_STATE_CLOSED];
2729 if (this.hasListener) { 2747 if (this.hasListener) {
2730 this[_sendDone](); 2748 this[_sendDone]();
2731 } else if (this[_isInitialState]) { 2749 } else if (this[_isInitialState]) {
2732 this[_ensurePendingEvents]().add(new _DelayedDone()); 2750 this[_ensurePendingEvents]().add(new _DelayedDone());
2733 } 2751 }
2734 } 2752 }
2735 [_add](value) { 2753 [_add](value) {
2736 if (this.hasListener) { 2754 if (this.hasListener) {
2737 this[_sendData](value); 2755 this[_sendData](value);
2738 } else if (this[_isInitialState]) { 2756 } else if (this[_isInitialState]) {
2739 this[_ensurePendingEvents]().add(new _DelayedData(value)); 2757 this[_ensurePendingEvents]().add(new _DelayedData(value));
2740 } 2758 }
2741 } 2759 }
2742 [_addError](error, stackTrace) { 2760 [_addError](error, stackTrace) {
2743 if (this.hasListener) { 2761 if (this.hasListener) {
2744 this[_sendError](error, stackTrace); 2762 this[_sendError](error, stackTrace);
2745 } else if (this[_isInitialState]) { 2763 } else if (this[_isInitialState]) {
2746 this[_ensurePendingEvents]().add(new _DelayedError(error, stackTrace)) ; 2764 this[_ensurePendingEvents]().add(new _DelayedError(error, stackTrace)) ;
2747 } 2765 }
2748 } 2766 }
2749 [_close]() { 2767 [_close]() {
2750 dart.assert(this[_isAddingStream]); 2768 dart.assert(this[_isAddingStream]);
2751 let addState = dart.as(this[_varData], _StreamControllerAddStreamState); 2769 let addState = dart.as(this[_varData], _StreamControllerAddStreamState);
2752 this[_varData] = addState.varData; 2770 this[_varData] = addState.varData;
2753 this[_state] = ~dart.notNull(_StreamController._STATE_ADDSTREAM); 2771 this[_state] = ~dart.notNull(_StreamController[_STATE_ADDSTREAM]);
2754 addState.complete(); 2772 addState.complete();
2755 } 2773 }
2756 [_subscribe](onData, onError, onDone, cancelOnError) { 2774 [_subscribe](onData, onError, onDone, cancelOnError) {
2757 if (!dart.notNull(this[_isInitialState])) { 2775 if (!dart.notNull(this[_isInitialState])) {
2758 throw new core.StateError("Stream has already been listened to."); 2776 throw new core.StateError("Stream has already been listened to.");
2759 } 2777 }
2760 let subscription = new _ControllerSubscription(this, onData, onError, on Done, cancelOnError); 2778 let subscription = new _ControllerSubscription(this, onData, onError, on Done, cancelOnError);
2761 let pendingEvents = this[_pendingEvents]; 2779 let pendingEvents = this[_pendingEvents];
2762 this[_state] = _StreamController._STATE_SUBSCRIBED; 2780 this[_state] = _StreamController[_STATE_SUBSCRIBED];
2763 if (this[_isAddingStream]) { 2781 if (this[_isAddingStream]) {
2764 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 2782 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2765 addState.varData = subscription; 2783 addState.varData = subscription;
2766 addState.resume(); 2784 addState.resume();
2767 } else { 2785 } else {
2768 this[_varData] = subscription; 2786 this[_varData] = subscription;
2769 } 2787 }
2770 subscription._setPendingEvents(pendingEvents); 2788 subscription._setPendingEvents(pendingEvents);
2771 subscription._guardCallback((() => { 2789 subscription._guardCallback((() => {
2772 _runGuarded(this[_onListen]); 2790 _runGuarded(this[_onListen]);
2773 }).bind(this)); 2791 }).bind(this));
2774 return dart.as(subscription, StreamSubscription$(T)); 2792 return dart.as(subscription, StreamSubscription$(T));
2775 } 2793 }
2776 [_recordCancel](subscription) { 2794 [_recordCancel](subscription) {
2777 let result = null; 2795 let result = null;
2778 if (this[_isAddingStream]) { 2796 if (this[_isAddingStream]) {
2779 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 2797 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2780 result = addState.cancel(); 2798 result = addState.cancel();
2781 } 2799 }
2782 this[_varData] = null; 2800 this[_varData] = null;
2783 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro ller._STATE_SUBSCRIBED) | dart.notNull(_StreamController._STATE_ADDSTREAM)) | da rt.notNull(_StreamController._STATE_CANCELED); 2801 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro ller[_STATE_SUBSCRIBED]) | dart.notNull(_StreamController[_STATE_ADDSTREAM])) | dart.notNull(_StreamController[_STATE_CANCELED]);
2784 if (this[_onCancel] !== null) { 2802 if (this[_onCancel] !== null) {
2785 if (result === null) { 2803 if (result === null) {
2786 try { 2804 try {
2787 result = dart.as(this[_onCancel](), Future); 2805 result = dart.as(this[_onCancel](), Future);
2788 } catch (e) { 2806 } catch (e) {
2789 let s = dart.stackTrace(e); 2807 let s = dart.stackTrace(e);
2790 result = ((_$) => { 2808 result = ((_$) => {
2791 _$._asyncCompleteError(e, s); 2809 _$._asyncCompleteError(e, s);
2792 return _$; 2810 return _$;
2793 }).bind(this)(new _Future()); 2811 }).bind(this)(new _Future());
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
2948 return this[_target].done; 2966 return this[_target].done;
2949 } 2967 }
2950 } 2968 }
2951 return _StreamSinkWrapper; 2969 return _StreamSinkWrapper;
2952 }); 2970 });
2953 let _StreamSinkWrapper = _StreamSinkWrapper$(dart.dynamic); 2971 let _StreamSinkWrapper = _StreamSinkWrapper$(dart.dynamic);
2954 let _AddStreamState$ = dart.generic(function(T) { 2972 let _AddStreamState$ = dart.generic(function(T) {
2955 class _AddStreamState extends core.Object { 2973 class _AddStreamState extends core.Object {
2956 _AddStreamState(controller, source, cancelOnError) { 2974 _AddStreamState(controller, source, cancelOnError) {
2957 this.addStreamFuture = new _Future(); 2975 this.addStreamFuture = new _Future();
2958 this.addSubscription = source.listen(controller[_add], {onError: dart.as (cancelOnError ? makeErrorHandler(controller) : controller[_addError], core.Func tion), onDone: controller[_close], cancelOnError: cancelOnError}); 2976 this.addSubscription = source.listen(controller[_add], {onError: dart.as (cancelOnError ? _AddStreamState.makeErrorHandler(controller) : controller[_addE rror], core.Function), onDone: controller[_close], cancelOnError: cancelOnError} );
2959 } 2977 }
2960 static makeErrorHandler(controller) { 2978 static makeErrorHandler(controller) {
2961 return ((e, s) => { 2979 return ((e, s) => {
2962 controller._addError(e, s); 2980 controller._addError(e, s);
2963 controller._close(); 2981 controller._close();
2964 }).bind(this); 2982 }).bind(this);
2965 } 2983 }
2966 pause() { 2984 pause() {
2967 this.addSubscription.pause(); 2985 this.addSubscription.pause();
2968 } 2986 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
3026 return ((_$) => { 3044 return ((_$) => {
3027 _$._setPendingEvents(this[_pending]()); 3045 _$._setPendingEvents(this[_pending]());
3028 return _$; 3046 return _$;
3029 }).bind(this)(new _BufferingStreamSubscription(onData, onError, onDone, cancelOnError)); 3047 }).bind(this)(new _BufferingStreamSubscription(onData, onError, onDone, cancelOnError));
3030 } 3048 }
3031 } 3049 }
3032 return _GeneratedStreamImpl; 3050 return _GeneratedStreamImpl;
3033 }); 3051 });
3034 let _GeneratedStreamImpl = _GeneratedStreamImpl$(dart.dynamic); 3052 let _GeneratedStreamImpl = _GeneratedStreamImpl$(dart.dynamic);
3035 let _iterator = Symbol('_iterator'); 3053 let _iterator = Symbol('_iterator');
3054 let _STATE_UNSCHEDULED = Symbol('_STATE_UNSCHEDULED');
3055 let _STATE_SCHEDULED = Symbol('_STATE_SCHEDULED');
3036 let _eventScheduled = Symbol('_eventScheduled'); 3056 let _eventScheduled = Symbol('_eventScheduled');
3037 class _PendingEvents extends core.Object { 3057 class _PendingEvents extends core.Object {
3038 _PendingEvents() { 3058 _PendingEvents() {
3039 this[_state] = _PendingEvents._STATE_UNSCHEDULED; 3059 this[_state] = _PendingEvents[_STATE_UNSCHEDULED];
3040 } 3060 }
3041 get isScheduled() { 3061 get isScheduled() {
3042 return this[_state] === _PendingEvents._STATE_SCHEDULED; 3062 return this[_state] === _PendingEvents[_STATE_SCHEDULED];
3043 } 3063 }
3044 get [_eventScheduled]() { 3064 get [_eventScheduled]() {
3045 return dart.notNull(this[_state]) >= dart.notNull(_PendingEvents._STATE_SC HEDULED); 3065 return dart.notNull(this[_state]) >= dart.notNull(_PendingEvents[_STATE_SC HEDULED]);
3046 } 3066 }
3047 schedule(dispatch) { 3067 schedule(dispatch) {
3048 if (this.isScheduled) 3068 if (this.isScheduled)
3049 return; 3069 return;
3050 dart.assert(!dart.notNull(this.isEmpty)); 3070 dart.assert(!dart.notNull(this.isEmpty));
3051 if (this[_eventScheduled]) { 3071 if (this[_eventScheduled]) {
3052 dart.assert(this[_state] === _PendingEvents._STATE_CANCELED); 3072 dart.assert(this[_state] === _PendingEvents[_STATE_CANCELED]);
3053 this[_state] = _PendingEvents._STATE_SCHEDULED; 3073 this[_state] = _PendingEvents[_STATE_SCHEDULED];
3054 return; 3074 return;
3055 } 3075 }
3056 scheduleMicrotask((() => { 3076 scheduleMicrotask((() => {
3057 let oldState = this[_state]; 3077 let oldState = this[_state];
3058 this[_state] = _PendingEvents._STATE_UNSCHEDULED; 3078 this[_state] = _PendingEvents[_STATE_UNSCHEDULED];
3059 if (oldState === _PendingEvents._STATE_CANCELED) 3079 if (oldState === _PendingEvents[_STATE_CANCELED])
3060 return; 3080 return;
3061 this.handleNext(dispatch); 3081 this.handleNext(dispatch);
3062 }).bind(this)); 3082 }).bind(this));
3063 this[_state] = _PendingEvents._STATE_SCHEDULED; 3083 this[_state] = _PendingEvents[_STATE_SCHEDULED];
3064 } 3084 }
3065 cancelSchedule() { 3085 cancelSchedule() {
3066 if (this.isScheduled) 3086 if (this.isScheduled)
3067 this[_state] = _PendingEvents._STATE_CANCELED; 3087 this[_state] = _PendingEvents[_STATE_CANCELED];
3068 } 3088 }
3069 } 3089 }
3070 _PendingEvents._STATE_UNSCHEDULED = 0; 3090 _PendingEvents._STATE_UNSCHEDULED = 0;
3071 _PendingEvents._STATE_SCHEDULED = 1; 3091 _PendingEvents._STATE_SCHEDULED = 1;
3072 _PendingEvents._STATE_CANCELED = 3; 3092 _PendingEvents._STATE_CANCELED = 3;
3073 let _IterablePendingEvents$ = dart.generic(function(T) { 3093 let _IterablePendingEvents$ = dart.generic(function(T) {
3074 class _IterablePendingEvents extends _PendingEvents { 3094 class _IterablePendingEvents extends _PendingEvents {
3075 _IterablePendingEvents(data) { 3095 _IterablePendingEvents(data) {
3076 this[_iterator] = data.iterator; 3096 this[_iterator] = data.iterator;
3077 super._PendingEvents(); 3097 super._PendingEvents();
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
3208 [_insertBefore](newNext) { 3228 [_insertBefore](newNext) {
3209 let newPrevious = newNext[_previous]; 3229 let newPrevious = newNext[_previous];
3210 newPrevious[_next] = this; 3230 newPrevious[_next] = this;
3211 newNext[_previous] = this[_previous]; 3231 newNext[_previous] = this[_previous];
3212 this[_previous][_next] = newNext; 3232 this[_previous][_next] = newNext;
3213 this[_previous] = newPrevious; 3233 this[_previous] = newPrevious;
3214 } 3234 }
3215 } 3235 }
3216 let _schedule = Symbol('_schedule'); 3236 let _schedule = Symbol('_schedule');
3217 let _isSent = Symbol('_isSent'); 3237 let _isSent = Symbol('_isSent');
3238 let _DONE_SENT = Symbol('_DONE_SENT');
3218 let _isScheduled = Symbol('_isScheduled'); 3239 let _isScheduled = Symbol('_isScheduled');
3240 let _SCHEDULED = Symbol('_SCHEDULED');
3241 let _PAUSED = Symbol('_PAUSED');
3219 let _DoneStreamSubscription$ = dart.generic(function(T) { 3242 let _DoneStreamSubscription$ = dart.generic(function(T) {
3220 class _DoneStreamSubscription extends core.Object { 3243 class _DoneStreamSubscription extends core.Object {
3221 _DoneStreamSubscription(onDone$) { 3244 _DoneStreamSubscription(onDone$) {
3222 this[_onDone] = onDone$; 3245 this[_onDone] = onDone$;
3223 this[_zone] = Zone.current; 3246 this[_zone] = Zone.current;
3224 this[_state] = 0; 3247 this[_state] = 0;
3225 this[_schedule](); 3248 this[_schedule]();
3226 } 3249 }
3227 get [_isSent]() { 3250 get [_isSent]() {
3228 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n._DONE_SENT)) !== 0; 3251 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n[_DONE_SENT])) !== 0;
3229 } 3252 }
3230 get [_isScheduled]() { 3253 get [_isScheduled]() {
3231 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n._SCHEDULED)) !== 0; 3254 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n[_SCHEDULED])) !== 0;
3232 } 3255 }
3233 get isPaused() { 3256 get isPaused() {
3234 return dart.notNull(this[_state]) >= dart.notNull(_DoneStreamSubscriptio n._PAUSED); 3257 return dart.notNull(this[_state]) >= dart.notNull(_DoneStreamSubscriptio n[_PAUSED]);
3235 } 3258 }
3236 [_schedule]() { 3259 [_schedule]() {
3237 if (this[_isScheduled]) 3260 if (this[_isScheduled])
3238 return; 3261 return;
3239 this[_zone].scheduleMicrotask(this[_sendDone]); 3262 this[_zone].scheduleMicrotask(this[_sendDone]);
3240 this[_state] = _DoneStreamSubscription._SCHEDULED; 3263 this[_state] = _DoneStreamSubscription[_SCHEDULED];
3241 } 3264 }
3242 onData(handleData) {} 3265 onData(handleData) {}
3243 onError(handleError) {} 3266 onError(handleError) {}
3244 onDone(handleDone) { 3267 onDone(handleDone) {
3245 this[_onDone] = handleDone; 3268 this[_onDone] = handleDone;
3246 } 3269 }
3247 pause(resumeSignal) { 3270 pause(resumeSignal) {
3248 if (resumeSignal === void 0) 3271 if (resumeSignal === void 0)
3249 resumeSignal = null; 3272 resumeSignal = null;
3250 this[_state] = _DoneStreamSubscription._PAUSED; 3273 this[_state] = _DoneStreamSubscription[_PAUSED];
3251 if (resumeSignal !== null) 3274 if (resumeSignal !== null)
3252 resumeSignal.whenComplete(this.resume); 3275 resumeSignal.whenComplete(this.resume);
3253 } 3276 }
3254 resume() { 3277 resume() {
3255 if (this.isPaused) { 3278 if (this.isPaused) {
3256 this[_state] = _DoneStreamSubscription._PAUSED; 3279 this[_state] = _DoneStreamSubscription[_PAUSED];
3257 if (!dart.notNull(this.isPaused) && !dart.notNull(this[_isSent])) { 3280 if (!dart.notNull(this.isPaused) && !dart.notNull(this[_isSent])) {
3258 this[_schedule](); 3281 this[_schedule]();
3259 } 3282 }
3260 } 3283 }
3261 } 3284 }
3262 cancel() { 3285 cancel() {
3263 return null; 3286 return null;
3264 } 3287 }
3265 asFuture(futureValue) { 3288 asFuture(futureValue) {
3266 if (futureValue === void 0) 3289 if (futureValue === void 0)
3267 futureValue = null; 3290 futureValue = null;
3268 let result = new _Future(); 3291 let result = new _Future();
3269 this[_onDone] = (() => { 3292 this[_onDone] = (() => {
3270 result._completeWithValue(null); 3293 result._completeWithValue(null);
3271 }).bind(this); 3294 }).bind(this);
3272 return result; 3295 return result;
3273 } 3296 }
3274 [_sendDone]() { 3297 [_sendDone]() {
3275 this[_state] = ~dart.notNull(_DoneStreamSubscription._SCHEDULED); 3298 this[_state] = ~dart.notNull(_DoneStreamSubscription[_SCHEDULED]);
3276 if (this.isPaused) 3299 if (this.isPaused)
3277 return; 3300 return;
3278 this[_state] = _DoneStreamSubscription._DONE_SENT; 3301 this[_state] = _DoneStreamSubscription[_DONE_SENT];
3279 if (this[_onDone] !== null) 3302 if (this[_onDone] !== null)
3280 this[_zone].runGuarded(this[_onDone]); 3303 this[_zone].runGuarded(this[_onDone]);
3281 } 3304 }
3282 } 3305 }
3283 _DoneStreamSubscription._DONE_SENT = 1; 3306 _DoneStreamSubscription._DONE_SENT = 1;
3284 _DoneStreamSubscription._SCHEDULED = 2; 3307 _DoneStreamSubscription._SCHEDULED = 2;
3285 _DoneStreamSubscription._PAUSED = 4; 3308 _DoneStreamSubscription._PAUSED = 4;
3286 return _DoneStreamSubscription; 3309 return _DoneStreamSubscription;
3287 }); 3310 });
3288 let _DoneStreamSubscription = _DoneStreamSubscription$(dart.dynamic); 3311 let _DoneStreamSubscription = _DoneStreamSubscription$(dart.dynamic);
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
3396 } 3419 }
3397 asFuture(futureValue) { 3420 asFuture(futureValue) {
3398 if (futureValue === void 0) 3421 if (futureValue === void 0)
3399 futureValue = null; 3422 futureValue = null;
3400 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription."); 3423 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription.");
3401 } 3424 }
3402 } 3425 }
3403 return _BroadcastSubscriptionWrapper; 3426 return _BroadcastSubscriptionWrapper;
3404 }); 3427 });
3405 let _BroadcastSubscriptionWrapper = _BroadcastSubscriptionWrapper$(dart.dynami c); 3428 let _BroadcastSubscriptionWrapper = _BroadcastSubscriptionWrapper$(dart.dynami c);
3406 let _current$ = Symbol('_current'); 3429 let _current = Symbol('_current');
3407 let _futureOrPrefetch = Symbol('_futureOrPrefetch'); 3430 let _futureOrPrefetch = Symbol('_futureOrPrefetch');
3431 let _STATE_FOUND = Symbol('_STATE_FOUND');
3432 let _STATE_DONE = Symbol('_STATE_DONE');
3433 let _STATE_MOVING = Symbol('_STATE_MOVING');
3434 let _STATE_EXTRA_DATA = Symbol('_STATE_EXTRA_DATA');
3435 let _STATE_EXTRA_ERROR = Symbol('_STATE_EXTRA_ERROR');
3408 let _clear = Symbol('_clear'); 3436 let _clear = Symbol('_clear');
3437 let _STATE_EXTRA_DONE = Symbol('_STATE_EXTRA_DONE');
3409 let _StreamIteratorImpl$ = dart.generic(function(T) { 3438 let _StreamIteratorImpl$ = dart.generic(function(T) {
3410 class _StreamIteratorImpl extends core.Object { 3439 class _StreamIteratorImpl extends core.Object {
3411 _StreamIteratorImpl(stream) { 3440 _StreamIteratorImpl(stream) {
3412 this[_subscription] = null; 3441 this[_subscription] = null;
3413 this[_current$] = null; 3442 this[_current] = null;
3414 this[_futureOrPrefetch] = null; 3443 this[_futureOrPrefetch] = null;
3415 this[_state] = _StreamIteratorImpl._STATE_FOUND; 3444 this[_state] = _StreamIteratorImpl[_STATE_FOUND];
3416 this[_subscription] = stream.listen(this[_onData], {onError: this[_onErr or], onDone: this[_onDone], cancelOnError: true}); 3445 this[_subscription] = stream.listen(this[_onData], {onError: this[_onErr or], onDone: this[_onDone], cancelOnError: true});
3417 } 3446 }
3418 get current() { 3447 get current() {
3419 return this[_current$]; 3448 return this[_current];
3420 } 3449 }
3421 moveNext() { 3450 moveNext() {
3422 if (this[_state] === _StreamIteratorImpl._STATE_DONE) { 3451 if (this[_state] === _StreamIteratorImpl[_STATE_DONE]) {
3423 return new _Future.immediate(false); 3452 return new _Future.immediate(false);
3424 } 3453 }
3425 if (this[_state] === _StreamIteratorImpl._STATE_MOVING) { 3454 if (this[_state] === _StreamIteratorImpl[_STATE_MOVING]) {
3426 throw new core.StateError("Already waiting for next."); 3455 throw new core.StateError("Already waiting for next.");
3427 } 3456 }
3428 if (this[_state] === _StreamIteratorImpl._STATE_FOUND) { 3457 if (this[_state] === _StreamIteratorImpl[_STATE_FOUND]) {
3429 this[_state] = _StreamIteratorImpl._STATE_MOVING; 3458 this[_state] = _StreamIteratorImpl[_STATE_MOVING];
3430 this[_current$] = null; 3459 this[_current] = null;
3431 this[_futureOrPrefetch] = new _Future(); 3460 this[_futureOrPrefetch] = new _Future();
3432 return dart.as(this[_futureOrPrefetch], Future$(core.bool)); 3461 return dart.as(this[_futureOrPrefetch], Future$(core.bool));
3433 } else { 3462 } else {
3434 dart.assert(dart.notNull(this[_state]) >= dart.notNull(_StreamIterator Impl._STATE_EXTRA_DATA)); 3463 dart.assert(dart.notNull(this[_state]) >= dart.notNull(_StreamIterator Impl[_STATE_EXTRA_DATA]));
3435 switch (this[_state]) { 3464 switch (this[_state]) {
3436 case _StreamIteratorImpl._STATE_EXTRA_DATA: 3465 case _StreamIteratorImpl[_STATE_EXTRA_DATA]:
3437 this[_state] = _StreamIteratorImpl._STATE_FOUND; 3466 this[_state] = _StreamIteratorImpl[_STATE_FOUND];
3438 this[_current$] = dart.as(this[_futureOrPrefetch], T); 3467 this[_current] = dart.as(this[_futureOrPrefetch], T);
3439 this[_futureOrPrefetch] = null; 3468 this[_futureOrPrefetch] = null;
3440 this[_subscription].resume(); 3469 this[_subscription].resume();
3441 return new _Future.immediate(true); 3470 return new _Future.immediate(true);
3442 case _StreamIteratorImpl._STATE_EXTRA_ERROR: 3471 case _StreamIteratorImpl[_STATE_EXTRA_ERROR]:
3443 let prefetch = dart.as(this[_futureOrPrefetch], AsyncError); 3472 let prefetch = dart.as(this[_futureOrPrefetch], AsyncError);
3444 this[_clear](); 3473 this[_clear]();
3445 return new _Future.immediateError(prefetch.error, prefetch.stackTr ace); 3474 return new _Future.immediateError(prefetch.error, prefetch.stackTr ace);
3446 case _StreamIteratorImpl._STATE_EXTRA_DONE: 3475 case _StreamIteratorImpl[_STATE_EXTRA_DONE]:
3447 this[_clear](); 3476 this[_clear]();
3448 return new _Future.immediate(false); 3477 return new _Future.immediate(false);
3449 } 3478 }
3450 } 3479 }
3451 } 3480 }
3452 [_clear]() { 3481 [_clear]() {
3453 this[_subscription] = null; 3482 this[_subscription] = null;
3454 this[_futureOrPrefetch] = null; 3483 this[_futureOrPrefetch] = null;
3455 this[_current$] = null; 3484 this[_current] = null;
3456 this[_state] = _StreamIteratorImpl._STATE_DONE; 3485 this[_state] = _StreamIteratorImpl[_STATE_DONE];
3457 } 3486 }
3458 cancel() { 3487 cancel() {
3459 let subscription = this[_subscription]; 3488 let subscription = this[_subscription];
3460 if (this[_state] === _StreamIteratorImpl._STATE_MOVING) { 3489 if (this[_state] === _StreamIteratorImpl[_STATE_MOVING]) {
3461 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3490 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3462 this[_clear](); 3491 this[_clear]();
3463 hasNext._complete(false); 3492 hasNext._complete(false);
3464 } else { 3493 } else {
3465 this[_clear](); 3494 this[_clear]();
3466 } 3495 }
3467 return subscription.cancel(); 3496 return subscription.cancel();
3468 } 3497 }
3469 [_onData](data) { 3498 [_onData](data) {
3470 if (this[_state] === _StreamIteratorImpl._STATE_MOVING) { 3499 if (this[_state] === _StreamIteratorImpl[_STATE_MOVING]) {
3471 this[_current$] = data; 3500 this[_current] = data;
3472 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3501 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3473 this[_futureOrPrefetch] = null; 3502 this[_futureOrPrefetch] = null;
3474 this[_state] = _StreamIteratorImpl._STATE_FOUND; 3503 this[_state] = _StreamIteratorImpl[_STATE_FOUND];
3475 hasNext._complete(true); 3504 hasNext._complete(true);
3476 return; 3505 return;
3477 } 3506 }
3478 this[_subscription].pause(); 3507 this[_subscription].pause();
3479 dart.assert(this[_futureOrPrefetch] === null); 3508 dart.assert(this[_futureOrPrefetch] === null);
3480 this[_futureOrPrefetch] = data; 3509 this[_futureOrPrefetch] = data;
3481 this[_state] = _StreamIteratorImpl._STATE_EXTRA_DATA; 3510 this[_state] = _StreamIteratorImpl[_STATE_EXTRA_DATA];
3482 } 3511 }
3483 [_onError](error, stackTrace) { 3512 [_onError](error, stackTrace) {
3484 if (stackTrace === void 0) 3513 if (stackTrace === void 0)
3485 stackTrace = null; 3514 stackTrace = null;
3486 if (this[_state] === _StreamIteratorImpl._STATE_MOVING) { 3515 if (this[_state] === _StreamIteratorImpl[_STATE_MOVING]) {
3487 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3516 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3488 this[_clear](); 3517 this[_clear]();
3489 hasNext._completeError(error, stackTrace); 3518 hasNext._completeError(error, stackTrace);
3490 return; 3519 return;
3491 } 3520 }
3492 this[_subscription].pause(); 3521 this[_subscription].pause();
3493 dart.assert(this[_futureOrPrefetch] === null); 3522 dart.assert(this[_futureOrPrefetch] === null);
3494 this[_futureOrPrefetch] = new AsyncError(error, stackTrace); 3523 this[_futureOrPrefetch] = new AsyncError(error, stackTrace);
3495 this[_state] = _StreamIteratorImpl._STATE_EXTRA_ERROR; 3524 this[_state] = _StreamIteratorImpl[_STATE_EXTRA_ERROR];
3496 } 3525 }
3497 [_onDone]() { 3526 [_onDone]() {
3498 if (this[_state] === _StreamIteratorImpl._STATE_MOVING) { 3527 if (this[_state] === _StreamIteratorImpl[_STATE_MOVING]) {
3499 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3528 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3500 this[_clear](); 3529 this[_clear]();
3501 hasNext._complete(false); 3530 hasNext._complete(false);
3502 return; 3531 return;
3503 } 3532 }
3504 this[_subscription].pause(); 3533 this[_subscription].pause();
3505 this[_futureOrPrefetch] = null; 3534 this[_futureOrPrefetch] = null;
3506 this[_state] = _StreamIteratorImpl._STATE_EXTRA_DONE; 3535 this[_state] = _StreamIteratorImpl[_STATE_EXTRA_DONE];
3507 } 3536 }
3508 } 3537 }
3509 _StreamIteratorImpl._STATE_FOUND = 0; 3538 _StreamIteratorImpl._STATE_FOUND = 0;
3510 _StreamIteratorImpl._STATE_DONE = 1; 3539 _StreamIteratorImpl._STATE_DONE = 1;
3511 _StreamIteratorImpl._STATE_MOVING = 2; 3540 _StreamIteratorImpl._STATE_MOVING = 2;
3512 _StreamIteratorImpl._STATE_EXTRA_DATA = 3; 3541 _StreamIteratorImpl._STATE_EXTRA_DATA = 3;
3513 _StreamIteratorImpl._STATE_EXTRA_ERROR = 4; 3542 _StreamIteratorImpl._STATE_EXTRA_ERROR = 4;
3514 _StreamIteratorImpl._STATE_EXTRA_DONE = 5; 3543 _StreamIteratorImpl._STATE_EXTRA_DONE = 5;
3515 return _StreamIteratorImpl; 3544 return _StreamIteratorImpl;
3516 }); 3545 });
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
3860 3889
3861 if (!dart.notNull(satisfies)) { 3890 if (!dart.notNull(satisfies)) {
3862 this[_hasFailed] = true; 3891 this[_hasFailed] = true;
3863 sink._add(inputEvent); 3892 sink._add(inputEvent);
3864 } 3893 }
3865 } 3894 }
3866 } 3895 }
3867 return _SkipWhileStream; 3896 return _SkipWhileStream;
3868 }); 3897 });
3869 let _SkipWhileStream = _SkipWhileStream$(dart.dynamic); 3898 let _SkipWhileStream = _SkipWhileStream$(dart.dynamic);
3899 let _SENTINEL = Symbol('_SENTINEL');
3870 let _equals = Symbol('_equals'); 3900 let _equals = Symbol('_equals');
3871 let _DistinctStream$ = dart.generic(function(T) { 3901 let _DistinctStream$ = dart.generic(function(T) {
3872 class _DistinctStream extends _ForwardingStream$(T, T) { 3902 class _DistinctStream extends _ForwardingStream$(T, T) {
3873 _DistinctStream(source, equals) { 3903 _DistinctStream(source, equals) {
3874 this[_previous] = _SENTINEL; 3904 this[_previous] = _DistinctStream[_SENTINEL];
3875 this[_equals] = equals; 3905 this[_equals] = equals;
3876 super._ForwardingStream(source); 3906 super._ForwardingStream(source);
3877 } 3907 }
3878 [_handleData](inputEvent, sink) { 3908 [_handleData](inputEvent, sink) {
3879 if (core.identical(this[_previous], _SENTINEL)) { 3909 if (core.identical(this[_previous], _DistinctStream[_SENTINEL])) {
3880 this[_previous] = inputEvent; 3910 this[_previous] = inputEvent;
3881 return sink._add(inputEvent); 3911 return sink._add(inputEvent);
3882 } else { 3912 } else {
3883 let isEqual = null; 3913 let isEqual = null;
3884 try { 3914 try {
3885 if (this[_equals] === null) { 3915 if (this[_equals] === null) {
3886 isEqual = dart.equals(this[_previous], inputEvent); 3916 isEqual = dart.equals(this[_previous], inputEvent);
3887 } else { 3917 } else {
3888 isEqual = this[_equals](dart.as(this[_previous], T), inputEvent); 3918 isEqual = this[_equals](dart.as(this[_previous], T), inputEvent);
3889 } 3919 }
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
4067 stackTrace = null; 4097 stackTrace = null;
4068 return this[_handleError](error, stackTrace, this[_sink]); 4098 return this[_handleError](error, stackTrace, this[_sink]);
4069 } 4099 }
4070 close() { 4100 close() {
4071 return this[_handleDone](this[_sink]); 4101 return this[_handleDone](this[_sink]);
4072 } 4102 }
4073 } 4103 }
4074 return _HandlerEventSink; 4104 return _HandlerEventSink;
4075 }); 4105 });
4076 let _HandlerEventSink = _HandlerEventSink$(dart.dynamic, dart.dynamic); 4106 let _HandlerEventSink = _HandlerEventSink$(dart.dynamic, dart.dynamic);
4077 let _defaultHandleData$ = Symbol('_defaultHandleData'); 4107 let _defaultHandleData = Symbol('_defaultHandleData');
4078 let _defaultHandleError$ = Symbol('_defaultHandleError'); 4108 let _defaultHandleError = Symbol('_defaultHandleError');
4079 let _defaultHandleDone$ = Symbol('_defaultHandleDone'); 4109 let _defaultHandleDone = Symbol('_defaultHandleDone');
4080 let _StreamHandlerTransformer$ = dart.generic(function(S, T) { 4110 let _StreamHandlerTransformer$ = dart.generic(function(S, T) {
4081 class _StreamHandlerTransformer extends _StreamSinkTransformer$(S, T) { 4111 class _StreamHandlerTransformer extends _StreamSinkTransformer$(S, T) {
4082 _StreamHandlerTransformer(opts) { 4112 _StreamHandlerTransformer(opts) {
4083 let handleData = opts && 'handleData' in opts ? opts.handleData : null; 4113 let handleData = opts && 'handleData' in opts ? opts.handleData : null;
4084 let handleError = opts && 'handleError' in opts ? opts.handleError : nul l; 4114 let handleError = opts && 'handleError' in opts ? opts.handleError : nul l;
4085 let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null; 4115 let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null;
4086 super._StreamSinkTransformer(dart.closureWrap((outputSink) => { 4116 super._StreamSinkTransformer(dart.closureWrap((outputSink) => {
4087 if (handleData === null) 4117 if (handleData === null)
4088 handleData = dart.closureWrap(_defaultHandleData, "(S, EventSink<T>) → void"); 4118 handleData = dart.closureWrap(_StreamHandlerTransformer[_defaultHand leData], "(S, EventSink<T>) → void");
4089 if (handleError === null) 4119 if (handleError === null)
4090 handleError = dart.closureWrap(_defaultHandleError, "(Object, StackT race, EventSink<T>) → void"); 4120 handleError = dart.closureWrap(_StreamHandlerTransformer[_defaultHan dleError], "(Object, StackTrace, EventSink<T>) → void");
4091 if (handleDone === null) 4121 if (handleDone === null)
4092 handleDone = _defaultHandleDone; 4122 handleDone = _StreamHandlerTransformer[_defaultHandleDone];
4093 return new _HandlerEventSink(handleData, handleError, handleDone, outp utSink); 4123 return new _HandlerEventSink(handleData, handleError, handleDone, outp utSink);
4094 }, "(EventSink<T>) → EventSink<S>")); 4124 }, "(EventSink<T>) → EventSink<S>"));
4095 } 4125 }
4096 bind(stream) { 4126 bind(stream) {
4097 return super.bind(stream); 4127 return super.bind(stream);
4098 } 4128 }
4099 static [_defaultHandleData$](data, sink) { 4129 static [_defaultHandleData](data, sink) {
4100 sink.add(data); 4130 sink.add(data);
4101 } 4131 }
4102 static [_defaultHandleError$](error, stackTrace, sink) { 4132 static [_defaultHandleError](error, stackTrace, sink) {
4103 sink.addError(error); 4133 sink.addError(error);
4104 } 4134 }
4105 static [_defaultHandleDone$](sink) { 4135 static [_defaultHandleDone](sink) {
4106 sink.close(); 4136 sink.close();
4107 } 4137 }
4108 } 4138 }
4109 return _StreamHandlerTransformer; 4139 return _StreamHandlerTransformer;
4110 }); 4140 });
4111 let _StreamHandlerTransformer = _StreamHandlerTransformer$(dart.dynamic, dart. dynamic); 4141 let _StreamHandlerTransformer = _StreamHandlerTransformer$(dart.dynamic, dart. dynamic);
4112 let _transformer = Symbol('_transformer'); 4142 let _transformer = Symbol('_transformer');
4113 let _StreamSubscriptionTransformer$ = dart.generic(function(S, T) { 4143 let _StreamSubscriptionTransformer$ = dart.generic(function(S, T) {
4114 class _StreamSubscriptionTransformer extends core.Object { 4144 class _StreamSubscriptionTransformer extends core.Object {
4115 _StreamSubscriptionTransformer(transformer$) { 4145 _StreamSubscriptionTransformer(transformer$) {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
4231 this.createTimer = createTimer; 4261 this.createTimer = createTimer;
4232 this.createPeriodicTimer = createPeriodicTimer; 4262 this.createPeriodicTimer = createPeriodicTimer;
4233 this.print = print; 4263 this.print = print;
4234 this.fork = fork; 4264 this.fork = fork;
4235 } 4265 }
4236 } 4266 }
4237 class ZoneDelegate extends core.Object { 4267 class ZoneDelegate extends core.Object {
4238 } 4268 }
4239 let _enter = Symbol('_enter'); 4269 let _enter = Symbol('_enter');
4240 let _leave = Symbol('_leave'); 4270 let _leave = Symbol('_leave');
4271 let _$ = Symbol('_');
4241 class Zone extends core.Object { 4272 class Zone extends core.Object {
4242 Zone$_() { 4273 Zone$_() {
4243 } 4274 }
4244 static get current() { 4275 static get current() {
4245 return _current; 4276 return Zone[_current];
4246 } 4277 }
4247 static [_enter](zone) { 4278 static [_enter](zone) {
4248 dart.assert(zone !== null); 4279 dart.assert(zone !== null);
4249 dart.assert(!dart.notNull(core.identical(zone, _current))); 4280 dart.assert(!dart.notNull(core.identical(zone, Zone[_current])));
4250 let previous = _current; 4281 let previous = Zone[_current];
4251 _current = zone; 4282 Zone[_current] = zone;
4252 return previous; 4283 return previous;
4253 } 4284 }
4254 static [_leave](previous) { 4285 static [_leave](previous) {
4255 dart.assert(previous !== null); 4286 dart.assert(previous !== null);
4256 Zone[_current$] = previous; 4287 Zone[_current] = previous;
4257 } 4288 }
4258 } 4289 }
4259 dart.defineNamedConstructor(Zone, '_'); 4290 dart.defineNamedConstructor(Zone, _$);
4260 Zone.ROOT = _ROOT_ZONE; 4291 Zone.ROOT = _ROOT_ZONE;
4261 Zone._current = _ROOT_ZONE; 4292 Zone._current = _ROOT_ZONE;
4262 let _delegate = Symbol('_delegate'); 4293 let _delegate = Symbol('_delegate');
4263 // Function _parentDelegate: (_Zone) → ZoneDelegate 4294 // Function _parentDelegate: (_Zone) → ZoneDelegate
4264 function _parentDelegate(zone) { 4295 function _parentDelegate(zone) {
4265 if (zone.parent === null) 4296 if (zone.parent === null)
4266 return null; 4297 return null;
4267 return zone.parent[_delegate]; 4298 return zone.parent[_delegate];
4268 } 4299 }
4269 let _delegationTarget = Symbol('_delegationTarget'); 4300 let _delegationTarget = Symbol('_delegationTarget');
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
4554 } 4585 }
4555 } 4586 }
4556 // Function _rootHandleUncaughtError: (Zone, ZoneDelegate, Zone, dynamic, Stac kTrace) → void 4587 // Function _rootHandleUncaughtError: (Zone, ZoneDelegate, Zone, dynamic, Stac kTrace) → void
4557 function _rootHandleUncaughtError(self, parent, zone, error, stackTrace) { 4588 function _rootHandleUncaughtError(self, parent, zone, error, stackTrace) {
4558 _schedulePriorityAsyncCallback(() => { 4589 _schedulePriorityAsyncCallback(() => {
4559 throw new _UncaughtAsyncError(error, stackTrace); 4590 throw new _UncaughtAsyncError(error, stackTrace);
4560 }); 4591 });
4561 } 4592 }
4562 // Function _rootRun: (Zone, ZoneDelegate, Zone, () → dynamic) → dynamic 4593 // Function _rootRun: (Zone, ZoneDelegate, Zone, () → dynamic) → dynamic
4563 function _rootRun(self, parent, zone, f) { 4594 function _rootRun(self, parent, zone, f) {
4564 if (dart.equals(Zone[_current$], zone)) 4595 if (dart.equals(Zone[_current], zone))
4565 return f(); 4596 return f();
4566 let old = Zone._enter(zone); 4597 let old = Zone._enter(zone);
4567 try { 4598 try {
4568 return f(); 4599 return f();
4569 } finally { 4600 } finally {
4570 Zone._leave(old); 4601 Zone._leave(old);
4571 } 4602 }
4572 } 4603 }
4573 // Function _rootRunUnary: (Zone, ZoneDelegate, Zone, (dynamic) → dynamic, dyn amic) → dynamic 4604 // Function _rootRunUnary: (Zone, ZoneDelegate, Zone, (dynamic) → dynamic, dyn amic) → dynamic
4574 function _rootRunUnary(self, parent, zone, f, arg) { 4605 function _rootRunUnary(self, parent, zone, f, arg) {
4575 if (dart.equals(Zone[_current$], zone)) 4606 if (dart.equals(Zone[_current], zone))
4576 return dart.dinvokef(f, arg); 4607 return dart.dinvokef(f, arg);
4577 let old = Zone._enter(zone); 4608 let old = Zone._enter(zone);
4578 try { 4609 try {
4579 return dart.dinvokef(f, arg); 4610 return dart.dinvokef(f, arg);
4580 } finally { 4611 } finally {
4581 Zone._leave(old); 4612 Zone._leave(old);
4582 } 4613 }
4583 } 4614 }
4584 // Function _rootRunBinary: (Zone, ZoneDelegate, Zone, (dynamic, dynamic) → dy namic, dynamic, dynamic) → dynamic 4615 // Function _rootRunBinary: (Zone, ZoneDelegate, Zone, (dynamic, dynamic) → dy namic, dynamic, dynamic) → dynamic
4585 function _rootRunBinary(self, parent, zone, f, arg1, arg2) { 4616 function _rootRunBinary(self, parent, zone, f, arg1, arg2) {
4586 if (dart.equals(Zone[_current$], zone)) 4617 if (dart.equals(Zone[_current], zone))
4587 return dart.dinvokef(f, arg1, arg2); 4618 return dart.dinvokef(f, arg1, arg2);
4588 let old = Zone._enter(zone); 4619 let old = Zone._enter(zone);
4589 try { 4620 try {
4590 return dart.dinvokef(f, arg1, arg2); 4621 return dart.dinvokef(f, arg1, arg2);
4591 } finally { 4622 } finally {
4592 Zone._leave(old); 4623 Zone._leave(old);
4593 } 4624 }
4594 } 4625 }
4595 // Function _rootRegisterCallback: (Zone, ZoneDelegate, Zone, () → dynamic) → ZoneCallback 4626 // Function _rootRegisterCallback: (Zone, ZoneDelegate, Zone, () → dynamic) → ZoneCallback
4596 function _rootRegisterCallback(self, parent, zone, f) { 4627 function _rootRegisterCallback(self, parent, zone, f) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
4692 get createPeriodicTimer() { 4723 get createPeriodicTimer() {
4693 return _rootCreatePeriodicTimer; 4724 return _rootCreatePeriodicTimer;
4694 } 4725 }
4695 get print() { 4726 get print() {
4696 return _rootPrint; 4727 return _rootPrint;
4697 } 4728 }
4698 get fork() { 4729 get fork() {
4699 return _rootFork; 4730 return _rootFork;
4700 } 4731 }
4701 } 4732 }
4733 let _rootMap = Symbol('_rootMap');
4734 let _rootDelegate = Symbol('_rootDelegate');
4702 class _RootZone extends _Zone { 4735 class _RootZone extends _Zone {
4703 _RootZone() { 4736 _RootZone() {
4704 super._Zone(); 4737 super._Zone();
4705 } 4738 }
4706 get [_run]() { 4739 get [_run]() {
4707 return new _ZoneFunction(_ROOT_ZONE, _rootRun); 4740 return new _ZoneFunction(_ROOT_ZONE, _rootRun);
4708 } 4741 }
4709 get [_runUnary]() { 4742 get [_runUnary]() {
4710 return new _ZoneFunction(_ROOT_ZONE, _rootRunUnary); 4743 return new _ZoneFunction(_ROOT_ZONE, _rootRunUnary);
4711 } 4744 }
(...skipping 27 matching lines...) Expand all
4739 get [_fork]() { 4772 get [_fork]() {
4740 return new _ZoneFunction(_ROOT_ZONE, _rootFork); 4773 return new _ZoneFunction(_ROOT_ZONE, _rootFork);
4741 } 4774 }
4742 get [_handleUncaughtError]() { 4775 get [_handleUncaughtError]() {
4743 return new _ZoneFunction(_ROOT_ZONE, _rootHandleUncaughtError); 4776 return new _ZoneFunction(_ROOT_ZONE, _rootHandleUncaughtError);
4744 } 4777 }
4745 get parent() { 4778 get parent() {
4746 return null; 4779 return null;
4747 } 4780 }
4748 get [_map]() { 4781 get [_map]() {
4749 return _rootMap; 4782 return _RootZone[_rootMap];
4750 } 4783 }
4751 get [_delegate]() { 4784 get [_delegate]() {
4752 if (_rootDelegate !== null) 4785 if (_RootZone[_rootDelegate] !== null)
4753 return _rootDelegate; 4786 return _RootZone[_rootDelegate];
4754 return _rootDelegate = new _ZoneDelegate(this); 4787 return _RootZone[_rootDelegate] = new _ZoneDelegate(this);
4755 } 4788 }
4756 get errorZone() { 4789 get errorZone() {
4757 return this; 4790 return this;
4758 } 4791 }
4759 runGuarded(f) { 4792 runGuarded(f) {
4760 try { 4793 try {
4761 if (core.identical(_ROOT_ZONE, Zone[_current$])) { 4794 if (core.identical(_ROOT_ZONE, Zone[_current])) {
4762 return f(); 4795 return f();
4763 } 4796 }
4764 return _rootRun(null, null, this, f); 4797 return _rootRun(null, null, this, f);
4765 } catch (e) { 4798 } catch (e) {
4766 let s = dart.stackTrace(e); 4799 let s = dart.stackTrace(e);
4767 return this.handleUncaughtError(e, s); 4800 return this.handleUncaughtError(e, s);
4768 } 4801 }
4769 4802
4770 } 4803 }
4771 runUnaryGuarded(f, arg) { 4804 runUnaryGuarded(f, arg) {
4772 try { 4805 try {
4773 if (core.identical(_ROOT_ZONE, Zone[_current$])) { 4806 if (core.identical(_ROOT_ZONE, Zone[_current])) {
4774 return dart.dinvokef(f, arg); 4807 return dart.dinvokef(f, arg);
4775 } 4808 }
4776 return _rootRunUnary(null, null, this, f, arg); 4809 return _rootRunUnary(null, null, this, f, arg);
4777 } catch (e) { 4810 } catch (e) {
4778 let s = dart.stackTrace(e); 4811 let s = dart.stackTrace(e);
4779 return this.handleUncaughtError(e, s); 4812 return this.handleUncaughtError(e, s);
4780 } 4813 }
4781 4814
4782 } 4815 }
4783 runBinaryGuarded(f, arg1, arg2) { 4816 runBinaryGuarded(f, arg1, arg2) {
4784 try { 4817 try {
4785 if (core.identical(_ROOT_ZONE, Zone[_current$])) { 4818 if (core.identical(_ROOT_ZONE, Zone[_current])) {
4786 return dart.dinvokef(f, arg1, arg2); 4819 return dart.dinvokef(f, arg1, arg2);
4787 } 4820 }
4788 return _rootRunBinary(null, null, this, f, arg1, arg2); 4821 return _rootRunBinary(null, null, this, f, arg1, arg2);
4789 } catch (e) { 4822 } catch (e) {
4790 let s = dart.stackTrace(e); 4823 let s = dart.stackTrace(e);
4791 return this.handleUncaughtError(e, s); 4824 return this.handleUncaughtError(e, s);
4792 } 4825 }
4793 4826
4794 } 4827 }
4795 bindCallback(f, opts) { 4828 bindCallback(f, opts) {
(...skipping 25 matching lines...) Expand all
4821 } 4854 }
4822 handleUncaughtError(error, stackTrace) { 4855 handleUncaughtError(error, stackTrace) {
4823 return _rootHandleUncaughtError(null, null, this, error, stackTrace); 4856 return _rootHandleUncaughtError(null, null, this, error, stackTrace);
4824 } 4857 }
4825 fork(opts) { 4858 fork(opts) {
4826 let specification = opts && 'specification' in opts ? opts.specification : null; 4859 let specification = opts && 'specification' in opts ? opts.specification : null;
4827 let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null; 4860 let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
4828 return _rootFork(null, null, this, specification, zoneValues); 4861 return _rootFork(null, null, this, specification, zoneValues);
4829 } 4862 }
4830 run(f) { 4863 run(f) {
4831 if (core.identical(Zone[_current$], _ROOT_ZONE)) 4864 if (core.identical(Zone[_current], _ROOT_ZONE))
4832 return f(); 4865 return f();
4833 return _rootRun(null, null, this, f); 4866 return _rootRun(null, null, this, f);
4834 } 4867 }
4835 runUnary(f, arg) { 4868 runUnary(f, arg) {
4836 if (core.identical(Zone[_current$], _ROOT_ZONE)) 4869 if (core.identical(Zone[_current], _ROOT_ZONE))
4837 return dart.dinvokef(f, arg); 4870 return dart.dinvokef(f, arg);
4838 return _rootRunUnary(null, null, this, f, arg); 4871 return _rootRunUnary(null, null, this, f, arg);
4839 } 4872 }
4840 runBinary(f, arg1, arg2) { 4873 runBinary(f, arg1, arg2) {
4841 if (core.identical(Zone[_current$], _ROOT_ZONE)) 4874 if (core.identical(Zone[_current], _ROOT_ZONE))
4842 return dart.dinvokef(f, arg1, arg2); 4875 return dart.dinvokef(f, arg1, arg2);
4843 return _rootRunBinary(null, null, this, f, arg1, arg2); 4876 return _rootRunBinary(null, null, this, f, arg1, arg2);
4844 } 4877 }
4845 registerCallback(f) { 4878 registerCallback(f) {
4846 return f; 4879 return f;
4847 } 4880 }
4848 registerUnaryCallback(f) { 4881 registerUnaryCallback(f) {
4849 return f; 4882 return f;
4850 } 4883 }
4851 registerBinaryCallback(f) { 4884 registerBinaryCallback(f) {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
4943 exports.StreamIterator = StreamIterator; 4976 exports.StreamIterator = StreamIterator;
4944 exports.StreamIterator$ = StreamIterator$; 4977 exports.StreamIterator$ = StreamIterator$;
4945 exports.StreamController = StreamController; 4978 exports.StreamController = StreamController;
4946 exports.StreamController$ = StreamController$; 4979 exports.StreamController$ = StreamController$;
4947 exports.Timer = Timer; 4980 exports.Timer = Timer;
4948 exports.ZoneSpecification = ZoneSpecification; 4981 exports.ZoneSpecification = ZoneSpecification;
4949 exports.ZoneDelegate = ZoneDelegate; 4982 exports.ZoneDelegate = ZoneDelegate;
4950 exports.Zone = Zone; 4983 exports.Zone = Zone;
4951 exports.runZoned = runZoned; 4984 exports.runZoned = runZoned;
4952 })(async || (async = {})); 4985 })(async || (async = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/_native_typed_data.js ('k') | lib/runtime/dart/collection.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698