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

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

Issue 1111863002: fix static members in _emitMemberName (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: catch more cases Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/_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.dcall(errorHandler, error, stackTrace); 7 return dart.dcall(errorHandler, error, stackTrace);
8 } else { 8 } else {
9 return dart.dcall(errorHandler, error); 9 return dart.dcall(errorHandler, error);
10 } 10 }
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, __CastType0)); 17 return zone.registerUnaryCallback(dart.as(errorHandler, __CastType0));
18 } 18 }
19 } 19 }
20 let _getBestStackTrace = Symbol('_getBestStackTrace');
21 class AsyncError extends core.Object { 20 class AsyncError extends core.Object {
22 AsyncError(error, stackTrace) { 21 AsyncError(error, stackTrace) {
23 this.error = error; 22 this.error = error;
24 this.stackTrace = stackTrace; 23 this.stackTrace = stackTrace;
25 } 24 }
26 toString() { 25 toString() {
27 return dart.toString(this.error); 26 return dart.toString(this.error);
28 } 27 }
29 } 28 }
30 AsyncError[dart.implements] = () => [core.Error]; 29 AsyncError[dart.implements] = () => [core.Error];
31 class _UncaughtAsyncError extends AsyncError { 30 class _UncaughtAsyncError extends AsyncError {
32 _UncaughtAsyncError(error, stackTrace) { 31 _UncaughtAsyncError(error, stackTrace) {
33 super.AsyncError(error, _UncaughtAsyncError[_getBestStackTrace](error, sta ckTrace)); 32 super.AsyncError(error, _UncaughtAsyncError._getBestStackTrace(error, stac kTrace));
34 } 33 }
35 static [_getBestStackTrace](error, stackTrace) { 34 static _getBestStackTrace(error, stackTrace) {
36 if (stackTrace != null) 35 if (stackTrace != null)
37 return stackTrace; 36 return stackTrace;
38 if (dart.is(error, core.Error)) { 37 if (dart.is(error, core.Error)) {
39 return dart.as(dart.dload(error, 'stackTrace'), core.StackTrace); 38 return dart.as(dart.dload(error, 'stackTrace'), core.StackTrace);
40 } 39 }
41 return null; 40 return null;
42 } 41 }
43 toString() { 42 toString() {
44 let result = `Uncaught Error: ${this.error}`; 43 let result = `Uncaught Error: ${this.error}`;
45 if (this.stackTrace != null) { 44 if (this.stackTrace != null) {
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 let _next = Symbol('_next'); 829 let _next = Symbol('_next');
831 let _previous = Symbol('_previous'); 830 let _previous = Symbol('_previous');
832 class _BroadcastSubscriptionLink extends core.Object { 831 class _BroadcastSubscriptionLink extends core.Object {
833 _BroadcastSubscriptionLink() { 832 _BroadcastSubscriptionLink() {
834 this[_next] = null; 833 this[_next] = null;
835 this[_previous] = null; 834 this[_previous] = null;
836 } 835 }
837 } 836 }
838 let _eventState = Symbol('_eventState'); 837 let _eventState = Symbol('_eventState');
839 let _expectsEvent = Symbol('_expectsEvent'); 838 let _expectsEvent = Symbol('_expectsEvent');
840 let _STATE_EVENT_ID = Symbol('_STATE_EVENT_ID');
841 let _toggleEventId = Symbol('_toggleEventId'); 839 let _toggleEventId = Symbol('_toggleEventId');
842 let _isFiring = Symbol('_isFiring'); 840 let _isFiring = Symbol('_isFiring');
843 let _STATE_FIRING = Symbol('_STATE_FIRING');
844 let _setRemoveAfterFiring = Symbol('_setRemoveAfterFiring'); 841 let _setRemoveAfterFiring = Symbol('_setRemoveAfterFiring');
845 let _STATE_REMOVE_AFTER_FIRING = Symbol('_STATE_REMOVE_AFTER_FIRING');
846 let _removeAfterFiring = Symbol('_removeAfterFiring'); 842 let _removeAfterFiring = Symbol('_removeAfterFiring');
847 let _onPause = Symbol('_onPause'); 843 let _onPause = Symbol('_onPause');
848 let _onResume = Symbol('_onResume'); 844 let _onResume = Symbol('_onResume');
849 let _onCancel = Symbol('_onCancel'); 845 let _onCancel = Symbol('_onCancel');
850 let _recordCancel = Symbol('_recordCancel'); 846 let _recordCancel = Symbol('_recordCancel');
851 let _recordPause = Symbol('_recordPause'); 847 let _recordPause = Symbol('_recordPause');
852 let _recordResume = Symbol('_recordResume'); 848 let _recordResume = Symbol('_recordResume');
853 let _STATE_CANCEL_ON_ERROR = Symbol('_STATE_CANCEL_ON_ERROR');
854 let _zone = Symbol('_zone'); 849 let _zone = Symbol('_zone');
855 let _state = Symbol('_state'); 850 let _state = Symbol('_state');
856 let _onData = Symbol('_onData'); 851 let _onData = Symbol('_onData');
857 let _onError = Symbol('_onError'); 852 let _onError = Symbol('_onError');
858 let _onDone = Symbol('_onDone'); 853 let _onDone = Symbol('_onDone');
859 let _cancelFuture = Symbol('_cancelFuture'); 854 let _cancelFuture = Symbol('_cancelFuture');
860 let _pending = Symbol('_pending'); 855 let _pending = Symbol('_pending');
861 let _setPendingEvents = Symbol('_setPendingEvents'); 856 let _setPendingEvents = Symbol('_setPendingEvents');
862 let _STATE_HAS_PENDING = Symbol('_STATE_HAS_PENDING');
863 let _extractPending = Symbol('_extractPending'); 857 let _extractPending = Symbol('_extractPending');
864 let _isCanceled = Symbol('_isCanceled'); 858 let _isCanceled = Symbol('_isCanceled');
865 let _isPaused = Symbol('_isPaused'); 859 let _isPaused = Symbol('_isPaused');
866 let _isInputPaused = Symbol('_isInputPaused'); 860 let _isInputPaused = Symbol('_isInputPaused');
867 let _STATE_PAUSE_COUNT = Symbol('_STATE_PAUSE_COUNT');
868 let _STATE_INPUT_PAUSED = Symbol('_STATE_INPUT_PAUSED');
869 let _inCallback = Symbol('_inCallback'); 861 let _inCallback = Symbol('_inCallback');
870 let _guardCallback = Symbol('_guardCallback'); 862 let _guardCallback = Symbol('_guardCallback');
871 let _decrementPauseCount = Symbol('_decrementPauseCount'); 863 let _decrementPauseCount = Symbol('_decrementPauseCount');
872 let _hasPending = Symbol('_hasPending'); 864 let _hasPending = Symbol('_hasPending');
873 let _mayResumeInput = Symbol('_mayResumeInput'); 865 let _mayResumeInput = Symbol('_mayResumeInput');
874 let _STATE_WAIT_FOR_CANCEL = Symbol('_STATE_WAIT_FOR_CANCEL');
875 let _cancel = Symbol('_cancel'); 866 let _cancel = Symbol('_cancel');
876 let _isClosed = Symbol('_isClosed'); 867 let _isClosed = Symbol('_isClosed');
877 let _STATE_CLOSED = Symbol('_STATE_CLOSED');
878 let _STATE_CANCELED = Symbol('_STATE_CANCELED');
879 let _waitsForCancel = Symbol('_waitsForCancel'); 868 let _waitsForCancel = Symbol('_waitsForCancel');
880 let _STATE_IN_CALLBACK = Symbol('_STATE_IN_CALLBACK');
881 let _canFire = Symbol('_canFire'); 869 let _canFire = Symbol('_canFire');
882 let _cancelOnError = Symbol('_cancelOnError'); 870 let _cancelOnError = Symbol('_cancelOnError');
883 let _incrementPauseCount = Symbol('_incrementPauseCount'); 871 let _incrementPauseCount = Symbol('_incrementPauseCount');
884 let _sendData = Symbol('_sendData'); 872 let _sendData = Symbol('_sendData');
885 let _addPending = Symbol('_addPending'); 873 let _addPending = Symbol('_addPending');
886 let _sendError = Symbol('_sendError'); 874 let _sendError = Symbol('_sendError');
887 let _close = Symbol('_close'); 875 let _close = Symbol('_close');
888 let _sendDone = Symbol('_sendDone'); 876 let _sendDone = Symbol('_sendDone');
889 let _checkState = Symbol('_checkState'); 877 let _checkState = Symbol('_checkState');
890 let _BufferingStreamSubscription$ = dart.generic(function(T) { 878 let _BufferingStreamSubscription$ = dart.generic(function(T) {
891 class _BufferingStreamSubscription extends core.Object { 879 class _BufferingStreamSubscription extends core.Object {
892 _BufferingStreamSubscription(onData, onError, onDone, cancelOnError) { 880 _BufferingStreamSubscription(onData, onError, onDone, cancelOnError) {
893 this[_zone] = Zone.current; 881 this[_zone] = Zone.current;
894 this[_state] = cancelOnError ? _BufferingStreamSubscription[_STATE_CANCE L_ON_ERROR] : 0; 882 this[_state] = cancelOnError ? _BufferingStreamSubscription._STATE_CANCE L_ON_ERROR : 0;
895 this[_onData] = null; 883 this[_onData] = null;
896 this[_onError] = null; 884 this[_onError] = null;
897 this[_onDone] = null; 885 this[_onDone] = null;
898 this[_cancelFuture] = null; 886 this[_cancelFuture] = null;
899 this[_pending] = null; 887 this[_pending] = null;
900 this.onData(onData); 888 this.onData(onData);
901 this.onError(onError); 889 this.onError(onError);
902 this.onDone(onDone); 890 this.onDone(onDone);
903 } 891 }
904 [_setPendingEvents](pendingEvents) { 892 [_setPendingEvents](pendingEvents) {
905 dart.assert(this[_pending] == null); 893 dart.assert(this[_pending] == null);
906 if (pendingEvents == null) 894 if (pendingEvents == null)
907 return; 895 return;
908 this[_pending] = pendingEvents; 896 this[_pending] = pendingEvents;
909 if (!dart.notNull(pendingEvents.isEmpty)) { 897 if (!dart.notNull(pendingEvents.isEmpty)) {
910 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription[_STATE_HAS_PENDING]); 898 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_HAS_PENDING);
911 this[_pending].schedule(this); 899 this[_pending].schedule(this);
912 } 900 }
913 } 901 }
914 [_extractPending]() { 902 [_extractPending]() {
915 dart.assert(this[_isCanceled]); 903 dart.assert(this[_isCanceled]);
916 let events = this[_pending]; 904 let events = this[_pending];
917 this[_pending] = null; 905 this[_pending] = null;
918 return events; 906 return events;
919 } 907 }
920 onData(handleData) { 908 onData(handleData) {
(...skipping 11 matching lines...) Expand all
932 handleDone = _nullDoneHandler; 920 handleDone = _nullDoneHandler;
933 this[_onDone] = this[_zone].registerCallback(handleDone); 921 this[_onDone] = this[_zone].registerCallback(handleDone);
934 } 922 }
935 pause(resumeSignal) { 923 pause(resumeSignal) {
936 if (resumeSignal === void 0) 924 if (resumeSignal === void 0)
937 resumeSignal = null; 925 resumeSignal = null;
938 if (this[_isCanceled]) 926 if (this[_isCanceled])
939 return; 927 return;
940 let wasPaused = this[_isPaused]; 928 let wasPaused = this[_isPaused];
941 let wasInputPaused = this[_isInputPaused]; 929 let wasInputPaused = this[_isInputPaused];
942 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription[_STATE_PAUSE_COUNT]) | dart.notNull(_BufferingStreamSubscription[_ STATE_INPUT_PAUSED]); 930 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT) | dart.notNull(_BufferingStreamSubscription._S TATE_INPUT_PAUSED);
943 if (resumeSignal != null) 931 if (resumeSignal != null)
944 resumeSignal.whenComplete(this.resume.bind(this)); 932 resumeSignal.whenComplete(this.resume.bind(this));
945 if (!dart.notNull(wasPaused) && dart.notNull(this[_pending] != null)) 933 if (!dart.notNull(wasPaused) && dart.notNull(this[_pending] != null))
946 this[_pending].cancelSchedule(); 934 this[_pending].cancelSchedule();
947 if (!dart.notNull(wasInputPaused) && !dart.notNull(this[_inCallback])) 935 if (!dart.notNull(wasInputPaused) && !dart.notNull(this[_inCallback]))
948 this[_guardCallback](this[_onPause].bind(this)); 936 this[_guardCallback](this[_onPause].bind(this));
949 } 937 }
950 resume() { 938 resume() {
951 if (this[_isCanceled]) 939 if (this[_isCanceled])
952 return; 940 return;
953 if (this[_isPaused]) { 941 if (this[_isPaused]) {
954 this[_decrementPauseCount](); 942 this[_decrementPauseCount]();
955 if (!dart.notNull(this[_isPaused])) { 943 if (!dart.notNull(this[_isPaused])) {
956 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_pending]. isEmpty)) { 944 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_pending]. isEmpty)) {
957 this[_pending].schedule(this); 945 this[_pending].schedule(this);
958 } else { 946 } else {
959 dart.assert(this[_mayResumeInput]); 947 dart.assert(this[_mayResumeInput]);
960 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_Bufferi ngStreamSubscription[_STATE_INPUT_PAUSED]); 948 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_Bufferi ngStreamSubscription._STATE_INPUT_PAUSED);
961 if (!dart.notNull(this[_inCallback])) 949 if (!dart.notNull(this[_inCallback]))
962 this[_guardCallback](this[_onResume].bind(this)); 950 this[_guardCallback](this[_onResume].bind(this));
963 } 951 }
964 } 952 }
965 } 953 }
966 } 954 }
967 cancel() { 955 cancel() {
968 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription[_STATE_WAIT_FOR_CANCEL]); 956 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription._STATE_WAIT_FOR_CANCEL);
969 if (this[_isCanceled]) 957 if (this[_isCanceled])
970 return this[_cancelFuture]; 958 return this[_cancelFuture];
971 this[_cancel](); 959 this[_cancel]();
972 return this[_cancelFuture]; 960 return this[_cancelFuture];
973 } 961 }
974 asFuture(futureValue) { 962 asFuture(futureValue) {
975 if (futureValue === void 0) 963 if (futureValue === void 0)
976 futureValue = null; 964 futureValue = null;
977 let result = new (_Future$(T))(); 965 let result = new (_Future$(T))();
978 this[_onDone] = () => { 966 this[_onDone] = () => {
979 result[_complete](futureValue); 967 result[_complete](futureValue);
980 }; 968 };
981 this[_onError] = ((error, stackTrace) => { 969 this[_onError] = ((error, stackTrace) => {
982 this.cancel(); 970 this.cancel();
983 result[_completeError](error, dart.as(stackTrace, core.StackTrace)); 971 result[_completeError](error, dart.as(stackTrace, core.StackTrace));
984 }).bind(this); 972 }).bind(this);
985 return result; 973 return result;
986 } 974 }
987 get [_isInputPaused]() { 975 get [_isInputPaused]() {
988 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_INPUT_PAUSED])) != 0; 976 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_INPUT_PAUSED)) != 0;
989 } 977 }
990 get [_isClosed]() { 978 get [_isClosed]() {
991 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_CLOSED])) != 0; 979 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_CLOSED)) != 0;
992 } 980 }
993 get [_isCanceled]() { 981 get [_isCanceled]() {
994 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_CANCELED])) != 0; 982 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_CANCELED)) != 0;
995 } 983 }
996 get [_waitsForCancel]() { 984 get [_waitsForCancel]() {
997 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_WAIT_FOR_CANCEL])) != 0; 985 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_WAIT_FOR_CANCEL)) != 0;
998 } 986 }
999 get [_inCallback]() { 987 get [_inCallback]() {
1000 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_IN_CALLBACK])) != 0; 988 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_IN_CALLBACK)) != 0;
1001 } 989 }
1002 get [_hasPending]() { 990 get [_hasPending]() {
1003 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_HAS_PENDING])) != 0; 991 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_HAS_PENDING)) != 0;
1004 } 992 }
1005 get [_isPaused]() { 993 get [_isPaused]() {
1006 return dart.notNull(this[_state]) >= dart.notNull(_BufferingStreamSubscr iption[_STATE_PAUSE_COUNT]); 994 return dart.notNull(this[_state]) >= dart.notNull(_BufferingStreamSubscr iption._STATE_PAUSE_COUNT);
1007 } 995 }
1008 get [_canFire]() { 996 get [_canFire]() {
1009 return dart.notNull(this[_state]) < dart.notNull(_BufferingStreamSubscri ption[_STATE_IN_CALLBACK]); 997 return dart.notNull(this[_state]) < dart.notNull(_BufferingStreamSubscri ption._STATE_IN_CALLBACK);
1010 } 998 }
1011 get [_mayResumeInput]() { 999 get [_mayResumeInput]() {
1012 return !dart.notNull(this[_isPaused]) && (dart.notNull(this[_pending] == null) || dart.notNull(this[_pending].isEmpty)); 1000 return !dart.notNull(this[_isPaused]) && (dart.notNull(this[_pending] == null) || dart.notNull(this[_pending].isEmpty));
1013 } 1001 }
1014 get [_cancelOnError]() { 1002 get [_cancelOnError]() {
1015 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption[_STATE_CANCEL_ON_ERROR])) != 0; 1003 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr iption._STATE_CANCEL_ON_ERROR)) != 0;
1016 } 1004 }
1017 get isPaused() { 1005 get isPaused() {
1018 return this[_isPaused]; 1006 return this[_isPaused];
1019 } 1007 }
1020 [_cancel]() { 1008 [_cancel]() {
1021 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription[_STATE_CANCELED]); 1009 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_CANCELED);
1022 if (this[_hasPending]) { 1010 if (this[_hasPending]) {
1023 this[_pending].cancelSchedule(); 1011 this[_pending].cancelSchedule();
1024 } 1012 }
1025 if (!dart.notNull(this[_inCallback])) 1013 if (!dart.notNull(this[_inCallback]))
1026 this[_pending] = null; 1014 this[_pending] = null;
1027 this[_cancelFuture] = this[_onCancel](); 1015 this[_cancelFuture] = this[_onCancel]();
1028 } 1016 }
1029 [_incrementPauseCount]() { 1017 [_incrementPauseCount]() {
1030 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription[_STATE_PAUSE_COUNT]) | dart.notNull(_BufferingStreamSubscription[_ STATE_INPUT_PAUSED]); 1018 this[_state] = dart.notNull(this[_state]) + dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT) | dart.notNull(_BufferingStreamSubscription._S TATE_INPUT_PAUSED);
1031 } 1019 }
1032 [_decrementPauseCount]() { 1020 [_decrementPauseCount]() {
1033 dart.assert(this[_isPaused]); 1021 dart.assert(this[_isPaused]);
1034 this[_state] = dart.notNull(this[_state]) - dart.notNull(_BufferingStrea mSubscription[_STATE_PAUSE_COUNT]); 1022 this[_state] = dart.notNull(this[_state]) - dart.notNull(_BufferingStrea mSubscription._STATE_PAUSE_COUNT);
1035 } 1023 }
1036 [_add](data) { 1024 [_add](data) {
1037 dart.assert(!dart.notNull(this[_isClosed])); 1025 dart.assert(!dart.notNull(this[_isClosed]));
1038 if (this[_isCanceled]) 1026 if (this[_isCanceled])
1039 return; 1027 return;
1040 if (this[_canFire]) { 1028 if (this[_canFire]) {
1041 this[_sendData](data); 1029 this[_sendData](data);
1042 } else { 1030 } else {
1043 this[_addPending](new _DelayedData(data)); 1031 this[_addPending](new _DelayedData(data));
1044 } 1032 }
1045 } 1033 }
1046 [_addError](error, stackTrace) { 1034 [_addError](error, stackTrace) {
1047 if (this[_isCanceled]) 1035 if (this[_isCanceled])
1048 return; 1036 return;
1049 if (this[_canFire]) { 1037 if (this[_canFire]) {
1050 this[_sendError](error, stackTrace); 1038 this[_sendError](error, stackTrace);
1051 } else { 1039 } else {
1052 this[_addPending](new _DelayedError(error, stackTrace)); 1040 this[_addPending](new _DelayedError(error, stackTrace));
1053 } 1041 }
1054 } 1042 }
1055 [_close]() { 1043 [_close]() {
1056 dart.assert(!dart.notNull(this[_isClosed])); 1044 dart.assert(!dart.notNull(this[_isClosed]));
1057 if (this[_isCanceled]) 1045 if (this[_isCanceled])
1058 return; 1046 return;
1059 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription[_STATE_CLOSED]); 1047 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_CLOSED);
1060 if (this[_canFire]) { 1048 if (this[_canFire]) {
1061 this[_sendDone](); 1049 this[_sendDone]();
1062 } else { 1050 } else {
1063 this[_addPending](dart.const(new _DelayedDone())); 1051 this[_addPending](dart.const(new _DelayedDone()));
1064 } 1052 }
1065 } 1053 }
1066 [_onPause]() { 1054 [_onPause]() {
1067 dart.assert(this[_isInputPaused]); 1055 dart.assert(this[_isInputPaused]);
1068 } 1056 }
1069 [_onResume]() { 1057 [_onResume]() {
1070 dart.assert(!dart.notNull(this[_isInputPaused])); 1058 dart.assert(!dart.notNull(this[_isInputPaused]));
1071 } 1059 }
1072 [_onCancel]() { 1060 [_onCancel]() {
1073 dart.assert(this[_isCanceled]); 1061 dart.assert(this[_isCanceled]);
1074 return null; 1062 return null;
1075 } 1063 }
1076 [_addPending](event) { 1064 [_addPending](event) {
1077 let pending = dart.as(this[_pending], _StreamImplEvents); 1065 let pending = dart.as(this[_pending], _StreamImplEvents);
1078 if (this[_pending] == null) 1066 if (this[_pending] == null)
1079 pending = this[_pending] = new _StreamImplEvents(); 1067 pending = this[_pending] = new _StreamImplEvents();
1080 pending.add(event); 1068 pending.add(event);
1081 if (!dart.notNull(this[_hasPending])) { 1069 if (!dart.notNull(this[_hasPending])) {
1082 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription[_STATE_HAS_PENDING]); 1070 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_HAS_PENDING);
1083 if (!dart.notNull(this[_isPaused])) { 1071 if (!dart.notNull(this[_isPaused])) {
1084 this[_pending].schedule(this); 1072 this[_pending].schedule(this);
1085 } 1073 }
1086 } 1074 }
1087 } 1075 }
1088 [_sendData](data) { 1076 [_sendData](data) {
1089 dart.assert(!dart.notNull(this[_isCanceled])); 1077 dart.assert(!dart.notNull(this[_isCanceled]));
1090 dart.assert(!dart.notNull(this[_isPaused])); 1078 dart.assert(!dart.notNull(this[_isPaused]));
1091 dart.assert(!dart.notNull(this[_inCallback])); 1079 dart.assert(!dart.notNull(this[_inCallback]));
1092 let wasInputPaused = this[_isInputPaused]; 1080 let wasInputPaused = this[_isInputPaused];
1093 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription[_STATE_IN_CALLBACK]); 1081 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_IN_CALLBACK);
1094 this[_zone].runUnaryGuarded(this[_onData], data); 1082 this[_zone].runUnaryGuarded(this[_onData], data);
1095 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription[_STATE_IN_CALLBACK]); 1083 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription._STATE_IN_CALLBACK);
1096 this[_checkState](wasInputPaused); 1084 this[_checkState](wasInputPaused);
1097 } 1085 }
1098 [_sendError](error, stackTrace) { 1086 [_sendError](error, stackTrace) {
1099 dart.assert(!dart.notNull(this[_isCanceled])); 1087 dart.assert(!dart.notNull(this[_isCanceled]));
1100 dart.assert(!dart.notNull(this[_isPaused])); 1088 dart.assert(!dart.notNull(this[_isPaused]));
1101 dart.assert(!dart.notNull(this[_inCallback])); 1089 dart.assert(!dart.notNull(this[_inCallback]));
1102 let wasInputPaused = this[_isInputPaused]; 1090 let wasInputPaused = this[_isInputPaused];
1103 // Function sendError: () → void 1091 // Function sendError: () → void
1104 function sendError() { 1092 function sendError() {
1105 if (dart.notNull(this[_isCanceled]) && !dart.notNull(this[_waitsForCan cel])) 1093 if (dart.notNull(this[_isCanceled]) && !dart.notNull(this[_waitsForCan cel]))
1106 return; 1094 return;
1107 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription[_STATE_IN_CALLBACK]); 1095 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_IN_CALLBACK);
1108 if (dart.is(this[_onError], ZoneBinaryCallback)) { 1096 if (dart.is(this[_onError], ZoneBinaryCallback)) {
1109 this[_zone].runBinaryGuarded(dart.as(this[_onError], __CastType24), error, stackTrace); 1097 this[_zone].runBinaryGuarded(dart.as(this[_onError], __CastType24), error, stackTrace);
1110 } else { 1098 } else {
1111 this[_zone].runUnaryGuarded(dart.as(this[_onError], __CastType27), e rror); 1099 this[_zone].runUnaryGuarded(dart.as(this[_onError], __CastType27), e rror);
1112 } 1100 }
1113 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription[_STATE_IN_CALLBACK]); 1101 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription._STATE_IN_CALLBACK);
1114 } 1102 }
1115 if (this[_cancelOnError]) { 1103 if (this[_cancelOnError]) {
1116 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription[_STATE_WAIT_FOR_CANCEL]); 1104 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_WAIT_FOR_CANCEL);
1117 this[_cancel](); 1105 this[_cancel]();
1118 if (dart.is(this[_cancelFuture], Future)) { 1106 if (dart.is(this[_cancelFuture], Future)) {
1119 this[_cancelFuture].whenComplete(sendError); 1107 this[_cancelFuture].whenComplete(sendError);
1120 } else { 1108 } else {
1121 sendError(); 1109 sendError();
1122 } 1110 }
1123 } else { 1111 } else {
1124 sendError(); 1112 sendError();
1125 this[_checkState](wasInputPaused); 1113 this[_checkState](wasInputPaused);
1126 } 1114 }
1127 } 1115 }
1128 [_sendDone]() { 1116 [_sendDone]() {
1129 dart.assert(!dart.notNull(this[_isCanceled])); 1117 dart.assert(!dart.notNull(this[_isCanceled]));
1130 dart.assert(!dart.notNull(this[_isPaused])); 1118 dart.assert(!dart.notNull(this[_isPaused]));
1131 dart.assert(!dart.notNull(this[_inCallback])); 1119 dart.assert(!dart.notNull(this[_inCallback]));
1132 // Function sendDone: () → void 1120 // Function sendDone: () → void
1133 function sendDone() { 1121 function sendDone() {
1134 if (!dart.notNull(this[_waitsForCancel])) 1122 if (!dart.notNull(this[_waitsForCancel]))
1135 return; 1123 return;
1136 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription[_STATE_CANCELED]) | dart.notNull(_BufferingStreamSubscription[_S TATE_CLOSED]) | dart.notNull(_BufferingStreamSubscription[_STATE_IN_CALLBACK]); 1124 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStr eamSubscription._STATE_CANCELED) | dart.notNull(_BufferingStreamSubscription._ST ATE_CLOSED) | dart.notNull(_BufferingStreamSubscription._STATE_IN_CALLBACK);
1137 this[_zone].runGuarded(this[_onDone]); 1125 this[_zone].runGuarded(this[_onDone]);
1138 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription[_STATE_IN_CALLBACK]); 1126 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription._STATE_IN_CALLBACK);
1139 } 1127 }
1140 this[_cancel](); 1128 this[_cancel]();
1141 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription[_STATE_WAIT_FOR_CANCEL]); 1129 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_WAIT_FOR_CANCEL);
1142 if (dart.is(this[_cancelFuture], Future)) { 1130 if (dart.is(this[_cancelFuture], Future)) {
1143 this[_cancelFuture].whenComplete(sendDone); 1131 this[_cancelFuture].whenComplete(sendDone);
1144 } else { 1132 } else {
1145 sendDone(); 1133 sendDone();
1146 } 1134 }
1147 } 1135 }
1148 [_guardCallback](callback) { 1136 [_guardCallback](callback) {
1149 dart.assert(!dart.notNull(this[_inCallback])); 1137 dart.assert(!dart.notNull(this[_inCallback]));
1150 let wasInputPaused = this[_isInputPaused]; 1138 let wasInputPaused = this[_isInputPaused];
1151 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription[_STATE_IN_CALLBACK]); 1139 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BufferingStrea mSubscription._STATE_IN_CALLBACK);
1152 dart.dcall(callback); 1140 dart.dcall(callback);
1153 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription[_STATE_IN_CALLBACK]); 1141 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingStre amSubscription._STATE_IN_CALLBACK);
1154 this[_checkState](wasInputPaused); 1142 this[_checkState](wasInputPaused);
1155 } 1143 }
1156 [_checkState](wasInputPaused) { 1144 [_checkState](wasInputPaused) {
1157 dart.assert(!dart.notNull(this[_inCallback])); 1145 dart.assert(!dart.notNull(this[_inCallback]));
1158 if (dart.notNull(this[_hasPending]) && dart.notNull(this[_pending].isEmp ty)) { 1146 if (dart.notNull(this[_hasPending]) && dart.notNull(this[_pending].isEmp ty)) {
1159 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription[_STATE_HAS_PENDING]); 1147 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription._STATE_HAS_PENDING);
1160 if (dart.notNull(this[_isInputPaused]) && dart.notNull(this[_mayResume Input])) { 1148 if (dart.notNull(this[_isInputPaused]) && dart.notNull(this[_mayResume Input])) {
1161 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_Buffering StreamSubscription[_STATE_INPUT_PAUSED]); 1149 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_Buffering StreamSubscription._STATE_INPUT_PAUSED);
1162 } 1150 }
1163 } 1151 }
1164 while (true) { 1152 while (true) {
1165 if (this[_isCanceled]) { 1153 if (this[_isCanceled]) {
1166 this[_pending] = null; 1154 this[_pending] = null;
1167 return; 1155 return;
1168 } 1156 }
1169 let isInputPaused = this[_isInputPaused]; 1157 let isInputPaused = this[_isInputPaused];
1170 if (wasInputPaused == isInputPaused) 1158 if (wasInputPaused == isInputPaused)
1171 break; 1159 break;
1172 this[_state] = dart.notNull(this[_state]) ^ dart.notNull(_BufferingStr eamSubscription[_STATE_IN_CALLBACK]); 1160 this[_state] = dart.notNull(this[_state]) ^ dart.notNull(_BufferingStr eamSubscription._STATE_IN_CALLBACK);
1173 if (isInputPaused) { 1161 if (isInputPaused) {
1174 this[_onPause](); 1162 this[_onPause]();
1175 } else { 1163 } else {
1176 this[_onResume](); 1164 this[_onResume]();
1177 } 1165 }
1178 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription[_STATE_IN_CALLBACK]); 1166 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BufferingSt reamSubscription._STATE_IN_CALLBACK);
1179 wasInputPaused = isInputPaused; 1167 wasInputPaused = isInputPaused;
1180 } 1168 }
1181 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_isPaused])) { 1169 if (dart.notNull(this[_hasPending]) && !dart.notNull(this[_isPaused])) {
1182 this[_pending].schedule(this); 1170 this[_pending].schedule(this);
1183 } 1171 }
1184 } 1172 }
1185 } 1173 }
1186 _BufferingStreamSubscription[dart.implements] = () => [StreamSubscription$(T ), _EventSink$(T), _EventDispatch$(T)]; 1174 _BufferingStreamSubscription[dart.implements] = () => [StreamSubscription$(T ), _EventSink$(T), _EventDispatch$(T)];
1187 _BufferingStreamSubscription._STATE_CANCEL_ON_ERROR = 1; 1175 _BufferingStreamSubscription._STATE_CANCEL_ON_ERROR = 1;
1188 _BufferingStreamSubscription._STATE_CLOSED = 2; 1176 _BufferingStreamSubscription._STATE_CLOSED = 2;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1221 this[_eventState] = null; 1209 this[_eventState] = null;
1222 this[_next] = null; 1210 this[_next] = null;
1223 this[_previous] = null; 1211 this[_previous] = null;
1224 super._ControllerSubscription(dart.as(controller, _StreamControllerLifec ycle$(T)), onData, onError, onDone, cancelOnError); 1212 super._ControllerSubscription(dart.as(controller, _StreamControllerLifec ycle$(T)), onData, onError, onDone, cancelOnError);
1225 this[_next] = this[_previous] = this; 1213 this[_next] = this[_previous] = this;
1226 } 1214 }
1227 get [_controller]() { 1215 get [_controller]() {
1228 return dart.as(super[_controller], _BroadcastStreamController); 1216 return dart.as(super[_controller], _BroadcastStreamController);
1229 } 1217 }
1230 [_expectsEvent](eventId) { 1218 [_expectsEvent](eventId) {
1231 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption[_STATE_EVENT_ID])) == eventId; 1219 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption._STATE_EVENT_ID)) == eventId;
1232 } 1220 }
1233 [_toggleEventId]() { 1221 [_toggleEventId]() {
1234 this[_eventState] = dart.notNull(this[_eventState]) ^ dart.notNull(_Broa dcastSubscription[_STATE_EVENT_ID]); 1222 this[_eventState] = dart.notNull(this[_eventState]) ^ dart.notNull(_Broa dcastSubscription._STATE_EVENT_ID);
1235 } 1223 }
1236 get [_isFiring]() { 1224 get [_isFiring]() {
1237 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption[_STATE_FIRING])) != 0; 1225 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption._STATE_FIRING)) != 0;
1238 } 1226 }
1239 [_setRemoveAfterFiring]() { 1227 [_setRemoveAfterFiring]() {
1240 dart.assert(this[_isFiring]); 1228 dart.assert(this[_isFiring]);
1241 this[_eventState] = dart.notNull(this[_eventState]) | dart.notNull(_Broa dcastSubscription[_STATE_REMOVE_AFTER_FIRING]); 1229 this[_eventState] = dart.notNull(this[_eventState]) | dart.notNull(_Broa dcastSubscription._STATE_REMOVE_AFTER_FIRING);
1242 } 1230 }
1243 get [_removeAfterFiring]() { 1231 get [_removeAfterFiring]() {
1244 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption[_STATE_REMOVE_AFTER_FIRING])) != 0; 1232 return (dart.notNull(this[_eventState]) & dart.notNull(_BroadcastSubscri ption._STATE_REMOVE_AFTER_FIRING)) != 0;
1245 } 1233 }
1246 [_onPause]() {} 1234 [_onPause]() {}
1247 [_onResume]() {} 1235 [_onResume]() {}
1248 } 1236 }
1249 _BroadcastSubscription[dart.implements] = () => [_BroadcastSubscriptionLink] ; 1237 _BroadcastSubscription[dart.implements] = () => [_BroadcastSubscriptionLink] ;
1250 _BroadcastSubscription._STATE_EVENT_ID = 1; 1238 _BroadcastSubscription._STATE_EVENT_ID = 1;
1251 _BroadcastSubscription._STATE_FIRING = 2; 1239 _BroadcastSubscription._STATE_FIRING = 2;
1252 _BroadcastSubscription._STATE_REMOVE_AFTER_FIRING = 4; 1240 _BroadcastSubscription._STATE_REMOVE_AFTER_FIRING = 4;
1253 return _BroadcastSubscription; 1241 return _BroadcastSubscription;
1254 }); 1242 });
1255 let _BroadcastSubscription = _BroadcastSubscription$(); 1243 let _BroadcastSubscription = _BroadcastSubscription$();
1256 let _STATE_INITIAL = Symbol('_STATE_INITIAL');
1257 let _addStreamState = Symbol('_addStreamState'); 1244 let _addStreamState = Symbol('_addStreamState');
1258 let _doneFuture = Symbol('_doneFuture'); 1245 let _doneFuture = Symbol('_doneFuture');
1259 let _isEmpty = Symbol('_isEmpty'); 1246 let _isEmpty = Symbol('_isEmpty');
1260 let _hasOneListener = Symbol('_hasOneListener'); 1247 let _hasOneListener = Symbol('_hasOneListener');
1261 let _isAddingStream = Symbol('_isAddingStream'); 1248 let _isAddingStream = Symbol('_isAddingStream');
1262 let _STATE_ADDSTREAM = Symbol('_STATE_ADDSTREAM');
1263 let _mayAddEvent = Symbol('_mayAddEvent'); 1249 let _mayAddEvent = Symbol('_mayAddEvent');
1264 let _ensureDoneFuture = Symbol('_ensureDoneFuture'); 1250 let _ensureDoneFuture = Symbol('_ensureDoneFuture');
1265 let _addListener = Symbol('_addListener'); 1251 let _addListener = Symbol('_addListener');
1266 let _removeListener = Symbol('_removeListener'); 1252 let _removeListener = Symbol('_removeListener');
1267 let _callOnCancel = Symbol('_callOnCancel'); 1253 let _callOnCancel = Symbol('_callOnCancel');
1268 let _addEventError = Symbol('_addEventError'); 1254 let _addEventError = Symbol('_addEventError');
1269 let _forEachListener = Symbol('_forEachListener'); 1255 let _forEachListener = Symbol('_forEachListener');
1270 let _mayComplete = Symbol('_mayComplete'); 1256 let _mayComplete = Symbol('_mayComplete');
1271 let _asyncComplete = Symbol('_asyncComplete'); 1257 let _asyncComplete = Symbol('_asyncComplete');
1272 let _BroadcastStreamController$ = dart.generic(function(T) { 1258 let _BroadcastStreamController$ = dart.generic(function(T) {
1273 class _BroadcastStreamController extends core.Object { 1259 class _BroadcastStreamController extends core.Object {
1274 _BroadcastStreamController(onListen, onCancel) { 1260 _BroadcastStreamController(onListen, onCancel) {
1275 this[_onListen] = onListen; 1261 this[_onListen] = onListen;
1276 this[_onCancel] = onCancel; 1262 this[_onCancel] = onCancel;
1277 this[_state] = _BroadcastStreamController[_STATE_INITIAL]; 1263 this[_state] = _BroadcastStreamController._STATE_INITIAL;
1278 this[_next] = null; 1264 this[_next] = null;
1279 this[_previous] = null; 1265 this[_previous] = null;
1280 this[_addStreamState] = null; 1266 this[_addStreamState] = null;
1281 this[_doneFuture] = null; 1267 this[_doneFuture] = null;
1282 this[_next] = this[_previous] = this; 1268 this[_next] = this[_previous] = this;
1283 } 1269 }
1284 get stream() { 1270 get stream() {
1285 return new (_BroadcastStream$(T))(this); 1271 return new (_BroadcastStream$(T))(this);
1286 } 1272 }
1287 get sink() { 1273 get sink() {
1288 return new (_StreamSinkWrapper$(T))(this); 1274 return new (_StreamSinkWrapper$(T))(this);
1289 } 1275 }
1290 get isClosed() { 1276 get isClosed() {
1291 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller[_STATE_CLOSED])) != 0; 1277 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller._STATE_CLOSED)) != 0;
1292 } 1278 }
1293 get isPaused() { 1279 get isPaused() {
1294 return false; 1280 return false;
1295 } 1281 }
1296 get hasListener() { 1282 get hasListener() {
1297 return !dart.notNull(this[_isEmpty]); 1283 return !dart.notNull(this[_isEmpty]);
1298 } 1284 }
1299 get [_hasOneListener]() { 1285 get [_hasOneListener]() {
1300 dart.assert(!dart.notNull(this[_isEmpty])); 1286 dart.assert(!dart.notNull(this[_isEmpty]));
1301 return core.identical(this[_next][_next], this); 1287 return core.identical(this[_next][_next], this);
1302 } 1288 }
1303 get [_isFiring]() { 1289 get [_isFiring]() {
1304 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller[_STATE_FIRING])) != 0; 1290 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller._STATE_FIRING)) != 0;
1305 } 1291 }
1306 get [_isAddingStream]() { 1292 get [_isAddingStream]() {
1307 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller[_STATE_ADDSTREAM])) != 0; 1293 return (dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContro ller._STATE_ADDSTREAM)) != 0;
1308 } 1294 }
1309 get [_mayAddEvent]() { 1295 get [_mayAddEvent]() {
1310 return dart.notNull(this[_state]) < dart.notNull(_BroadcastStreamControl ler[_STATE_CLOSED]); 1296 return dart.notNull(this[_state]) < dart.notNull(_BroadcastStreamControl ler._STATE_CLOSED);
1311 } 1297 }
1312 [_ensureDoneFuture]() { 1298 [_ensureDoneFuture]() {
1313 if (this[_doneFuture] != null) 1299 if (this[_doneFuture] != null)
1314 return this[_doneFuture]; 1300 return this[_doneFuture];
1315 return this[_doneFuture] = new _Future(); 1301 return this[_doneFuture] = new _Future();
1316 } 1302 }
1317 get [_isEmpty]() { 1303 get [_isEmpty]() {
1318 return core.identical(this[_next], this); 1304 return core.identical(this[_next], this);
1319 } 1305 }
1320 [_addListener](subscription) { 1306 [_addListener](subscription) {
1321 dart.assert(core.identical(subscription[_next], subscription)); 1307 dart.assert(core.identical(subscription[_next], subscription));
1322 subscription[_previous] = this[_previous]; 1308 subscription[_previous] = this[_previous];
1323 subscription[_next] = this; 1309 subscription[_next] = this;
1324 this[_previous][_next] = subscription; 1310 this[_previous][_next] = subscription;
1325 this[_previous] = subscription; 1311 this[_previous] = subscription;
1326 subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_B roadcastStreamController[_STATE_EVENT_ID]); 1312 subscription[_eventState] = dart.notNull(this[_state]) & dart.notNull(_B roadcastStreamController._STATE_EVENT_ID);
1327 } 1313 }
1328 [_removeListener](subscription) { 1314 [_removeListener](subscription) {
1329 dart.assert(core.identical(subscription[_controller], this)); 1315 dart.assert(core.identical(subscription[_controller], this));
1330 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on))); 1316 dart.assert(!dart.notNull(core.identical(subscription[_next], subscripti on)));
1331 let previous = subscription[_previous]; 1317 let previous = subscription[_previous];
1332 let next = subscription[_next]; 1318 let next = subscription[_next];
1333 previous[_next] = next; 1319 previous[_next] = next;
1334 next[_previous] = previous; 1320 next[_previous] = previous;
1335 subscription[_next] = subscription[_previous] = subscription; 1321 subscription[_next] = subscription[_previous] = subscription;
1336 } 1322 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1389 } 1375 }
1390 this[_sendError](error, stackTrace); 1376 this[_sendError](error, stackTrace);
1391 } 1377 }
1392 close() { 1378 close() {
1393 if (this.isClosed) { 1379 if (this.isClosed) {
1394 dart.assert(this[_doneFuture] != null); 1380 dart.assert(this[_doneFuture] != null);
1395 return this[_doneFuture]; 1381 return this[_doneFuture];
1396 } 1382 }
1397 if (!dart.notNull(this[_mayAddEvent])) 1383 if (!dart.notNull(this[_mayAddEvent]))
1398 throw this[_addEventError](); 1384 throw this[_addEventError]();
1399 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController[_STATE_CLOSED]); 1385 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController._STATE_CLOSED);
1400 let doneFuture = this[_ensureDoneFuture](); 1386 let doneFuture = this[_ensureDoneFuture]();
1401 this[_sendDone](); 1387 this[_sendDone]();
1402 return doneFuture; 1388 return doneFuture;
1403 } 1389 }
1404 get done() { 1390 get done() {
1405 return this[_ensureDoneFuture](); 1391 return this[_ensureDoneFuture]();
1406 } 1392 }
1407 addStream(stream, opts) { 1393 addStream(stream, opts) {
1408 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 1394 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
1409 if (!dart.notNull(this[_mayAddEvent])) 1395 if (!dart.notNull(this[_mayAddEvent]))
1410 throw this[_addEventError](); 1396 throw this[_addEventError]();
1411 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController[_STATE_ADDSTREAM]); 1397 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStrea mController._STATE_ADDSTREAM);
1412 this[_addStreamState] = new (_AddStreamState$(T))(this, stream, cancelOn Error); 1398 this[_addStreamState] = new (_AddStreamState$(T))(this, stream, cancelOn Error);
1413 return this[_addStreamState].addStreamFuture; 1399 return this[_addStreamState].addStreamFuture;
1414 } 1400 }
1415 [_add](data) { 1401 [_add](data) {
1416 this[_sendData](data); 1402 this[_sendData](data);
1417 } 1403 }
1418 [_addError](error, stackTrace) { 1404 [_addError](error, stackTrace) {
1419 this[_sendError](error, stackTrace); 1405 this[_sendError](error, stackTrace);
1420 } 1406 }
1421 [_close]() { 1407 [_close]() {
1422 dart.assert(this[_isAddingStream]); 1408 dart.assert(this[_isAddingStream]);
1423 let addState = this[_addStreamState]; 1409 let addState = this[_addStreamState];
1424 this[_addStreamState] = null; 1410 this[_addStreamState] = null;
1425 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastStre amController[_STATE_ADDSTREAM]); 1411 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastStre amController._STATE_ADDSTREAM);
1426 addState.complete(); 1412 addState.complete();
1427 } 1413 }
1428 [_forEachListener](action) { 1414 [_forEachListener](action) {
1429 if (this[_isFiring]) { 1415 if (this[_isFiring]) {
1430 throw new core.StateError("Cannot fire new event. Controller is alread y firing an event"); 1416 throw new core.StateError("Cannot fire new event. Controller is alread y firing an event");
1431 } 1417 }
1432 if (this[_isEmpty]) 1418 if (this[_isEmpty])
1433 return; 1419 return;
1434 let id = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContr oller[_STATE_EVENT_ID]); 1420 let id = dart.notNull(this[_state]) & dart.notNull(_BroadcastStreamContr oller._STATE_EVENT_ID);
1435 this[_state] = dart.notNull(this[_state]) ^ (dart.notNull(_BroadcastStre amController[_STATE_EVENT_ID]) | dart.notNull(_BroadcastStreamController[_STATE_ FIRING])); 1421 this[_state] = dart.notNull(this[_state]) ^ (dart.notNull(_BroadcastStre amController._STATE_EVENT_ID) | dart.notNull(_BroadcastStreamController._STATE_F IRING));
1436 let link = this[_next]; 1422 let link = this[_next];
1437 while (!dart.notNull(core.identical(link, this))) { 1423 while (!dart.notNull(core.identical(link, this))) {
1438 let subscription = dart.as(link, _BroadcastSubscription$(T)); 1424 let subscription = dart.as(link, _BroadcastSubscription$(T));
1439 if (subscription[_expectsEvent](id)) { 1425 if (subscription[_expectsEvent](id)) {
1440 subscription[_eventState] = dart.notNull(subscription[_eventState]) | dart.notNull(_BroadcastSubscription[_STATE_FIRING]); 1426 subscription[_eventState] = dart.notNull(subscription[_eventState]) | dart.notNull(_BroadcastSubscription._STATE_FIRING);
1441 action(subscription); 1427 action(subscription);
1442 subscription[_toggleEventId](); 1428 subscription[_toggleEventId]();
1443 link = subscription[_next]; 1429 link = subscription[_next];
1444 if (subscription[_removeAfterFiring]) { 1430 if (subscription[_removeAfterFiring]) {
1445 this[_removeListener](subscription); 1431 this[_removeListener](subscription);
1446 } 1432 }
1447 subscription[_eventState] = dart.notNull(subscription[_eventState]) & ~dart.notNull(_BroadcastSubscription[_STATE_FIRING]); 1433 subscription[_eventState] = dart.notNull(subscription[_eventState]) & ~dart.notNull(_BroadcastSubscription._STATE_FIRING);
1448 } else { 1434 } else {
1449 link = subscription[_next]; 1435 link = subscription[_next];
1450 } 1436 }
1451 } 1437 }
1452 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastStre amController[_STATE_FIRING]); 1438 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastStre amController._STATE_FIRING);
1453 if (this[_isEmpty]) { 1439 if (this[_isEmpty]) {
1454 this[_callOnCancel](); 1440 this[_callOnCancel]();
1455 } 1441 }
1456 } 1442 }
1457 [_callOnCancel]() { 1443 [_callOnCancel]() {
1458 dart.assert(this[_isEmpty]); 1444 dart.assert(this[_isEmpty]);
1459 if (dart.notNull(this.isClosed) && dart.notNull(this[_doneFuture][_mayCo mplete])) { 1445 if (dart.notNull(this.isClosed) && dart.notNull(this[_doneFuture][_mayCo mplete])) {
1460 this[_doneFuture][_asyncComplete](null); 1446 this[_doneFuture][_asyncComplete](null);
1461 } 1447 }
1462 _runGuarded(this[_onCancel]); 1448 _runGuarded(this[_onCancel]);
(...skipping 10 matching lines...) Expand all
1473 let _BroadcastStreamController = _BroadcastStreamController$(); 1459 let _BroadcastStreamController = _BroadcastStreamController$();
1474 let _SyncBroadcastStreamController$ = dart.generic(function(T) { 1460 let _SyncBroadcastStreamController$ = dart.generic(function(T) {
1475 class _SyncBroadcastStreamController extends _BroadcastStreamController$(T) { 1461 class _SyncBroadcastStreamController extends _BroadcastStreamController$(T) {
1476 _SyncBroadcastStreamController(onListen, onCancel) { 1462 _SyncBroadcastStreamController(onListen, onCancel) {
1477 super._BroadcastStreamController(onListen, onCancel); 1463 super._BroadcastStreamController(onListen, onCancel);
1478 } 1464 }
1479 [_sendData](data) { 1465 [_sendData](data) {
1480 if (this[_isEmpty]) 1466 if (this[_isEmpty])
1481 return; 1467 return;
1482 if (this[_hasOneListener]) { 1468 if (this[_hasOneListener]) {
1483 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStr eamController[_STATE_FIRING]); 1469 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStr eamController._STATE_FIRING);
1484 let subscription = dart.as(this[_next], _BroadcastSubscription); 1470 let subscription = dart.as(this[_next], _BroadcastSubscription);
1485 subscription[_add](data); 1471 subscription[_add](data);
1486 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastSt reamController[_STATE_FIRING]); 1472 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_BroadcastSt reamController._STATE_FIRING);
1487 if (this[_isEmpty]) { 1473 if (this[_isEmpty]) {
1488 this[_callOnCancel](); 1474 this[_callOnCancel]();
1489 } 1475 }
1490 return; 1476 return;
1491 } 1477 }
1492 this[_forEachListener](subscription => { 1478 this[_forEachListener](subscription => {
1493 subscription[_add](data); 1479 subscription[_add](data);
1494 }); 1480 });
1495 } 1481 }
1496 [_sendError](error, stackTrace) { 1482 [_sendError](error, stackTrace) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
1584 if (!dart.notNull(this[_mayAddEvent])) 1570 if (!dart.notNull(this[_mayAddEvent]))
1585 throw this[_addEventError](); 1571 throw this[_addEventError]();
1586 this[_sendError](error, stackTrace); 1572 this[_sendError](error, stackTrace);
1587 while (this[_hasPending]) { 1573 while (this[_hasPending]) {
1588 this[_pending].handleNext(this); 1574 this[_pending].handleNext(this);
1589 } 1575 }
1590 } 1576 }
1591 close() { 1577 close() {
1592 if (!dart.notNull(this.isClosed) && dart.notNull(this[_isFiring])) { 1578 if (!dart.notNull(this.isClosed) && dart.notNull(this[_isFiring])) {
1593 this[_addPendingEvent](dart.const(new _DelayedDone())); 1579 this[_addPendingEvent](dart.const(new _DelayedDone()));
1594 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStr eamController[_STATE_CLOSED]); 1580 this[_state] = dart.notNull(this[_state]) | dart.notNull(_BroadcastStr eamController._STATE_CLOSED);
1595 return super.done; 1581 return super.done;
1596 } 1582 }
1597 let result = super.close(); 1583 let result = super.close();
1598 dart.assert(!dart.notNull(this[_hasPending])); 1584 dart.assert(!dart.notNull(this[_hasPending]));
1599 return result; 1585 return result;
1600 } 1586 }
1601 [_callOnCancel]() { 1587 [_callOnCancel]() {
1602 if (this[_hasPending]) { 1588 if (this[_hasPending]) {
1603 this[_pending].clear(); 1589 this[_pending].clear();
1604 this[_pending] = null; 1590 this[_pending] = null;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1670 class DeferredLoadException extends core.Object { 1656 class DeferredLoadException extends core.Object {
1671 DeferredLoadException(s) { 1657 DeferredLoadException(s) {
1672 this[_s] = s; 1658 this[_s] = s;
1673 } 1659 }
1674 toString() { 1660 toString() {
1675 return `DeferredLoadException: '${this[_s]}'`; 1661 return `DeferredLoadException: '${this[_s]}'`;
1676 } 1662 }
1677 } 1663 }
1678 DeferredLoadException[dart.implements] = () => [core.Exception]; 1664 DeferredLoadException[dart.implements] = () => [core.Exception];
1679 let _completeWithValue = Symbol('_completeWithValue'); 1665 let _completeWithValue = Symbol('_completeWithValue');
1680 let _nullFuture = Symbol('_nullFuture');
1681 let Future$ = dart.generic(function(T) { 1666 let Future$ = dart.generic(function(T) {
1682 class Future extends core.Object { 1667 class Future extends core.Object {
1683 Future(computation) { 1668 Future(computation) {
1684 let result = new (_Future$(T))(); 1669 let result = new (_Future$(T))();
1685 Timer.run(() => { 1670 Timer.run(() => {
1686 try { 1671 try {
1687 result[_complete](computation()); 1672 result[_complete](computation());
1688 } catch (e) { 1673 } catch (e) {
1689 let s = dart.stackTrace(e); 1674 let s = dart.stackTrace(e);
1690 _completeWithErrorCallback(result, e, s); 1675 _completeWithErrorCallback(result, e, s);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1830 dart.dcall(nextIteration, true); 1815 dart.dcall(nextIteration, true);
1831 return doneSignal; 1816 return doneSignal;
1832 } 1817 }
1833 } 1818 }
1834 dart.defineNamedConstructor(Future, 'microtask'); 1819 dart.defineNamedConstructor(Future, 'microtask');
1835 dart.defineNamedConstructor(Future, 'sync'); 1820 dart.defineNamedConstructor(Future, 'sync');
1836 dart.defineNamedConstructor(Future, 'value'); 1821 dart.defineNamedConstructor(Future, 'value');
1837 dart.defineNamedConstructor(Future, 'error'); 1822 dart.defineNamedConstructor(Future, 'error');
1838 dart.defineNamedConstructor(Future, 'delayed'); 1823 dart.defineNamedConstructor(Future, 'delayed');
1839 dart.defineLazyProperties(Future, { 1824 dart.defineLazyProperties(Future, {
1840 get [_nullFuture]() { 1825 get _nullFuture() {
1841 return new Future.value(null); 1826 return new Future.value(null);
1842 } 1827 }
1843 }); 1828 });
1844 return Future; 1829 return Future;
1845 }); 1830 });
1846 let Future = Future$(); 1831 let Future = Future$();
1847 class TimeoutException extends core.Object { 1832 class TimeoutException extends core.Object {
1848 TimeoutException(message, duration) { 1833 TimeoutException(message, duration) {
1849 if (duration === void 0) 1834 if (duration === void 0)
1850 duration = null; 1835 duration = null;
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
2025 _FutureListener.MASK_VALUE = 1; 2010 _FutureListener.MASK_VALUE = 1;
2026 _FutureListener.MASK_ERROR = 2; 2011 _FutureListener.MASK_ERROR = 2;
2027 _FutureListener.MASK_TEST_ERROR = 4; 2012 _FutureListener.MASK_TEST_ERROR = 4;
2028 _FutureListener.MASK_WHENCOMPLETE = 8; 2013 _FutureListener.MASK_WHENCOMPLETE = 8;
2029 _FutureListener.STATE_CHAIN = 0; 2014 _FutureListener.STATE_CHAIN = 0;
2030 _FutureListener.STATE_THEN = _FutureListener.MASK_VALUE; 2015 _FutureListener.STATE_THEN = _FutureListener.MASK_VALUE;
2031 _FutureListener.STATE_THEN_ONERROR = dart.notNull(_FutureListener.MASK_VALUE) | dart.notNull(_FutureListener.MASK_ERROR); 2016 _FutureListener.STATE_THEN_ONERROR = dart.notNull(_FutureListener.MASK_VALUE) | dart.notNull(_FutureListener.MASK_ERROR);
2032 _FutureListener.STATE_CATCHERROR = _FutureListener.MASK_ERROR; 2017 _FutureListener.STATE_CATCHERROR = _FutureListener.MASK_ERROR;
2033 _FutureListener.STATE_CATCHERROR_TEST = dart.notNull(_FutureListener.MASK_ERRO R) | dart.notNull(_FutureListener.MASK_TEST_ERROR); 2018 _FutureListener.STATE_CATCHERROR_TEST = dart.notNull(_FutureListener.MASK_ERRO R) | dart.notNull(_FutureListener.MASK_TEST_ERROR);
2034 _FutureListener.STATE_WHENCOMPLETE = _FutureListener.MASK_WHENCOMPLETE; 2019 _FutureListener.STATE_WHENCOMPLETE = _FutureListener.MASK_WHENCOMPLETE;
2035 let _INCOMPLETE = Symbol('_INCOMPLETE');
2036 let _resultOrListeners = Symbol('_resultOrListeners'); 2020 let _resultOrListeners = Symbol('_resultOrListeners');
2037 let _isChained = Symbol('_isChained'); 2021 let _isChained = Symbol('_isChained');
2038 let _CHAINED = Symbol('_CHAINED');
2039 let _isComplete = Symbol('_isComplete'); 2022 let _isComplete = Symbol('_isComplete');
2040 let _VALUE = Symbol('_VALUE');
2041 let _hasValue = Symbol('_hasValue'); 2023 let _hasValue = Symbol('_hasValue');
2042 let _hasError = Symbol('_hasError'); 2024 let _hasError = Symbol('_hasError');
2043 let _ERROR = Symbol('_ERROR');
2044 let _markPendingCompletion = Symbol('_markPendingCompletion'); 2025 let _markPendingCompletion = Symbol('_markPendingCompletion');
2045 let _PENDING_COMPLETE = Symbol('_PENDING_COMPLETE');
2046 let _value = Symbol('_value'); 2026 let _value = Symbol('_value');
2047 let _error = Symbol('_error'); 2027 let _error = Symbol('_error');
2048 let _setValue = Symbol('_setValue'); 2028 let _setValue = Symbol('_setValue');
2049 let _setErrorObject = Symbol('_setErrorObject'); 2029 let _setErrorObject = Symbol('_setErrorObject');
2050 let _setError = Symbol('_setError'); 2030 let _setError = Symbol('_setError');
2051 let _propagateToListeners = Symbol('_propagateToListeners');
2052 let _removeListeners = Symbol('_removeListeners'); 2031 let _removeListeners = Symbol('_removeListeners');
2053 let _chainForeignFuture = Symbol('_chainForeignFuture');
2054 let _chainCoreFuture = Symbol('_chainCoreFuture');
2055 let _enter = Symbol('_enter');
2056 let _leave = Symbol('_leave');
2057 let _Future$ = dart.generic(function(T) { 2032 let _Future$ = dart.generic(function(T) {
2058 class _Future extends core.Object { 2033 class _Future extends core.Object {
2059 _Future() { 2034 _Future() {
2060 this[_zone] = Zone.current; 2035 this[_zone] = Zone.current;
2061 this[_state] = _Future[_INCOMPLETE]; 2036 this[_state] = _Future._INCOMPLETE;
2062 this[_resultOrListeners] = null; 2037 this[_resultOrListeners] = null;
2063 } 2038 }
2064 immediate(value) { 2039 immediate(value) {
2065 this[_zone] = Zone.current; 2040 this[_zone] = Zone.current;
2066 this[_state] = _Future[_INCOMPLETE]; 2041 this[_state] = _Future._INCOMPLETE;
2067 this[_resultOrListeners] = null; 2042 this[_resultOrListeners] = null;
2068 this[_asyncComplete](value); 2043 this[_asyncComplete](value);
2069 } 2044 }
2070 immediateError(error, stackTrace) { 2045 immediateError(error, stackTrace) {
2071 if (stackTrace === void 0) 2046 if (stackTrace === void 0)
2072 stackTrace = null; 2047 stackTrace = null;
2073 this[_zone] = Zone.current; 2048 this[_zone] = Zone.current;
2074 this[_state] = _Future[_INCOMPLETE]; 2049 this[_state] = _Future._INCOMPLETE;
2075 this[_resultOrListeners] = null; 2050 this[_resultOrListeners] = null;
2076 this[_asyncCompleteError](error, stackTrace); 2051 this[_asyncCompleteError](error, stackTrace);
2077 } 2052 }
2078 get [_mayComplete]() { 2053 get [_mayComplete]() {
2079 return this[_state] == _Future[_INCOMPLETE]; 2054 return this[_state] == _Future._INCOMPLETE;
2080 } 2055 }
2081 get [_isChained]() { 2056 get [_isChained]() {
2082 return this[_state] == _Future[_CHAINED]; 2057 return this[_state] == _Future._CHAINED;
2083 } 2058 }
2084 get [_isComplete]() { 2059 get [_isComplete]() {
2085 return dart.notNull(this[_state]) >= dart.notNull(_Future[_VALUE]); 2060 return dart.notNull(this[_state]) >= dart.notNull(_Future._VALUE);
2086 } 2061 }
2087 get [_hasValue]() { 2062 get [_hasValue]() {
2088 return this[_state] == _Future[_VALUE]; 2063 return this[_state] == _Future._VALUE;
2089 } 2064 }
2090 get [_hasError]() { 2065 get [_hasError]() {
2091 return this[_state] == _Future[_ERROR]; 2066 return this[_state] == _Future._ERROR;
2092 } 2067 }
2093 set [_isChained](value) { 2068 set [_isChained](value) {
2094 if (value) { 2069 if (value) {
2095 dart.assert(!dart.notNull(this[_isComplete])); 2070 dart.assert(!dart.notNull(this[_isComplete]));
2096 this[_state] = _Future[_CHAINED]; 2071 this[_state] = _Future._CHAINED;
2097 } else { 2072 } else {
2098 dart.assert(this[_isChained]); 2073 dart.assert(this[_isChained]);
2099 this[_state] = _Future[_INCOMPLETE]; 2074 this[_state] = _Future._INCOMPLETE;
2100 } 2075 }
2101 } 2076 }
2102 then(f, opts) { 2077 then(f, opts) {
2103 let onError = opts && 'onError' in opts ? opts.onError : null; 2078 let onError = opts && 'onError' in opts ? opts.onError : null;
2104 let result = new _Future(); 2079 let result = new _Future();
2105 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) { 2080 if (!dart.notNull(core.identical(result[_zone], _ROOT_ZONE))) {
2106 f = dart.as(result[_zone].registerUnaryCallback(f), __CastType6); 2081 f = dart.as(result[_zone].registerUnaryCallback(f), __CastType6);
2107 if (onError != null) { 2082 if (onError != null) {
2108 onError = _registerErrorHandler(onError, result[_zone]); 2083 onError = _registerErrorHandler(onError, result[_zone]);
2109 } 2084 }
(...skipping 19 matching lines...) Expand all
2129 } 2104 }
2130 this[_addListener](new _FutureListener.whenComplete(result, action)); 2105 this[_addListener](new _FutureListener.whenComplete(result, action));
2131 return dart.as(result, Future$(T)); 2106 return dart.as(result, Future$(T));
2132 } 2107 }
2133 asStream() { 2108 asStream() {
2134 return new Stream$(T).fromFuture(this); 2109 return new Stream$(T).fromFuture(this);
2135 } 2110 }
2136 [_markPendingCompletion]() { 2111 [_markPendingCompletion]() {
2137 if (!dart.notNull(this[_mayComplete])) 2112 if (!dart.notNull(this[_mayComplete]))
2138 throw new core.StateError("Future already completed"); 2113 throw new core.StateError("Future already completed");
2139 this[_state] = _Future[_PENDING_COMPLETE]; 2114 this[_state] = _Future._PENDING_COMPLETE;
2140 } 2115 }
2141 get [_value]() { 2116 get [_value]() {
2142 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasVal ue])); 2117 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasVal ue]));
2143 return dart.as(this[_resultOrListeners], T); 2118 return dart.as(this[_resultOrListeners], T);
2144 } 2119 }
2145 get [_error]() { 2120 get [_error]() {
2146 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasErr or])); 2121 dart.assert(dart.notNull(this[_isComplete]) && dart.notNull(this[_hasErr or]));
2147 return dart.as(this[_resultOrListeners], AsyncError); 2122 return dart.as(this[_resultOrListeners], AsyncError);
2148 } 2123 }
2149 [_setValue](value) { 2124 [_setValue](value) {
2150 dart.assert(!dart.notNull(this[_isComplete])); 2125 dart.assert(!dart.notNull(this[_isComplete]));
2151 this[_state] = _Future[_VALUE]; 2126 this[_state] = _Future._VALUE;
2152 this[_resultOrListeners] = value; 2127 this[_resultOrListeners] = value;
2153 } 2128 }
2154 [_setErrorObject](error) { 2129 [_setErrorObject](error) {
2155 dart.assert(!dart.notNull(this[_isComplete])); 2130 dart.assert(!dart.notNull(this[_isComplete]));
2156 this[_state] = _Future[_ERROR]; 2131 this[_state] = _Future._ERROR;
2157 this[_resultOrListeners] = error; 2132 this[_resultOrListeners] = error;
2158 } 2133 }
2159 [_setError](error, stackTrace) { 2134 [_setError](error, stackTrace) {
2160 this[_setErrorObject](new AsyncError(error, stackTrace)); 2135 this[_setErrorObject](new AsyncError(error, stackTrace));
2161 } 2136 }
2162 [_addListener](listener) { 2137 [_addListener](listener) {
2163 dart.assert(listener[_nextListener] == null); 2138 dart.assert(listener[_nextListener] == null);
2164 if (this[_isComplete]) { 2139 if (this[_isComplete]) {
2165 this[_zone].scheduleMicrotask((() => { 2140 this[_zone].scheduleMicrotask((() => {
2166 _Future[_propagateToListeners](this, listener); 2141 _Future._propagateToListeners(this, listener);
2167 }).bind(this)); 2142 }).bind(this));
2168 } else { 2143 } else {
2169 listener[_nextListener] = dart.as(this[_resultOrListeners], _FutureLis tener); 2144 listener[_nextListener] = dart.as(this[_resultOrListeners], _FutureLis tener);
2170 this[_resultOrListeners] = listener; 2145 this[_resultOrListeners] = listener;
2171 } 2146 }
2172 } 2147 }
2173 [_removeListeners]() { 2148 [_removeListeners]() {
2174 dart.assert(!dart.notNull(this[_isComplete])); 2149 dart.assert(!dart.notNull(this[_isComplete]));
2175 let current = dart.as(this[_resultOrListeners], _FutureListener); 2150 let current = dart.as(this[_resultOrListeners], _FutureListener);
2176 this[_resultOrListeners] = null; 2151 this[_resultOrListeners] = null;
2177 let prev = null; 2152 let prev = null;
2178 while (current != null) { 2153 while (current != null) {
2179 let next = current[_nextListener]; 2154 let next = current[_nextListener];
2180 current[_nextListener] = prev; 2155 current[_nextListener] = prev;
2181 prev = current; 2156 prev = current;
2182 current = next; 2157 current = next;
2183 } 2158 }
2184 return prev; 2159 return prev;
2185 } 2160 }
2186 static [_chainForeignFuture](source, target) { 2161 static _chainForeignFuture(source, target) {
2187 dart.assert(!dart.notNull(target[_isComplete])); 2162 dart.assert(!dart.notNull(target[_isComplete]));
2188 dart.assert(!dart.is(source, _Future)); 2163 dart.assert(!dart.is(source, _Future));
2189 target[_isChained] = true; 2164 target[_isChained] = true;
2190 source.then(value => { 2165 source.then(value => {
2191 dart.assert(target[_isChained]); 2166 dart.assert(target[_isChained]);
2192 target[_completeWithValue](value); 2167 target[_completeWithValue](value);
2193 }, { 2168 }, {
2194 onError: (error, stackTrace) => { 2169 onError: (error, stackTrace) => {
2195 if (stackTrace === void 0) 2170 if (stackTrace === void 0)
2196 stackTrace = null; 2171 stackTrace = null;
2197 dart.assert(target[_isChained]); 2172 dart.assert(target[_isChained]);
2198 target[_completeError](error, dart.as(stackTrace, core.StackTrace)); 2173 target[_completeError](error, dart.as(stackTrace, core.StackTrace));
2199 } 2174 }
2200 }); 2175 });
2201 } 2176 }
2202 static [_chainCoreFuture](source, target) { 2177 static _chainCoreFuture(source, target) {
2203 dart.assert(!dart.notNull(target[_isComplete])); 2178 dart.assert(!dart.notNull(target[_isComplete]));
2204 dart.assert(dart.is(source, _Future)); 2179 dart.assert(dart.is(source, _Future));
2205 target[_isChained] = true; 2180 target[_isChained] = true;
2206 let listener = new _FutureListener.chain(target); 2181 let listener = new _FutureListener.chain(target);
2207 if (source[_isComplete]) { 2182 if (source[_isComplete]) {
2208 _Future[_propagateToListeners](source, listener); 2183 _Future._propagateToListeners(source, listener);
2209 } else { 2184 } else {
2210 source[_addListener](listener); 2185 source[_addListener](listener);
2211 } 2186 }
2212 } 2187 }
2213 [_complete](value) { 2188 [_complete](value) {
2214 dart.assert(!dart.notNull(this[_isComplete])); 2189 dart.assert(!dart.notNull(this[_isComplete]));
2215 if (dart.is(value, Future)) { 2190 if (dart.is(value, Future)) {
2216 if (dart.is(value, _Future)) { 2191 if (dart.is(value, _Future)) {
2217 _Future[_chainCoreFuture](dart.as(value, _Future), this); 2192 _Future._chainCoreFuture(dart.as(value, _Future), this);
2218 } else { 2193 } else {
2219 _Future[_chainForeignFuture](dart.as(value, Future), this); 2194 _Future._chainForeignFuture(dart.as(value, Future), this);
2220 } 2195 }
2221 } else { 2196 } else {
2222 let listeners = this[_removeListeners](); 2197 let listeners = this[_removeListeners]();
2223 this[_setValue](dart.as(value, T)); 2198 this[_setValue](dart.as(value, T));
2224 _Future[_propagateToListeners](this, listeners); 2199 _Future._propagateToListeners(this, listeners);
2225 } 2200 }
2226 } 2201 }
2227 [_completeWithValue](value) { 2202 [_completeWithValue](value) {
2228 dart.assert(!dart.notNull(this[_isComplete])); 2203 dart.assert(!dart.notNull(this[_isComplete]));
2229 dart.assert(!dart.is(value, Future)); 2204 dart.assert(!dart.is(value, Future));
2230 let listeners = this[_removeListeners](); 2205 let listeners = this[_removeListeners]();
2231 this[_setValue](dart.as(value, T)); 2206 this[_setValue](dart.as(value, T));
2232 _Future[_propagateToListeners](this, listeners); 2207 _Future._propagateToListeners(this, listeners);
2233 } 2208 }
2234 [_completeError](error, stackTrace) { 2209 [_completeError](error, stackTrace) {
2235 if (stackTrace === void 0) 2210 if (stackTrace === void 0)
2236 stackTrace = null; 2211 stackTrace = null;
2237 dart.assert(!dart.notNull(this[_isComplete])); 2212 dart.assert(!dart.notNull(this[_isComplete]));
2238 let listeners = this[_removeListeners](); 2213 let listeners = this[_removeListeners]();
2239 this[_setError](error, stackTrace); 2214 this[_setError](error, stackTrace);
2240 _Future[_propagateToListeners](this, listeners); 2215 _Future._propagateToListeners(this, listeners);
2241 } 2216 }
2242 [_asyncComplete](value) { 2217 [_asyncComplete](value) {
2243 dart.assert(!dart.notNull(this[_isComplete])); 2218 dart.assert(!dart.notNull(this[_isComplete]));
2244 if (value == null) { 2219 if (value == null) {
2245 } else if (dart.is(value, Future)) { 2220 } else if (dart.is(value, Future)) {
2246 let typedFuture = dart.as(value, Future$(T)); 2221 let typedFuture = dart.as(value, Future$(T));
2247 if (dart.is(typedFuture, _Future)) { 2222 if (dart.is(typedFuture, _Future)) {
2248 let coreFuture = dart.as(typedFuture, _Future$(T)); 2223 let coreFuture = dart.as(typedFuture, _Future$(T));
2249 if (dart.notNull(coreFuture[_isComplete]) && dart.notNull(coreFuture [_hasError])) { 2224 if (dart.notNull(coreFuture[_isComplete]) && dart.notNull(coreFuture [_hasError])) {
2250 this[_markPendingCompletion](); 2225 this[_markPendingCompletion]();
2251 this[_zone].scheduleMicrotask((() => { 2226 this[_zone].scheduleMicrotask((() => {
2252 _Future[_chainCoreFuture](coreFuture, this); 2227 _Future._chainCoreFuture(coreFuture, this);
2253 }).bind(this)); 2228 }).bind(this));
2254 } else { 2229 } else {
2255 _Future[_chainCoreFuture](coreFuture, this); 2230 _Future._chainCoreFuture(coreFuture, this);
2256 } 2231 }
2257 } else { 2232 } else {
2258 _Future[_chainForeignFuture](typedFuture, this); 2233 _Future._chainForeignFuture(typedFuture, this);
2259 } 2234 }
2260 return; 2235 return;
2261 } else { 2236 } else {
2262 let typedValue = dart.as(value, T); 2237 let typedValue = dart.as(value, T);
2263 } 2238 }
2264 this[_markPendingCompletion](); 2239 this[_markPendingCompletion]();
2265 this[_zone].scheduleMicrotask((() => { 2240 this[_zone].scheduleMicrotask((() => {
2266 this[_completeWithValue](value); 2241 this[_completeWithValue](value);
2267 }).bind(this)); 2242 }).bind(this));
2268 } 2243 }
2269 [_asyncCompleteError](error, stackTrace) { 2244 [_asyncCompleteError](error, stackTrace) {
2270 dart.assert(!dart.notNull(this[_isComplete])); 2245 dart.assert(!dart.notNull(this[_isComplete]));
2271 this[_markPendingCompletion](); 2246 this[_markPendingCompletion]();
2272 this[_zone].scheduleMicrotask((() => { 2247 this[_zone].scheduleMicrotask((() => {
2273 this[_completeError](error, stackTrace); 2248 this[_completeError](error, stackTrace);
2274 }).bind(this)); 2249 }).bind(this));
2275 } 2250 }
2276 static [_propagateToListeners](source, listeners) { 2251 static _propagateToListeners(source, listeners) {
2277 while (true) { 2252 while (true) {
2278 dart.assert(source[_isComplete]); 2253 dart.assert(source[_isComplete]);
2279 let hasError = source[_hasError]; 2254 let hasError = source[_hasError];
2280 if (listeners == null) { 2255 if (listeners == null) {
2281 if (hasError) { 2256 if (hasError) {
2282 let asyncError = source[_error]; 2257 let asyncError = source[_error];
2283 source[_zone].handleUncaughtError(asyncError.error, asyncError.sta ckTrace); 2258 source[_zone].handleUncaughtError(asyncError.error, asyncError.sta ckTrace);
2284 } 2259 }
2285 return; 2260 return;
2286 } 2261 }
2287 while (listeners[_nextListener] != null) { 2262 while (listeners[_nextListener] != null) {
2288 let listener = listeners; 2263 let listener = listeners;
2289 listeners = listener[_nextListener]; 2264 listeners = listener[_nextListener];
2290 listener[_nextListener] = null; 2265 listener[_nextListener] = null;
2291 _Future[_propagateToListeners](source, listener); 2266 _Future._propagateToListeners(source, listener);
2292 } 2267 }
2293 let listener = listeners; 2268 let listener = listeners;
2294 let listenerHasValue = true; 2269 let listenerHasValue = true;
2295 let sourceValue = hasError ? null : source[_value]; 2270 let sourceValue = hasError ? null : source[_value];
2296 let listenerValueOrError = sourceValue; 2271 let listenerValueOrError = sourceValue;
2297 let isPropagationAborted = false; 2272 let isPropagationAborted = false;
2298 if (dart.notNull(hasError) || dart.notNull(listener.handlesValue) || d art.notNull(listener.handlesComplete)) { 2273 if (dart.notNull(hasError) || dart.notNull(listener.handlesValue) || d art.notNull(listener.handlesComplete)) {
2299 let zone = listener[_zone]; 2274 let zone = listener[_zone];
2300 if (dart.notNull(hasError) && !dart.notNull(source[_zone].inSameErro rZone(zone))) { 2275 if (dart.notNull(hasError) && !dart.notNull(source[_zone].inSameErro rZone(zone))) {
2301 let asyncError = source[_error]; 2276 let asyncError = source[_error];
2302 source[_zone].handleUncaughtError(asyncError.error, asyncError.sta ckTrace); 2277 source[_zone].handleUncaughtError(asyncError.error, asyncError.sta ckTrace);
2303 return; 2278 return;
2304 } 2279 }
2305 let oldZone = null; 2280 let oldZone = null;
2306 if (!dart.notNull(core.identical(Zone.current, zone))) { 2281 if (!dart.notNull(core.identical(Zone.current, zone))) {
2307 oldZone = Zone[_enter](zone); 2282 oldZone = Zone._enter(zone);
2308 } 2283 }
2309 // Function handleValueCallback: () → bool 2284 // Function handleValueCallback: () → bool
2310 function handleValueCallback() { 2285 function handleValueCallback() {
2311 try { 2286 try {
2312 listenerValueOrError = zone.runUnary(listener[_onValue], sourceV alue); 2287 listenerValueOrError = zone.runUnary(listener[_onValue], sourceV alue);
2313 return true; 2288 return true;
2314 } catch (e) { 2289 } catch (e) {
2315 let s = dart.stackTrace(e); 2290 let s = dart.stackTrace(e);
2316 listenerValueOrError = new AsyncError(e, s); 2291 listenerValueOrError = new AsyncError(e, s);
2317 return false; 2292 return false;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2369 } 2344 }
2370 listenerHasValue = false; 2345 listenerHasValue = false;
2371 return; 2346 return;
2372 } 2347 }
2373 2348
2374 if (dart.is(completeResult, Future)) { 2349 if (dart.is(completeResult, Future)) {
2375 let result = listener.result; 2350 let result = listener.result;
2376 result[_isChained] = true; 2351 result[_isChained] = true;
2377 isPropagationAborted = true; 2352 isPropagationAborted = true;
2378 dart.dsend(completeResult, 'then', ignored => { 2353 dart.dsend(completeResult, 'then', ignored => {
2379 _Future[_propagateToListeners](source, new _FutureListener.cha in(result)); 2354 _Future._propagateToListeners(source, new _FutureListener.chai n(result));
2380 }, { 2355 }, {
2381 onError: (error, stackTrace) => { 2356 onError: (error, stackTrace) => {
2382 if (stackTrace === void 0) 2357 if (stackTrace === void 0)
2383 stackTrace = null; 2358 stackTrace = null;
2384 if (!dart.is(completeResult, _Future)) { 2359 if (!dart.is(completeResult, _Future)) {
2385 completeResult = new _Future(); 2360 completeResult = new _Future();
2386 dart.dsend(completeResult, _setError, error, stackTrace); 2361 dart.dsend(completeResult, _setError, error, stackTrace);
2387 } 2362 }
2388 _Future[_propagateToListeners](dart.as(completeResult, _Futu re), new _FutureListener.chain(result)); 2363 _Future._propagateToListeners(dart.as(completeResult, _Futur e), new _FutureListener.chain(result));
2389 } 2364 }
2390 }); 2365 });
2391 } 2366 }
2392 } 2367 }
2393 if (!dart.notNull(hasError)) { 2368 if (!dart.notNull(hasError)) {
2394 if (listener.handlesValue) { 2369 if (listener.handlesValue) {
2395 listenerHasValue = handleValueCallback(); 2370 listenerHasValue = handleValueCallback();
2396 } 2371 }
2397 } else { 2372 } else {
2398 handleError(); 2373 handleError();
2399 } 2374 }
2400 if (listener.handlesComplete) { 2375 if (listener.handlesComplete) {
2401 handleWhenCompleteCallback(); 2376 handleWhenCompleteCallback();
2402 } 2377 }
2403 if (oldZone != null) 2378 if (oldZone != null)
2404 Zone[_leave](oldZone); 2379 Zone._leave(oldZone);
2405 if (isPropagationAborted) 2380 if (isPropagationAborted)
2406 return; 2381 return;
2407 if (dart.notNull(listenerHasValue) && !dart.notNull(core.identical(s ourceValue, listenerValueOrError)) && dart.is(listenerValueOrError, Future)) { 2382 if (dart.notNull(listenerHasValue) && !dart.notNull(core.identical(s ourceValue, listenerValueOrError)) && dart.is(listenerValueOrError, Future)) {
2408 let chainSource = dart.as(listenerValueOrError, Future); 2383 let chainSource = dart.as(listenerValueOrError, Future);
2409 let result = listener.result; 2384 let result = listener.result;
2410 if (dart.is(chainSource, _Future)) { 2385 if (dart.is(chainSource, _Future)) {
2411 if (chainSource[_isComplete]) { 2386 if (chainSource[_isComplete]) {
2412 result[_isChained] = true; 2387 result[_isChained] = true;
2413 source = chainSource; 2388 source = chainSource;
2414 listeners = new _FutureListener.chain(result); 2389 listeners = new _FutureListener.chain(result);
2415 continue; 2390 continue;
2416 } else { 2391 } else {
2417 _Future[_chainCoreFuture](chainSource, result); 2392 _Future._chainCoreFuture(chainSource, result);
2418 } 2393 }
2419 } else { 2394 } else {
2420 _Future[_chainForeignFuture](chainSource, result); 2395 _Future._chainForeignFuture(chainSource, result);
2421 } 2396 }
2422 return; 2397 return;
2423 } 2398 }
2424 } 2399 }
2425 let result = listener.result; 2400 let result = listener.result;
2426 listeners = result[_removeListeners](); 2401 listeners = result[_removeListeners]();
2427 if (listenerHasValue) { 2402 if (listenerHasValue) {
2428 result[_setValue](listenerValueOrError); 2403 result[_setValue](listenerValueOrError);
2429 } else { 2404 } else {
2430 let asyncError = dart.as(listenerValueOrError, AsyncError); 2405 let asyncError = dart.as(listenerValueOrError, AsyncError);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
2505 function _asyncRunCallbackLoop() { 2480 function _asyncRunCallbackLoop() {
2506 while (exports._nextCallback != null) { 2481 while (exports._nextCallback != null) {
2507 exports._lastPriorityCallback = null; 2482 exports._lastPriorityCallback = null;
2508 let entry = exports._nextCallback; 2483 let entry = exports._nextCallback;
2509 exports._nextCallback = entry.next; 2484 exports._nextCallback = entry.next;
2510 if (exports._nextCallback == null) 2485 if (exports._nextCallback == null)
2511 exports._lastCallback = null; 2486 exports._lastCallback = null;
2512 entry.callback(); 2487 entry.callback();
2513 } 2488 }
2514 } 2489 }
2515 let _scheduleImmediate = Symbol('_scheduleImmediate');
2516 // Function _asyncRunCallback: () → void 2490 // Function _asyncRunCallback: () → void
2517 function _asyncRunCallback() { 2491 function _asyncRunCallback() {
2518 exports._isInCallbackLoop = true; 2492 exports._isInCallbackLoop = true;
2519 try { 2493 try {
2520 _asyncRunCallbackLoop(); 2494 _asyncRunCallbackLoop();
2521 } finally { 2495 } finally {
2522 exports._lastPriorityCallback = null; 2496 exports._lastPriorityCallback = null;
2523 exports._isInCallbackLoop = false; 2497 exports._isInCallbackLoop = false;
2524 if (exports._nextCallback != null) 2498 if (exports._nextCallback != null)
2525 _AsyncRun[_scheduleImmediate](_asyncRunCallback); 2499 _AsyncRun._scheduleImmediate(_asyncRunCallback);
2526 } 2500 }
2527 } 2501 }
2528 // Function _scheduleAsyncCallback: (dynamic) → void 2502 // Function _scheduleAsyncCallback: (dynamic) → void
2529 function _scheduleAsyncCallback(callback) { 2503 function _scheduleAsyncCallback(callback) {
2530 if (exports._nextCallback == null) { 2504 if (exports._nextCallback == null) {
2531 exports._nextCallback = exports._lastCallback = new _AsyncCallbackEntry(da rt.as(callback, _AsyncCallback)); 2505 exports._nextCallback = exports._lastCallback = new _AsyncCallbackEntry(da rt.as(callback, _AsyncCallback));
2532 if (!dart.notNull(exports._isInCallbackLoop)) { 2506 if (!dart.notNull(exports._isInCallbackLoop)) {
2533 _AsyncRun[_scheduleImmediate](_asyncRunCallback); 2507 _AsyncRun._scheduleImmediate(_asyncRunCallback);
2534 } 2508 }
2535 } else { 2509 } else {
2536 let newEntry = new _AsyncCallbackEntry(dart.as(callback, _AsyncCallback)); 2510 let newEntry = new _AsyncCallbackEntry(dart.as(callback, _AsyncCallback));
2537 exports._lastCallback.next = newEntry; 2511 exports._lastCallback.next = newEntry;
2538 exports._lastCallback = newEntry; 2512 exports._lastCallback = newEntry;
2539 } 2513 }
2540 } 2514 }
2541 // Function _schedulePriorityAsyncCallback: (dynamic) → void 2515 // Function _schedulePriorityAsyncCallback: (dynamic) → void
2542 function _schedulePriorityAsyncCallback(callback) { 2516 function _schedulePriorityAsyncCallback(callback) {
2543 let entry = new _AsyncCallbackEntry(dart.as(callback, _AsyncCallback)); 2517 let entry = new _AsyncCallbackEntry(dart.as(callback, _AsyncCallback));
(...skipping 13 matching lines...) Expand all
2557 } 2531 }
2558 } 2532 }
2559 // Function scheduleMicrotask: (() → void) → void 2533 // Function scheduleMicrotask: (() → void) → void
2560 function scheduleMicrotask(callback) { 2534 function scheduleMicrotask(callback) {
2561 if (core.identical(_ROOT_ZONE, Zone.current)) { 2535 if (core.identical(_ROOT_ZONE, Zone.current)) {
2562 _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback); 2536 _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback);
2563 return; 2537 return;
2564 } 2538 }
2565 Zone.current.scheduleMicrotask(Zone.current.bindCallback(callback, {runGuard ed: true})); 2539 Zone.current.scheduleMicrotask(Zone.current.bindCallback(callback, {runGuard ed: true}));
2566 } 2540 }
2567 let _initializeScheduleImmediate = Symbol('_initializeScheduleImmediate');
2568 let _scheduleImmediateJsOverride = Symbol('_scheduleImmediateJsOverride');
2569 let _scheduleImmediateWithSetImmediate = Symbol('_scheduleImmediateWithSetImme diate');
2570 let _scheduleImmediateWithTimer = Symbol('_scheduleImmediateWithTimer');
2571 let _createTimer = Symbol('_createTimer');
2572 class _AsyncRun extends core.Object { 2541 class _AsyncRun extends core.Object {
2573 static [_scheduleImmediate](callback) { 2542 static _scheduleImmediate(callback) {
2574 dart.dcall(_AsyncRun.scheduleImmediateClosure, callback); 2543 dart.dcall(_AsyncRun.scheduleImmediateClosure, callback);
2575 } 2544 }
2576 static [_initializeScheduleImmediate]() { 2545 static _initializeScheduleImmediate() {
2577 _js_helper.requiresPreamble(); 2546 _js_helper.requiresPreamble();
2578 if (self.scheduleImmediate != null) { 2547 if (self.scheduleImmediate != null) {
2579 return _AsyncRun[_scheduleImmediateJsOverride]; 2548 return _AsyncRun._scheduleImmediateJsOverride;
2580 } 2549 }
2581 if (dart.notNull(self.MutationObserver != null) && dart.notNull(self.docum ent != null)) { 2550 if (dart.notNull(self.MutationObserver != null) && dart.notNull(self.docum ent != null)) {
2582 let div = self.document.createElement("div"); 2551 let div = self.document.createElement("div");
2583 let span = self.document.createElement("span"); 2552 let span = self.document.createElement("span");
2584 let storedCallback = null; 2553 let storedCallback = null;
2585 // Function internalCallback: (dynamic) → dynamic 2554 // Function internalCallback: (dynamic) → dynamic
2586 function internalCallback(_) { 2555 function internalCallback(_) {
2587 _isolate_helper.leaveJsAsync(); 2556 _isolate_helper.leaveJsAsync();
2588 let f = storedCallback; 2557 let f = storedCallback;
2589 storedCallback = null; 2558 storedCallback = null;
2590 dart.dcall(f); 2559 dart.dcall(f);
2591 } 2560 }
2592 ; 2561 ;
2593 let observer = new self.MutationObserver(_js_helper.convertDartClosureTo JS(internalCallback, 1)); 2562 let observer = new self.MutationObserver(_js_helper.convertDartClosureTo JS(internalCallback, 1));
2594 observer.observe(div, {childList: true}); 2563 observer.observe(div, {childList: true});
2595 return callback => { 2564 return callback => {
2596 dart.assert(storedCallback == null); 2565 dart.assert(storedCallback == null);
2597 _isolate_helper.enterJsAsync(); 2566 _isolate_helper.enterJsAsync();
2598 storedCallback = callback; 2567 storedCallback = callback;
2599 div.firstChild ? div.removeChild(span) : div.appendChild(span); 2568 div.firstChild ? div.removeChild(span) : div.appendChild(span);
2600 }; 2569 };
2601 } else if (self.setImmediate != null) { 2570 } else if (self.setImmediate != null) {
2602 return _AsyncRun[_scheduleImmediateWithSetImmediate]; 2571 return _AsyncRun._scheduleImmediateWithSetImmediate;
2603 } 2572 }
2604 return _AsyncRun[_scheduleImmediateWithTimer]; 2573 return _AsyncRun._scheduleImmediateWithTimer;
2605 } 2574 }
2606 static [_scheduleImmediateJsOverride](callback) { 2575 static _scheduleImmediateJsOverride(callback) {
2607 // Function internalCallback: () → dynamic 2576 // Function internalCallback: () → dynamic
2608 function internalCallback() { 2577 function internalCallback() {
2609 _isolate_helper.leaveJsAsync(); 2578 _isolate_helper.leaveJsAsync();
2610 callback(); 2579 callback();
2611 } 2580 }
2612 ; 2581 ;
2613 _isolate_helper.enterJsAsync(); 2582 _isolate_helper.enterJsAsync();
2614 self.scheduleImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); 2583 self.scheduleImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0));
2615 } 2584 }
2616 static [_scheduleImmediateWithSetImmediate](callback) { 2585 static _scheduleImmediateWithSetImmediate(callback) {
2617 // Function internalCallback: () → dynamic 2586 // Function internalCallback: () → dynamic
2618 function internalCallback() { 2587 function internalCallback() {
2619 _isolate_helper.leaveJsAsync(); 2588 _isolate_helper.leaveJsAsync();
2620 callback(); 2589 callback();
2621 } 2590 }
2622 ; 2591 ;
2623 _isolate_helper.enterJsAsync(); 2592 _isolate_helper.enterJsAsync();
2624 self.setImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); 2593 self.setImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0));
2625 } 2594 }
2626 static [_scheduleImmediateWithTimer](callback) { 2595 static _scheduleImmediateWithTimer(callback) {
2627 Timer[_createTimer](core.Duration.ZERO, callback); 2596 Timer._createTimer(core.Duration.ZERO, callback);
2628 } 2597 }
2629 } 2598 }
2630 dart.defineLazyProperties(_AsyncRun, { 2599 dart.defineLazyProperties(_AsyncRun, {
2631 get scheduleImmediateClosure() { 2600 get scheduleImmediateClosure() {
2632 return _AsyncRun[_initializeScheduleImmediate](); 2601 return _AsyncRun._initializeScheduleImmediate();
2633 } 2602 }
2634 }); 2603 });
2635 let StreamSubscription$ = dart.generic(function(T) { 2604 let StreamSubscription$ = dart.generic(function(T) {
2636 class StreamSubscription extends core.Object {} 2605 class StreamSubscription extends core.Object {}
2637 return StreamSubscription; 2606 return StreamSubscription;
2638 }); 2607 });
2639 let StreamSubscription = StreamSubscription$(); 2608 let StreamSubscription = StreamSubscription$();
2640 let EventSink$ = dart.generic(function(T) { 2609 let EventSink$ = dart.generic(function(T) {
2641 class EventSink extends core.Object {} 2610 class EventSink extends core.Object {}
2642 EventSink[dart.implements] = () => [core.Sink$(T)]; 2611 EventSink[dart.implements] = () => [core.Sink$(T)];
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
2761 [_recordPause](subscription) {} 2730 [_recordPause](subscription) {}
2762 [_recordResume](subscription) {} 2731 [_recordResume](subscription) {}
2763 [_recordCancel](subscription) { 2732 [_recordCancel](subscription) {
2764 return null; 2733 return null;
2765 } 2734 }
2766 } 2735 }
2767 return _StreamControllerLifecycle; 2736 return _StreamControllerLifecycle;
2768 }); 2737 });
2769 let _StreamControllerLifecycle = _StreamControllerLifecycle$(); 2738 let _StreamControllerLifecycle = _StreamControllerLifecycle$();
2770 let _varData = Symbol('_varData'); 2739 let _varData = Symbol('_varData');
2771 let _STATE_SUBSCRIBED = Symbol('_STATE_SUBSCRIBED');
2772 let _isInitialState = Symbol('_isInitialState'); 2740 let _isInitialState = Symbol('_isInitialState');
2773 let _STATE_SUBSCRIPTION_MASK = Symbol('_STATE_SUBSCRIPTION_MASK');
2774 let _subscription = Symbol('_subscription'); 2741 let _subscription = Symbol('_subscription');
2775 let _pendingEvents = Symbol('_pendingEvents'); 2742 let _pendingEvents = Symbol('_pendingEvents');
2776 let _ensurePendingEvents = Symbol('_ensurePendingEvents'); 2743 let _ensurePendingEvents = Symbol('_ensurePendingEvents');
2777 let _badEventState = Symbol('_badEventState'); 2744 let _badEventState = Symbol('_badEventState');
2778 let _StreamController$ = dart.generic(function(T) { 2745 let _StreamController$ = dart.generic(function(T) {
2779 class _StreamController extends core.Object { 2746 class _StreamController extends core.Object {
2780 _StreamController() { 2747 _StreamController() {
2781 this[_varData] = null; 2748 this[_varData] = null;
2782 this[_state] = _StreamController[_STATE_INITIAL]; 2749 this[_state] = _StreamController._STATE_INITIAL;
2783 this[_doneFuture] = null; 2750 this[_doneFuture] = null;
2784 } 2751 }
2785 get stream() { 2752 get stream() {
2786 return new (_ControllerStream$(T))(this); 2753 return new (_ControllerStream$(T))(this);
2787 } 2754 }
2788 get sink() { 2755 get sink() {
2789 return new (_StreamSinkWrapper$(T))(this); 2756 return new (_StreamSinkWrapper$(T))(this);
2790 } 2757 }
2791 get [_isCanceled]() { 2758 get [_isCanceled]() {
2792 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_CANCELED])) != 0; 2759 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_CANCELED)) != 0;
2793 } 2760 }
2794 get hasListener() { 2761 get hasListener() {
2795 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_SUBSCRIBED])) != 0; 2762 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_SUBSCRIBED)) != 0;
2796 } 2763 }
2797 get [_isInitialState]() { 2764 get [_isInitialState]() {
2798 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_SUBSCRIPTION_MASK])) == _StreamController[_STATE_INITIAL]; 2765 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_SUBSCRIPTION_MASK)) == _StreamController._STATE_INITIAL;
2799 } 2766 }
2800 get isClosed() { 2767 get isClosed() {
2801 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_CLOSED])) != 0; 2768 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_CLOSED)) != 0;
2802 } 2769 }
2803 get isPaused() { 2770 get isPaused() {
2804 return this.hasListener ? this[_subscription][_isInputPaused] : !dart.no tNull(this[_isCanceled]); 2771 return this.hasListener ? this[_subscription][_isInputPaused] : !dart.no tNull(this[_isCanceled]);
2805 } 2772 }
2806 get [_isAddingStream]() { 2773 get [_isAddingStream]() {
2807 return (dart.notNull(this[_state]) & dart.notNull(_StreamController[_STA TE_ADDSTREAM])) != 0; 2774 return (dart.notNull(this[_state]) & dart.notNull(_StreamController._STA TE_ADDSTREAM)) != 0;
2808 } 2775 }
2809 get [_mayAddEvent]() { 2776 get [_mayAddEvent]() {
2810 return dart.notNull(this[_state]) < dart.notNull(_StreamController[_STAT E_CLOSED]); 2777 return dart.notNull(this[_state]) < dart.notNull(_StreamController._STAT E_CLOSED);
2811 } 2778 }
2812 get [_pendingEvents]() { 2779 get [_pendingEvents]() {
2813 dart.assert(this[_isInitialState]); 2780 dart.assert(this[_isInitialState]);
2814 if (!dart.notNull(this[_isAddingStream])) { 2781 if (!dart.notNull(this[_isAddingStream])) {
2815 return dart.as(this[_varData], _PendingEvents); 2782 return dart.as(this[_varData], _PendingEvents);
2816 } 2783 }
2817 let state = dart.as(this[_varData], _StreamControllerAddStreamState); 2784 let state = dart.as(this[_varData], _StreamControllerAddStreamState);
2818 return dart.as(state.varData, _PendingEvents); 2785 return dart.as(state.varData, _PendingEvents);
2819 } 2786 }
2820 [_ensurePendingEvents]() { 2787 [_ensurePendingEvents]() {
(...skipping 24 matching lines...) Expand all
2845 return new core.StateError("Cannot add event while adding a stream"); 2812 return new core.StateError("Cannot add event while adding a stream");
2846 } 2813 }
2847 addStream(source, opts) { 2814 addStream(source, opts) {
2848 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true; 2815 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
2849 if (!dart.notNull(this[_mayAddEvent])) 2816 if (!dart.notNull(this[_mayAddEvent]))
2850 throw this[_badEventState](); 2817 throw this[_badEventState]();
2851 if (this[_isCanceled]) 2818 if (this[_isCanceled])
2852 return new _Future.immediate(null); 2819 return new _Future.immediate(null);
2853 let addState = new _StreamControllerAddStreamState(this, this[_varData], source, cancelOnError); 2820 let addState = new _StreamControllerAddStreamState(this, this[_varData], source, cancelOnError);
2854 this[_varData] = addState; 2821 this[_varData] = addState;
2855 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er[_STATE_ADDSTREAM]); 2822 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_ADDSTREAM);
2856 return addState.addStreamFuture; 2823 return addState.addStreamFuture;
2857 } 2824 }
2858 get done() { 2825 get done() {
2859 return this[_ensureDoneFuture](); 2826 return this[_ensureDoneFuture]();
2860 } 2827 }
2861 [_ensureDoneFuture]() { 2828 [_ensureDoneFuture]() {
2862 if (this[_doneFuture] == null) { 2829 if (this[_doneFuture] == null) {
2863 this[_doneFuture] = this[_isCanceled] ? Future[_nullFuture] : new _Fut ure(); 2830 this[_doneFuture] = this[_isCanceled] ? Future._nullFuture : new _Futu re();
2864 } 2831 }
2865 return this[_doneFuture]; 2832 return this[_doneFuture];
2866 } 2833 }
2867 add(value) { 2834 add(value) {
2868 if (!dart.notNull(this[_mayAddEvent])) 2835 if (!dart.notNull(this[_mayAddEvent]))
2869 throw this[_badEventState](); 2836 throw this[_badEventState]();
2870 this[_add](value); 2837 this[_add](value);
2871 } 2838 }
2872 addError(error, stackTrace) { 2839 addError(error, stackTrace) {
2873 if (stackTrace === void 0) 2840 if (stackTrace === void 0)
(...skipping 11 matching lines...) Expand all
2885 close() { 2852 close() {
2886 if (this.isClosed) { 2853 if (this.isClosed) {
2887 return this[_ensureDoneFuture](); 2854 return this[_ensureDoneFuture]();
2888 } 2855 }
2889 if (!dart.notNull(this[_mayAddEvent])) 2856 if (!dart.notNull(this[_mayAddEvent]))
2890 throw this[_badEventState](); 2857 throw this[_badEventState]();
2891 this[_closeUnchecked](); 2858 this[_closeUnchecked]();
2892 return this[_ensureDoneFuture](); 2859 return this[_ensureDoneFuture]();
2893 } 2860 }
2894 [_closeUnchecked]() { 2861 [_closeUnchecked]() {
2895 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er[_STATE_CLOSED]); 2862 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_CLOSED);
2896 if (this.hasListener) { 2863 if (this.hasListener) {
2897 this[_sendDone](); 2864 this[_sendDone]();
2898 } else if (this[_isInitialState]) { 2865 } else if (this[_isInitialState]) {
2899 this[_ensurePendingEvents]().add(dart.const(new _DelayedDone())); 2866 this[_ensurePendingEvents]().add(dart.const(new _DelayedDone()));
2900 } 2867 }
2901 } 2868 }
2902 [_add](value) { 2869 [_add](value) {
2903 if (this.hasListener) { 2870 if (this.hasListener) {
2904 this[_sendData](value); 2871 this[_sendData](value);
2905 } else if (this[_isInitialState]) { 2872 } else if (this[_isInitialState]) {
2906 this[_ensurePendingEvents]().add(new (_DelayedData$(T))(value)); 2873 this[_ensurePendingEvents]().add(new (_DelayedData$(T))(value));
2907 } 2874 }
2908 } 2875 }
2909 [_addError](error, stackTrace) { 2876 [_addError](error, stackTrace) {
2910 if (this.hasListener) { 2877 if (this.hasListener) {
2911 this[_sendError](error, stackTrace); 2878 this[_sendError](error, stackTrace);
2912 } else if (this[_isInitialState]) { 2879 } else if (this[_isInitialState]) {
2913 this[_ensurePendingEvents]().add(new _DelayedError(error, stackTrace)) ; 2880 this[_ensurePendingEvents]().add(new _DelayedError(error, stackTrace)) ;
2914 } 2881 }
2915 } 2882 }
2916 [_close]() { 2883 [_close]() {
2917 dart.assert(this[_isAddingStream]); 2884 dart.assert(this[_isAddingStream]);
2918 let addState = dart.as(this[_varData], _StreamControllerAddStreamState); 2885 let addState = dart.as(this[_varData], _StreamControllerAddStreamState);
2919 this[_varData] = addState.varData; 2886 this[_varData] = addState.varData;
2920 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_StreamControl ler[_STATE_ADDSTREAM]); 2887 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_StreamControl ler._STATE_ADDSTREAM);
2921 addState.complete(); 2888 addState.complete();
2922 } 2889 }
2923 [_subscribe](onData, onError, onDone, cancelOnError) { 2890 [_subscribe](onData, onError, onDone, cancelOnError) {
2924 if (!dart.notNull(this[_isInitialState])) { 2891 if (!dart.notNull(this[_isInitialState])) {
2925 throw new core.StateError("Stream has already been listened to."); 2892 throw new core.StateError("Stream has already been listened to.");
2926 } 2893 }
2927 let subscription = new _ControllerSubscription(this, onData, onError, on Done, cancelOnError); 2894 let subscription = new _ControllerSubscription(this, onData, onError, on Done, cancelOnError);
2928 let pendingEvents = this[_pendingEvents]; 2895 let pendingEvents = this[_pendingEvents];
2929 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er[_STATE_SUBSCRIBED]); 2896 this[_state] = dart.notNull(this[_state]) | dart.notNull(_StreamControll er._STATE_SUBSCRIBED);
2930 if (this[_isAddingStream]) { 2897 if (this[_isAddingStream]) {
2931 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 2898 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2932 addState.varData = subscription; 2899 addState.varData = subscription;
2933 addState.resume(); 2900 addState.resume();
2934 } else { 2901 } else {
2935 this[_varData] = subscription; 2902 this[_varData] = subscription;
2936 } 2903 }
2937 subscription[_setPendingEvents](pendingEvents); 2904 subscription[_setPendingEvents](pendingEvents);
2938 subscription[_guardCallback]((() => { 2905 subscription[_guardCallback]((() => {
2939 _runGuarded(this[_onListen]); 2906 _runGuarded(this[_onListen]);
2940 }).bind(this)); 2907 }).bind(this));
2941 return dart.as(subscription, StreamSubscription$(T)); 2908 return dart.as(subscription, StreamSubscription$(T));
2942 } 2909 }
2943 [_recordCancel](subscription) { 2910 [_recordCancel](subscription) {
2944 let result = null; 2911 let result = null;
2945 if (this[_isAddingStream]) { 2912 if (this[_isAddingStream]) {
2946 let addState = dart.as(this[_varData], _StreamControllerAddStreamState ); 2913 let addState = dart.as(this[_varData], _StreamControllerAddStreamState );
2947 result = addState.cancel(); 2914 result = addState.cancel();
2948 } 2915 }
2949 this[_varData] = null; 2916 this[_varData] = null;
2950 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro ller[_STATE_SUBSCRIBED]) | dart.notNull(_StreamController[_STATE_ADDSTREAM])) | dart.notNull(_StreamController[_STATE_CANCELED]); 2917 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro ller._STATE_SUBSCRIBED) | dart.notNull(_StreamController._STATE_ADDSTREAM)) | da rt.notNull(_StreamController._STATE_CANCELED);
2951 if (this[_onCancel] != null) { 2918 if (this[_onCancel] != null) {
2952 if (result == null) { 2919 if (result == null) {
2953 try { 2920 try {
2954 result = dart.as(this[_onCancel](), Future); 2921 result = dart.as(this[_onCancel](), Future);
2955 } catch (e) { 2922 } catch (e) {
2956 let s = dart.stackTrace(e); 2923 let s = dart.stackTrace(e);
2957 result = new _Future(); 2924 result = new _Future();
2958 result[_asyncCompleteError](e, s); 2925 result[_asyncCompleteError](e, s);
2959 } 2926 }
2960 2927
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
3191 this[_isUsed] = true; 3158 this[_isUsed] = true;
3192 let _ = new _BufferingStreamSubscription(onData, onError, onDone, cancel OnError); 3159 let _ = new _BufferingStreamSubscription(onData, onError, onDone, cancel OnError);
3193 _[_setPendingEvents](this[_pending]()); 3160 _[_setPendingEvents](this[_pending]());
3194 return _; 3161 return _;
3195 } 3162 }
3196 } 3163 }
3197 return _GeneratedStreamImpl; 3164 return _GeneratedStreamImpl;
3198 }); 3165 });
3199 let _GeneratedStreamImpl = _GeneratedStreamImpl$(); 3166 let _GeneratedStreamImpl = _GeneratedStreamImpl$();
3200 let _iterator = Symbol('_iterator'); 3167 let _iterator = Symbol('_iterator');
3201 let _STATE_UNSCHEDULED = Symbol('_STATE_UNSCHEDULED');
3202 let _STATE_SCHEDULED = Symbol('_STATE_SCHEDULED');
3203 let _eventScheduled = Symbol('_eventScheduled'); 3168 let _eventScheduled = Symbol('_eventScheduled');
3204 class _PendingEvents extends core.Object { 3169 class _PendingEvents extends core.Object {
3205 _PendingEvents() { 3170 _PendingEvents() {
3206 this[_state] = _PendingEvents[_STATE_UNSCHEDULED]; 3171 this[_state] = _PendingEvents._STATE_UNSCHEDULED;
3207 } 3172 }
3208 get isScheduled() { 3173 get isScheduled() {
3209 return this[_state] == _PendingEvents[_STATE_SCHEDULED]; 3174 return this[_state] == _PendingEvents._STATE_SCHEDULED;
3210 } 3175 }
3211 get [_eventScheduled]() { 3176 get [_eventScheduled]() {
3212 return dart.notNull(this[_state]) >= dart.notNull(_PendingEvents[_STATE_SC HEDULED]); 3177 return dart.notNull(this[_state]) >= dart.notNull(_PendingEvents._STATE_SC HEDULED);
3213 } 3178 }
3214 schedule(dispatch) { 3179 schedule(dispatch) {
3215 if (this.isScheduled) 3180 if (this.isScheduled)
3216 return; 3181 return;
3217 dart.assert(!dart.notNull(this.isEmpty)); 3182 dart.assert(!dart.notNull(this.isEmpty));
3218 if (this[_eventScheduled]) { 3183 if (this[_eventScheduled]) {
3219 dart.assert(this[_state] == _PendingEvents[_STATE_CANCELED]); 3184 dart.assert(this[_state] == _PendingEvents._STATE_CANCELED);
3220 this[_state] = _PendingEvents[_STATE_SCHEDULED]; 3185 this[_state] = _PendingEvents._STATE_SCHEDULED;
3221 return; 3186 return;
3222 } 3187 }
3223 scheduleMicrotask((() => { 3188 scheduleMicrotask((() => {
3224 let oldState = this[_state]; 3189 let oldState = this[_state];
3225 this[_state] = _PendingEvents[_STATE_UNSCHEDULED]; 3190 this[_state] = _PendingEvents._STATE_UNSCHEDULED;
3226 if (oldState == _PendingEvents[_STATE_CANCELED]) 3191 if (oldState == _PendingEvents._STATE_CANCELED)
3227 return; 3192 return;
3228 this.handleNext(dispatch); 3193 this.handleNext(dispatch);
3229 }).bind(this)); 3194 }).bind(this));
3230 this[_state] = _PendingEvents[_STATE_SCHEDULED]; 3195 this[_state] = _PendingEvents._STATE_SCHEDULED;
3231 } 3196 }
3232 cancelSchedule() { 3197 cancelSchedule() {
3233 if (this.isScheduled) 3198 if (this.isScheduled)
3234 this[_state] = _PendingEvents[_STATE_CANCELED]; 3199 this[_state] = _PendingEvents._STATE_CANCELED;
3235 } 3200 }
3236 } 3201 }
3237 _PendingEvents._STATE_UNSCHEDULED = 0; 3202 _PendingEvents._STATE_UNSCHEDULED = 0;
3238 _PendingEvents._STATE_SCHEDULED = 1; 3203 _PendingEvents._STATE_SCHEDULED = 1;
3239 _PendingEvents._STATE_CANCELED = 3; 3204 _PendingEvents._STATE_CANCELED = 3;
3240 let _IterablePendingEvents$ = dart.generic(function(T) { 3205 let _IterablePendingEvents$ = dart.generic(function(T) {
3241 class _IterablePendingEvents extends _PendingEvents { 3206 class _IterablePendingEvents extends _PendingEvents {
3242 _IterablePendingEvents(data) { 3207 _IterablePendingEvents(data) {
3243 this[_iterator] = data[core.$iterator]; 3208 this[_iterator] = data[core.$iterator];
3244 super._PendingEvents(); 3209 super._PendingEvents();
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
3383 let newPrevious = newNext[_previous]; 3348 let newPrevious = newNext[_previous];
3384 newPrevious[_next] = this; 3349 newPrevious[_next] = this;
3385 newNext[_previous] = this[_previous]; 3350 newNext[_previous] = this[_previous];
3386 this[_previous][_next] = newNext; 3351 this[_previous][_next] = newNext;
3387 this[_previous] = newPrevious; 3352 this[_previous] = newPrevious;
3388 } 3353 }
3389 } 3354 }
3390 let _broadcastCallback = dart.typedef('_broadcastCallback', () => dart.functio nType(dart.void, [StreamSubscription])); 3355 let _broadcastCallback = dart.typedef('_broadcastCallback', () => dart.functio nType(dart.void, [StreamSubscription]));
3391 let _schedule = Symbol('_schedule'); 3356 let _schedule = Symbol('_schedule');
3392 let _isSent = Symbol('_isSent'); 3357 let _isSent = Symbol('_isSent');
3393 let _DONE_SENT = Symbol('_DONE_SENT');
3394 let _isScheduled = Symbol('_isScheduled'); 3358 let _isScheduled = Symbol('_isScheduled');
3395 let _SCHEDULED = Symbol('_SCHEDULED');
3396 let _PAUSED = Symbol('_PAUSED');
3397 let _DoneStreamSubscription$ = dart.generic(function(T) { 3359 let _DoneStreamSubscription$ = dart.generic(function(T) {
3398 class _DoneStreamSubscription extends core.Object { 3360 class _DoneStreamSubscription extends core.Object {
3399 _DoneStreamSubscription(onDone) { 3361 _DoneStreamSubscription(onDone) {
3400 this[_onDone] = onDone; 3362 this[_onDone] = onDone;
3401 this[_zone] = Zone.current; 3363 this[_zone] = Zone.current;
3402 this[_state] = 0; 3364 this[_state] = 0;
3403 this[_schedule](); 3365 this[_schedule]();
3404 } 3366 }
3405 get [_isSent]() { 3367 get [_isSent]() {
3406 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n[_DONE_SENT])) != 0; 3368 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n._DONE_SENT)) != 0;
3407 } 3369 }
3408 get [_isScheduled]() { 3370 get [_isScheduled]() {
3409 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n[_SCHEDULED])) != 0; 3371 return (dart.notNull(this[_state]) & dart.notNull(_DoneStreamSubscriptio n._SCHEDULED)) != 0;
3410 } 3372 }
3411 get isPaused() { 3373 get isPaused() {
3412 return dart.notNull(this[_state]) >= dart.notNull(_DoneStreamSubscriptio n[_PAUSED]); 3374 return dart.notNull(this[_state]) >= dart.notNull(_DoneStreamSubscriptio n._PAUSED);
3413 } 3375 }
3414 [_schedule]() { 3376 [_schedule]() {
3415 if (this[_isScheduled]) 3377 if (this[_isScheduled])
3416 return; 3378 return;
3417 this[_zone].scheduleMicrotask(this[_sendDone].bind(this)); 3379 this[_zone].scheduleMicrotask(this[_sendDone].bind(this));
3418 this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubs cription[_SCHEDULED]); 3380 this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubs cription._SCHEDULED);
3419 } 3381 }
3420 onData(handleData) {} 3382 onData(handleData) {}
3421 onError(handleError) {} 3383 onError(handleError) {}
3422 onDone(handleDone) { 3384 onDone(handleDone) {
3423 this[_onDone] = handleDone; 3385 this[_onDone] = handleDone;
3424 } 3386 }
3425 pause(resumeSignal) { 3387 pause(resumeSignal) {
3426 if (resumeSignal === void 0) 3388 if (resumeSignal === void 0)
3427 resumeSignal = null; 3389 resumeSignal = null;
3428 this[_state] = dart.notNull(this[_state]) + dart.notNull(_DoneStreamSubs cription[_PAUSED]); 3390 this[_state] = dart.notNull(this[_state]) + dart.notNull(_DoneStreamSubs cription._PAUSED);
3429 if (resumeSignal != null) 3391 if (resumeSignal != null)
3430 resumeSignal.whenComplete(this.resume.bind(this)); 3392 resumeSignal.whenComplete(this.resume.bind(this));
3431 } 3393 }
3432 resume() { 3394 resume() {
3433 if (this.isPaused) { 3395 if (this.isPaused) {
3434 this[_state] = dart.notNull(this[_state]) - dart.notNull(_DoneStreamSu bscription[_PAUSED]); 3396 this[_state] = dart.notNull(this[_state]) - dart.notNull(_DoneStreamSu bscription._PAUSED);
3435 if (!dart.notNull(this.isPaused) && !dart.notNull(this[_isSent])) { 3397 if (!dart.notNull(this.isPaused) && !dart.notNull(this[_isSent])) {
3436 this[_schedule](); 3398 this[_schedule]();
3437 } 3399 }
3438 } 3400 }
3439 } 3401 }
3440 cancel() { 3402 cancel() {
3441 return null; 3403 return null;
3442 } 3404 }
3443 asFuture(futureValue) { 3405 asFuture(futureValue) {
3444 if (futureValue === void 0) 3406 if (futureValue === void 0)
3445 futureValue = null; 3407 futureValue = null;
3446 let result = new _Future(); 3408 let result = new _Future();
3447 this[_onDone] = () => { 3409 this[_onDone] = () => {
3448 result[_completeWithValue](null); 3410 result[_completeWithValue](null);
3449 }; 3411 };
3450 return result; 3412 return result;
3451 } 3413 }
3452 [_sendDone]() { 3414 [_sendDone]() {
3453 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_DoneStreamSub scription[_SCHEDULED]); 3415 this[_state] = dart.notNull(this[_state]) & ~dart.notNull(_DoneStreamSub scription._SCHEDULED);
3454 if (this.isPaused) 3416 if (this.isPaused)
3455 return; 3417 return;
3456 this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubs cription[_DONE_SENT]); 3418 this[_state] = dart.notNull(this[_state]) | dart.notNull(_DoneStreamSubs cription._DONE_SENT);
3457 if (this[_onDone] != null) 3419 if (this[_onDone] != null)
3458 this[_zone].runGuarded(this[_onDone]); 3420 this[_zone].runGuarded(this[_onDone]);
3459 } 3421 }
3460 } 3422 }
3461 _DoneStreamSubscription[dart.implements] = () => [StreamSubscription$(T)]; 3423 _DoneStreamSubscription[dart.implements] = () => [StreamSubscription$(T)];
3462 _DoneStreamSubscription._DONE_SENT = 1; 3424 _DoneStreamSubscription._DONE_SENT = 1;
3463 _DoneStreamSubscription._SCHEDULED = 2; 3425 _DoneStreamSubscription._SCHEDULED = 2;
3464 _DoneStreamSubscription._PAUSED = 4; 3426 _DoneStreamSubscription._PAUSED = 4;
3465 return _DoneStreamSubscription; 3427 return _DoneStreamSubscription;
3466 }); 3428 });
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
3576 asFuture(futureValue) { 3538 asFuture(futureValue) {
3577 if (futureValue === void 0) 3539 if (futureValue === void 0)
3578 futureValue = null; 3540 futureValue = null;
3579 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription."); 3541 throw new core.UnsupportedError("Cannot change handlers of asBroadcastSt ream source subscription.");
3580 } 3542 }
3581 } 3543 }
3582 _BroadcastSubscriptionWrapper[dart.implements] = () => [StreamSubscription$( T)]; 3544 _BroadcastSubscriptionWrapper[dart.implements] = () => [StreamSubscription$( T)];
3583 return _BroadcastSubscriptionWrapper; 3545 return _BroadcastSubscriptionWrapper;
3584 }); 3546 });
3585 let _BroadcastSubscriptionWrapper = _BroadcastSubscriptionWrapper$(); 3547 let _BroadcastSubscriptionWrapper = _BroadcastSubscriptionWrapper$();
3586 let _STATE_FOUND = Symbol('_STATE_FOUND');
3587 let _current = Symbol('_current'); 3548 let _current = Symbol('_current');
3588 let _futureOrPrefetch = Symbol('_futureOrPrefetch'); 3549 let _futureOrPrefetch = Symbol('_futureOrPrefetch');
3589 let _STATE_DONE = Symbol('_STATE_DONE');
3590 let _STATE_MOVING = Symbol('_STATE_MOVING');
3591 let _STATE_EXTRA_DATA = Symbol('_STATE_EXTRA_DATA');
3592 let _STATE_EXTRA_ERROR = Symbol('_STATE_EXTRA_ERROR');
3593 let _clear = Symbol('_clear'); 3550 let _clear = Symbol('_clear');
3594 let _STATE_EXTRA_DONE = Symbol('_STATE_EXTRA_DONE');
3595 let _StreamIteratorImpl$ = dart.generic(function(T) { 3551 let _StreamIteratorImpl$ = dart.generic(function(T) {
3596 class _StreamIteratorImpl extends core.Object { 3552 class _StreamIteratorImpl extends core.Object {
3597 _StreamIteratorImpl(stream) { 3553 _StreamIteratorImpl(stream) {
3598 this[_subscription] = null; 3554 this[_subscription] = null;
3599 this[_current] = null; 3555 this[_current] = null;
3600 this[_futureOrPrefetch] = null; 3556 this[_futureOrPrefetch] = null;
3601 this[_state] = _StreamIteratorImpl[_STATE_FOUND]; 3557 this[_state] = _StreamIteratorImpl._STATE_FOUND;
3602 this[_subscription] = stream.listen(this[_onData].bind(this), {onError: this[_onError].bind(this), onDone: this[_onDone].bind(this), cancelOnError: true }); 3558 this[_subscription] = stream.listen(this[_onData].bind(this), {onError: this[_onError].bind(this), onDone: this[_onDone].bind(this), cancelOnError: true });
3603 } 3559 }
3604 get current() { 3560 get current() {
3605 return this[_current]; 3561 return this[_current];
3606 } 3562 }
3607 moveNext() { 3563 moveNext() {
3608 if (this[_state] == _StreamIteratorImpl[_STATE_DONE]) { 3564 if (this[_state] == _StreamIteratorImpl._STATE_DONE) {
3609 return new _Future$(core.bool).immediate(false); 3565 return new _Future$(core.bool).immediate(false);
3610 } 3566 }
3611 if (this[_state] == _StreamIteratorImpl[_STATE_MOVING]) { 3567 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3612 throw new core.StateError("Already waiting for next."); 3568 throw new core.StateError("Already waiting for next.");
3613 } 3569 }
3614 if (this[_state] == _StreamIteratorImpl[_STATE_FOUND]) { 3570 if (this[_state] == _StreamIteratorImpl._STATE_FOUND) {
3615 this[_state] = _StreamIteratorImpl[_STATE_MOVING]; 3571 this[_state] = _StreamIteratorImpl._STATE_MOVING;
3616 this[_current] = null; 3572 this[_current] = null;
3617 this[_futureOrPrefetch] = new (_Future$(core.bool))(); 3573 this[_futureOrPrefetch] = new (_Future$(core.bool))();
3618 return dart.as(this[_futureOrPrefetch], Future$(core.bool)); 3574 return dart.as(this[_futureOrPrefetch], Future$(core.bool));
3619 } else { 3575 } else {
3620 dart.assert(dart.notNull(this[_state]) >= dart.notNull(_StreamIterator Impl[_STATE_EXTRA_DATA])); 3576 dart.assert(dart.notNull(this[_state]) >= dart.notNull(_StreamIterator Impl._STATE_EXTRA_DATA));
3621 switch (this[_state]) { 3577 switch (this[_state]) {
3622 case _StreamIteratorImpl[_STATE_EXTRA_DATA]: 3578 case _StreamIteratorImpl._STATE_EXTRA_DATA:
3623 { 3579 {
3624 this[_state] = _StreamIteratorImpl[_STATE_FOUND]; 3580 this[_state] = _StreamIteratorImpl._STATE_FOUND;
3625 this[_current] = dart.as(this[_futureOrPrefetch], T); 3581 this[_current] = dart.as(this[_futureOrPrefetch], T);
3626 this[_futureOrPrefetch] = null; 3582 this[_futureOrPrefetch] = null;
3627 this[_subscription].resume(); 3583 this[_subscription].resume();
3628 return new _Future$(core.bool).immediate(true); 3584 return new _Future$(core.bool).immediate(true);
3629 } 3585 }
3630 case _StreamIteratorImpl[_STATE_EXTRA_ERROR]: 3586 case _StreamIteratorImpl._STATE_EXTRA_ERROR:
3631 { 3587 {
3632 let prefetch = dart.as(this[_futureOrPrefetch], AsyncError); 3588 let prefetch = dart.as(this[_futureOrPrefetch], AsyncError);
3633 this[_clear](); 3589 this[_clear]();
3634 return new _Future$(core.bool).immediateError(prefetch.error, pref etch.stackTrace); 3590 return new _Future$(core.bool).immediateError(prefetch.error, pref etch.stackTrace);
3635 } 3591 }
3636 case _StreamIteratorImpl[_STATE_EXTRA_DONE]: 3592 case _StreamIteratorImpl._STATE_EXTRA_DONE:
3637 { 3593 {
3638 this[_clear](); 3594 this[_clear]();
3639 return new _Future$(core.bool).immediate(false); 3595 return new _Future$(core.bool).immediate(false);
3640 } 3596 }
3641 } 3597 }
3642 } 3598 }
3643 } 3599 }
3644 [_clear]() { 3600 [_clear]() {
3645 this[_subscription] = null; 3601 this[_subscription] = null;
3646 this[_futureOrPrefetch] = null; 3602 this[_futureOrPrefetch] = null;
3647 this[_current] = null; 3603 this[_current] = null;
3648 this[_state] = _StreamIteratorImpl[_STATE_DONE]; 3604 this[_state] = _StreamIteratorImpl._STATE_DONE;
3649 } 3605 }
3650 cancel() { 3606 cancel() {
3651 let subscription = this[_subscription]; 3607 let subscription = this[_subscription];
3652 if (this[_state] == _StreamIteratorImpl[_STATE_MOVING]) { 3608 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3653 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3609 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3654 this[_clear](); 3610 this[_clear]();
3655 hasNext[_complete](false); 3611 hasNext[_complete](false);
3656 } else { 3612 } else {
3657 this[_clear](); 3613 this[_clear]();
3658 } 3614 }
3659 return subscription.cancel(); 3615 return subscription.cancel();
3660 } 3616 }
3661 [_onData](data) { 3617 [_onData](data) {
3662 if (this[_state] == _StreamIteratorImpl[_STATE_MOVING]) { 3618 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3663 this[_current] = data; 3619 this[_current] = data;
3664 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3620 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3665 this[_futureOrPrefetch] = null; 3621 this[_futureOrPrefetch] = null;
3666 this[_state] = _StreamIteratorImpl[_STATE_FOUND]; 3622 this[_state] = _StreamIteratorImpl._STATE_FOUND;
3667 hasNext[_complete](true); 3623 hasNext[_complete](true);
3668 return; 3624 return;
3669 } 3625 }
3670 this[_subscription].pause(); 3626 this[_subscription].pause();
3671 dart.assert(this[_futureOrPrefetch] == null); 3627 dart.assert(this[_futureOrPrefetch] == null);
3672 this[_futureOrPrefetch] = data; 3628 this[_futureOrPrefetch] = data;
3673 this[_state] = _StreamIteratorImpl[_STATE_EXTRA_DATA]; 3629 this[_state] = _StreamIteratorImpl._STATE_EXTRA_DATA;
3674 } 3630 }
3675 [_onError](error, stackTrace) { 3631 [_onError](error, stackTrace) {
3676 if (stackTrace === void 0) 3632 if (stackTrace === void 0)
3677 stackTrace = null; 3633 stackTrace = null;
3678 if (this[_state] == _StreamIteratorImpl[_STATE_MOVING]) { 3634 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3679 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3635 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3680 this[_clear](); 3636 this[_clear]();
3681 hasNext[_completeError](error, stackTrace); 3637 hasNext[_completeError](error, stackTrace);
3682 return; 3638 return;
3683 } 3639 }
3684 this[_subscription].pause(); 3640 this[_subscription].pause();
3685 dart.assert(this[_futureOrPrefetch] == null); 3641 dart.assert(this[_futureOrPrefetch] == null);
3686 this[_futureOrPrefetch] = new AsyncError(error, stackTrace); 3642 this[_futureOrPrefetch] = new AsyncError(error, stackTrace);
3687 this[_state] = _StreamIteratorImpl[_STATE_EXTRA_ERROR]; 3643 this[_state] = _StreamIteratorImpl._STATE_EXTRA_ERROR;
3688 } 3644 }
3689 [_onDone]() { 3645 [_onDone]() {
3690 if (this[_state] == _StreamIteratorImpl[_STATE_MOVING]) { 3646 if (this[_state] == _StreamIteratorImpl._STATE_MOVING) {
3691 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool)); 3647 let hasNext = dart.as(this[_futureOrPrefetch], _Future$(core.bool));
3692 this[_clear](); 3648 this[_clear]();
3693 hasNext[_complete](false); 3649 hasNext[_complete](false);
3694 return; 3650 return;
3695 } 3651 }
3696 this[_subscription].pause(); 3652 this[_subscription].pause();
3697 this[_futureOrPrefetch] = null; 3653 this[_futureOrPrefetch] = null;
3698 this[_state] = _StreamIteratorImpl[_STATE_EXTRA_DONE]; 3654 this[_state] = _StreamIteratorImpl._STATE_EXTRA_DONE;
3699 } 3655 }
3700 } 3656 }
3701 _StreamIteratorImpl[dart.implements] = () => [StreamIterator$(T)]; 3657 _StreamIteratorImpl[dart.implements] = () => [StreamIterator$(T)];
3702 _StreamIteratorImpl._STATE_FOUND = 0; 3658 _StreamIteratorImpl._STATE_FOUND = 0;
3703 _StreamIteratorImpl._STATE_DONE = 1; 3659 _StreamIteratorImpl._STATE_DONE = 1;
3704 _StreamIteratorImpl._STATE_MOVING = 2; 3660 _StreamIteratorImpl._STATE_MOVING = 2;
3705 _StreamIteratorImpl._STATE_EXTRA_DATA = 3; 3661 _StreamIteratorImpl._STATE_EXTRA_DATA = 3;
3706 _StreamIteratorImpl._STATE_EXTRA_ERROR = 4; 3662 _StreamIteratorImpl._STATE_EXTRA_ERROR = 4;
3707 _StreamIteratorImpl._STATE_EXTRA_DONE = 5; 3663 _StreamIteratorImpl._STATE_EXTRA_DONE = 5;
3708 return _StreamIteratorImpl; 3664 return _StreamIteratorImpl;
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
4076 } 4032 }
4077 } 4033 }
4078 return _SkipWhileStream; 4034 return _SkipWhileStream;
4079 }); 4035 });
4080 let _SkipWhileStream = _SkipWhileStream$(); 4036 let _SkipWhileStream = _SkipWhileStream$();
4081 let _Equality$ = dart.generic(function(T) { 4037 let _Equality$ = dart.generic(function(T) {
4082 let _Equality = dart.typedef('_Equality', () => dart.functionType(core.bool, [T, T])); 4038 let _Equality = dart.typedef('_Equality', () => dart.functionType(core.bool, [T, T]));
4083 return _Equality; 4039 return _Equality;
4084 }); 4040 });
4085 let _Equality = _Equality$(); 4041 let _Equality = _Equality$();
4086 let _SENTINEL = Symbol('_SENTINEL');
4087 let _equals = Symbol('_equals'); 4042 let _equals = Symbol('_equals');
4088 let _DistinctStream$ = dart.generic(function(T) { 4043 let _DistinctStream$ = dart.generic(function(T) {
4089 class _DistinctStream extends _ForwardingStream$(T, T) { 4044 class _DistinctStream extends _ForwardingStream$(T, T) {
4090 _DistinctStream(source, equals) { 4045 _DistinctStream(source, equals) {
4091 this[_previous] = _DistinctStream[_SENTINEL]; 4046 this[_previous] = _DistinctStream._SENTINEL;
4092 this[_equals] = equals; 4047 this[_equals] = equals;
4093 super._ForwardingStream(source); 4048 super._ForwardingStream(source);
4094 } 4049 }
4095 [_handleData](inputEvent, sink) { 4050 [_handleData](inputEvent, sink) {
4096 if (core.identical(this[_previous], _DistinctStream[_SENTINEL])) { 4051 if (core.identical(this[_previous], _DistinctStream._SENTINEL)) {
4097 this[_previous] = inputEvent; 4052 this[_previous] = inputEvent;
4098 return sink[_add](inputEvent); 4053 return sink[_add](inputEvent);
4099 } else { 4054 } else {
4100 let isEqual = null; 4055 let isEqual = null;
4101 try { 4056 try {
4102 if (this[_equals] == null) { 4057 if (this[_equals] == null) {
4103 isEqual = dart.equals(this[_previous], inputEvent); 4058 isEqual = dart.equals(this[_previous], inputEvent);
4104 } else { 4059 } else {
4105 isEqual = this[_equals](dart.as(this[_previous], T), inputEvent); 4060 isEqual = this[_equals](dart.as(this[_previous], T), inputEvent);
4106 } 4061 }
4107 } catch (e) { 4062 } catch (e) {
4108 let s = dart.stackTrace(e); 4063 let s = dart.stackTrace(e);
4109 _addErrorWithReplacement(sink, e, s); 4064 _addErrorWithReplacement(sink, e, s);
4110 return null; 4065 return null;
4111 } 4066 }
4112 4067
4113 if (!dart.notNull(isEqual)) { 4068 if (!dart.notNull(isEqual)) {
4114 sink[_add](inputEvent); 4069 sink[_add](inputEvent);
4115 this[_previous] = inputEvent; 4070 this[_previous] = inputEvent;
4116 } 4071 }
4117 } 4072 }
4118 } 4073 }
4119 } 4074 }
4120 dart.defineLazyProperties(_DistinctStream, { 4075 dart.defineLazyProperties(_DistinctStream, {
4121 get [_SENTINEL]() { 4076 get _SENTINEL() {
4122 return new core.Object(); 4077 return new core.Object();
4123 }, 4078 },
4124 set [_SENTINEL](_) {} 4079 set _SENTINEL(_) {}
4125 }); 4080 });
4126 return _DistinctStream; 4081 return _DistinctStream;
4127 }); 4082 });
4128 let _DistinctStream = _DistinctStream$(); 4083 let _DistinctStream = _DistinctStream$();
4129 let _EventSinkWrapper$ = dart.generic(function(T) { 4084 let _EventSinkWrapper$ = dart.generic(function(T) {
4130 class _EventSinkWrapper extends core.Object { 4085 class _EventSinkWrapper extends core.Object {
4131 _EventSinkWrapper(sink) { 4086 _EventSinkWrapper(sink) {
4132 this[_sink] = sink; 4087 this[_sink] = sink;
4133 } 4088 }
4134 add(data) { 4089 add(data) {
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
4307 return this[_handleError](error, stackTrace, this[_sink]); 4262 return this[_handleError](error, stackTrace, this[_sink]);
4308 } 4263 }
4309 close() { 4264 close() {
4310 return this[_handleDone](this[_sink]); 4265 return this[_handleDone](this[_sink]);
4311 } 4266 }
4312 } 4267 }
4313 _HandlerEventSink[dart.implements] = () => [EventSink$(S)]; 4268 _HandlerEventSink[dart.implements] = () => [EventSink$(S)];
4314 return _HandlerEventSink; 4269 return _HandlerEventSink;
4315 }); 4270 });
4316 let _HandlerEventSink = _HandlerEventSink$(); 4271 let _HandlerEventSink = _HandlerEventSink$();
4317 let _defaultHandleData = Symbol('_defaultHandleData');
4318 let _defaultHandleError = Symbol('_defaultHandleError');
4319 let _defaultHandleDone = Symbol('_defaultHandleDone');
4320 let _StreamHandlerTransformer$ = dart.generic(function(S, T) { 4272 let _StreamHandlerTransformer$ = dart.generic(function(S, T) {
4321 class _StreamHandlerTransformer extends _StreamSinkTransformer$(S, T) { 4273 class _StreamHandlerTransformer extends _StreamSinkTransformer$(S, T) {
4322 _StreamHandlerTransformer(opts) { 4274 _StreamHandlerTransformer(opts) {
4323 let handleData = opts && 'handleData' in opts ? opts.handleData : null; 4275 let handleData = opts && 'handleData' in opts ? opts.handleData : null;
4324 let handleError = opts && 'handleError' in opts ? opts.handleError : nul l; 4276 let handleError = opts && 'handleError' in opts ? opts.handleError : nul l;
4325 let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null; 4277 let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null;
4326 super._StreamSinkTransformer(dart.as(outputSink => { 4278 super._StreamSinkTransformer(dart.as(outputSink => {
4327 if (handleData == null) 4279 if (handleData == null)
4328 handleData = dart.as(_StreamHandlerTransformer[_defaultHandleData], __CastType29); 4280 handleData = dart.as(_StreamHandlerTransformer._defaultHandleData, _ _CastType29);
4329 if (handleError == null) 4281 if (handleError == null)
4330 handleError = dart.as(_StreamHandlerTransformer[_defaultHandleError] , __CastType32); 4282 handleError = dart.as(_StreamHandlerTransformer._defaultHandleError, __CastType32);
4331 if (handleDone == null) 4283 if (handleDone == null)
4332 handleDone = _StreamHandlerTransformer[_defaultHandleDone]; 4284 handleDone = _StreamHandlerTransformer._defaultHandleDone;
4333 return new (_HandlerEventSink$(S, T))(handleData, handleError, handleD one, outputSink); 4285 return new (_HandlerEventSink$(S, T))(handleData, handleError, handleD one, outputSink);
4334 }, _SinkMapper$(S, T))); 4286 }, _SinkMapper$(S, T)));
4335 } 4287 }
4336 bind(stream) { 4288 bind(stream) {
4337 return super.bind(stream); 4289 return super.bind(stream);
4338 } 4290 }
4339 static [_defaultHandleData](data, sink) { 4291 static _defaultHandleData(data, sink) {
4340 sink.add(data); 4292 sink.add(data);
4341 } 4293 }
4342 static [_defaultHandleError](error, stackTrace, sink) { 4294 static _defaultHandleError(error, stackTrace, sink) {
4343 sink.addError(error); 4295 sink.addError(error);
4344 } 4296 }
4345 static [_defaultHandleDone](sink) { 4297 static _defaultHandleDone(sink) {
4346 sink.close(); 4298 sink.close();
4347 } 4299 }
4348 } 4300 }
4349 return _StreamHandlerTransformer; 4301 return _StreamHandlerTransformer;
4350 }); 4302 });
4351 let _StreamHandlerTransformer = _StreamHandlerTransformer$(); 4303 let _StreamHandlerTransformer = _StreamHandlerTransformer$();
4352 let _SubscriptionTransformer$ = dart.generic(function(S, T) { 4304 let _SubscriptionTransformer$ = dart.generic(function(S, T) {
4353 let _SubscriptionTransformer = dart.typedef('_SubscriptionTransformer', () = > dart.functionType(StreamSubscription$(T), [Stream$(S), core.bool])); 4305 let _SubscriptionTransformer = dart.typedef('_SubscriptionTransformer', () = > dart.functionType(StreamSubscription$(T), [Stream$(S), core.bool]));
4354 return _SubscriptionTransformer; 4306 return _SubscriptionTransformer;
4355 }); 4307 });
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
4393 let __CastType29$ = dart.generic(function(S, T) { 4345 let __CastType29$ = dart.generic(function(S, T) {
4394 let __CastType29 = dart.typedef('__CastType29', () => dart.functionType(dart .void, [S, EventSink$(T)])); 4346 let __CastType29 = dart.typedef('__CastType29', () => dart.functionType(dart .void, [S, EventSink$(T)]));
4395 return __CastType29; 4347 return __CastType29;
4396 }); 4348 });
4397 let __CastType29 = __CastType29$(); 4349 let __CastType29 = __CastType29$();
4398 let __CastType32$ = dart.generic(function(T) { 4350 let __CastType32$ = dart.generic(function(T) {
4399 let __CastType32 = dart.typedef('__CastType32', () => dart.functionType(dart .void, [core.Object, core.StackTrace, EventSink$(T)])); 4351 let __CastType32 = dart.typedef('__CastType32', () => dart.functionType(dart .void, [core.Object, core.StackTrace, EventSink$(T)]));
4400 return __CastType32; 4352 return __CastType32;
4401 }); 4353 });
4402 let __CastType32 = __CastType32$(); 4354 let __CastType32 = __CastType32$();
4403 let _createPeriodicTimer = Symbol('_createPeriodicTimer');
4404 class Timer extends core.Object { 4355 class Timer extends core.Object {
4405 Timer(duration, callback) { 4356 Timer(duration, callback) {
4406 if (dart.equals(Zone.current, Zone.ROOT)) { 4357 if (dart.equals(Zone.current, Zone.ROOT)) {
4407 return Zone.current.createTimer(duration, callback); 4358 return Zone.current.createTimer(duration, callback);
4408 } 4359 }
4409 return Zone.current.createTimer(duration, Zone.current.bindCallback(callba ck, {runGuarded: true})); 4360 return Zone.current.createTimer(duration, Zone.current.bindCallback(callba ck, {runGuarded: true}));
4410 } 4361 }
4411 periodic(duration, callback) { 4362 periodic(duration, callback) {
4412 if (dart.equals(Zone.current, Zone.ROOT)) { 4363 if (dart.equals(Zone.current, Zone.ROOT)) {
4413 return Zone.current.createPeriodicTimer(duration, callback); 4364 return Zone.current.createPeriodicTimer(duration, callback);
4414 } 4365 }
4415 return Zone.current.createPeriodicTimer(duration, dart.as(Zone.current.bin dUnaryCallback(callback, {runGuarded: true}), __CastType36)); 4366 return Zone.current.createPeriodicTimer(duration, dart.as(Zone.current.bin dUnaryCallback(callback, {runGuarded: true}), __CastType36));
4416 } 4367 }
4417 static run(callback) { 4368 static run(callback) {
4418 new Timer(core.Duration.ZERO, callback); 4369 new Timer(core.Duration.ZERO, callback);
4419 } 4370 }
4420 static [_createTimer](duration, callback) { 4371 static _createTimer(duration, callback) {
4421 let milliseconds = duration.inMilliseconds; 4372 let milliseconds = duration.inMilliseconds;
4422 if (dart.notNull(milliseconds) < 0) 4373 if (dart.notNull(milliseconds) < 0)
4423 milliseconds = 0; 4374 milliseconds = 0;
4424 return new _isolate_helper.TimerImpl(milliseconds, callback); 4375 return new _isolate_helper.TimerImpl(milliseconds, callback);
4425 } 4376 }
4426 static [_createPeriodicTimer](duration, callback) { 4377 static _createPeriodicTimer(duration, callback) {
4427 let milliseconds = duration.inMilliseconds; 4378 let milliseconds = duration.inMilliseconds;
4428 if (dart.notNull(milliseconds) < 0) 4379 if (dart.notNull(milliseconds) < 0)
4429 milliseconds = 0; 4380 milliseconds = 0;
4430 return new _isolate_helper.TimerImpl.periodic(milliseconds, callback); 4381 return new _isolate_helper.TimerImpl.periodic(milliseconds, callback);
4431 } 4382 }
4432 } 4383 }
4433 dart.defineNamedConstructor(Timer, 'periodic'); 4384 dart.defineNamedConstructor(Timer, 'periodic');
4434 let __CastType36 = dart.typedef('__CastType36', () => dart.functionType(dart.v oid, [Timer])); 4385 let __CastType36 = dart.typedef('__CastType36', () => dart.functionType(dart.v oid, [Timer]));
4435 let ZoneCallback = dart.typedef('ZoneCallback', () => dart.functionType(dart.d ynamic, [])); 4386 let ZoneCallback = dart.typedef('ZoneCallback', () => dart.functionType(dart.d ynamic, []));
4436 let ZoneUnaryCallback = dart.typedef('ZoneUnaryCallback', () => dart.functionT ype(dart.dynamic, [dart.dynamic])); 4387 let ZoneUnaryCallback = dart.typedef('ZoneUnaryCallback', () => dart.functionT ype(dart.dynamic, [dart.dynamic]));
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
4501 this.errorCallback = errorCallback; 4452 this.errorCallback = errorCallback;
4502 this.scheduleMicrotask = scheduleMicrotask; 4453 this.scheduleMicrotask = scheduleMicrotask;
4503 this.createTimer = createTimer; 4454 this.createTimer = createTimer;
4504 this.createPeriodicTimer = createPeriodicTimer; 4455 this.createPeriodicTimer = createPeriodicTimer;
4505 this.print = print; 4456 this.print = print;
4506 this.fork = fork; 4457 this.fork = fork;
4507 } 4458 }
4508 } 4459 }
4509 _ZoneSpecification[dart.implements] = () => [ZoneSpecification]; 4460 _ZoneSpecification[dart.implements] = () => [ZoneSpecification];
4510 class ZoneDelegate extends core.Object {} 4461 class ZoneDelegate extends core.Object {}
4511 let _ = Symbol('_');
4512 class Zone extends core.Object { 4462 class Zone extends core.Object {
4513 [_]() { 4463 _() {
4514 } 4464 }
4515 static get current() { 4465 static get current() {
4516 return Zone[_current]; 4466 return Zone._current;
4517 } 4467 }
4518 static [_enter](zone) { 4468 static _enter(zone) {
4519 dart.assert(zone != null); 4469 dart.assert(zone != null);
4520 dart.assert(!dart.notNull(core.identical(zone, Zone[_current]))); 4470 dart.assert(!dart.notNull(core.identical(zone, Zone._current)));
4521 let previous = Zone[_current]; 4471 let previous = Zone._current;
4522 Zone[_current] = zone; 4472 Zone._current = zone;
4523 return previous; 4473 return previous;
4524 } 4474 }
4525 static [_leave](previous) { 4475 static _leave(previous) {
4526 dart.assert(previous != null); 4476 dart.assert(previous != null);
4527 Zone[_current] = previous; 4477 Zone._current = previous;
4528 } 4478 }
4529 } 4479 }
4530 dart.defineNamedConstructor(Zone, _); 4480 dart.defineNamedConstructor(Zone, '_');
4531 Zone.ROOT = _ROOT_ZONE; 4481 Zone.ROOT = _ROOT_ZONE;
4532 Zone._current = _ROOT_ZONE; 4482 Zone._current = _ROOT_ZONE;
4533 let _delegate = Symbol('_delegate'); 4483 let _delegate = Symbol('_delegate');
4534 // Function _parentDelegate: (_Zone) → ZoneDelegate 4484 // Function _parentDelegate: (_Zone) → ZoneDelegate
4535 function _parentDelegate(zone) { 4485 function _parentDelegate(zone) {
4536 if (zone.parent == null) 4486 if (zone.parent == null)
4537 return null; 4487 return null;
4538 return zone.parent[_delegate]; 4488 return zone.parent[_delegate];
4539 } 4489 }
4540 let _delegationTarget = Symbol('_delegationTarget'); 4490 let _delegationTarget = Symbol('_delegationTarget');
4541 let _handleUncaughtError = Symbol('_handleUncaughtError'); 4491 let _handleUncaughtError = Symbol('_handleUncaughtError');
4542 let _run = Symbol('_run'); 4492 let _run = Symbol('_run');
4543 let _runUnary = Symbol('_runUnary'); 4493 let _runUnary = Symbol('_runUnary');
4544 let _runBinary = Symbol('_runBinary'); 4494 let _runBinary = Symbol('_runBinary');
4545 let _registerCallback = Symbol('_registerCallback'); 4495 let _registerCallback = Symbol('_registerCallback');
4546 let _registerUnaryCallback = Symbol('_registerUnaryCallback'); 4496 let _registerUnaryCallback = Symbol('_registerUnaryCallback');
4547 let _registerBinaryCallback = Symbol('_registerBinaryCallback'); 4497 let _registerBinaryCallback = Symbol('_registerBinaryCallback');
4548 let _errorCallback = Symbol('_errorCallback'); 4498 let _errorCallback = Symbol('_errorCallback');
4549 let _scheduleMicrotask = Symbol('_scheduleMicrotask'); 4499 let _scheduleMicrotask = Symbol('_scheduleMicrotask');
4500 let _createTimer = Symbol('_createTimer');
4501 let _createPeriodicTimer = Symbol('_createPeriodicTimer');
4550 let _print = Symbol('_print'); 4502 let _print = Symbol('_print');
4551 let _fork = Symbol('_fork'); 4503 let _fork = Symbol('_fork');
4552 class _ZoneDelegate extends core.Object { 4504 class _ZoneDelegate extends core.Object {
4553 _ZoneDelegate(delegationTarget) { 4505 _ZoneDelegate(delegationTarget) {
4554 this[_delegationTarget] = delegationTarget; 4506 this[_delegationTarget] = delegationTarget;
4555 } 4507 }
4556 handleUncaughtError(zone, error, stackTrace) { 4508 handleUncaughtError(zone, error, stackTrace) {
4557 let implementation = this[_delegationTarget][_handleUncaughtError]; 4509 let implementation = this[_delegationTarget][_handleUncaughtError];
4558 let implZone = implementation.zone; 4510 let implZone = implementation.zone;
4559 return dart.dcall(implementation.function, implZone, _parentDelegate(implZ one), zone, error, stackTrace); 4511 return dart.dcall(implementation.function, implZone, _parentDelegate(implZ one), zone, error, stackTrace);
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
4827 } 4779 }
4828 } 4780 }
4829 // Function _rootHandleUncaughtError: (Zone, ZoneDelegate, Zone, dynamic, Stac kTrace) → void 4781 // Function _rootHandleUncaughtError: (Zone, ZoneDelegate, Zone, dynamic, Stac kTrace) → void
4830 function _rootHandleUncaughtError(self, parent, zone, error, stackTrace) { 4782 function _rootHandleUncaughtError(self, parent, zone, error, stackTrace) {
4831 _schedulePriorityAsyncCallback(() => { 4783 _schedulePriorityAsyncCallback(() => {
4832 throw new _UncaughtAsyncError(error, stackTrace); 4784 throw new _UncaughtAsyncError(error, stackTrace);
4833 }); 4785 });
4834 } 4786 }
4835 // Function _rootRun: (Zone, ZoneDelegate, Zone, () → dynamic) → dynamic 4787 // Function _rootRun: (Zone, ZoneDelegate, Zone, () → dynamic) → dynamic
4836 function _rootRun(self, parent, zone, f) { 4788 function _rootRun(self, parent, zone, f) {
4837 if (dart.equals(Zone[_current], zone)) 4789 if (dart.equals(Zone._current, zone))
4838 return f(); 4790 return f();
4839 let old = Zone[_enter](zone); 4791 let old = Zone._enter(zone);
4840 try { 4792 try {
4841 return f(); 4793 return f();
4842 } finally { 4794 } finally {
4843 Zone[_leave](old); 4795 Zone._leave(old);
4844 } 4796 }
4845 } 4797 }
4846 // Function _rootRunUnary: (Zone, ZoneDelegate, Zone, (dynamic) → dynamic, dyn amic) → dynamic 4798 // Function _rootRunUnary: (Zone, ZoneDelegate, Zone, (dynamic) → dynamic, dyn amic) → dynamic
4847 function _rootRunUnary(self, parent, zone, f, arg) { 4799 function _rootRunUnary(self, parent, zone, f, arg) {
4848 if (dart.equals(Zone[_current], zone)) 4800 if (dart.equals(Zone._current, zone))
4849 return dart.dcall(f, arg); 4801 return dart.dcall(f, arg);
4850 let old = Zone[_enter](zone); 4802 let old = Zone._enter(zone);
4851 try { 4803 try {
4852 return dart.dcall(f, arg); 4804 return dart.dcall(f, arg);
4853 } finally { 4805 } finally {
4854 Zone[_leave](old); 4806 Zone._leave(old);
4855 } 4807 }
4856 } 4808 }
4857 // Function _rootRunBinary: (Zone, ZoneDelegate, Zone, (dynamic, dynamic) → dy namic, dynamic, dynamic) → dynamic 4809 // Function _rootRunBinary: (Zone, ZoneDelegate, Zone, (dynamic, dynamic) → dy namic, dynamic, dynamic) → dynamic
4858 function _rootRunBinary(self, parent, zone, f, arg1, arg2) { 4810 function _rootRunBinary(self, parent, zone, f, arg1, arg2) {
4859 if (dart.equals(Zone[_current], zone)) 4811 if (dart.equals(Zone._current, zone))
4860 return dart.dcall(f, arg1, arg2); 4812 return dart.dcall(f, arg1, arg2);
4861 let old = Zone[_enter](zone); 4813 let old = Zone._enter(zone);
4862 try { 4814 try {
4863 return dart.dcall(f, arg1, arg2); 4815 return dart.dcall(f, arg1, arg2);
4864 } finally { 4816 } finally {
4865 Zone[_leave](old); 4817 Zone._leave(old);
4866 } 4818 }
4867 } 4819 }
4868 // Function _rootRegisterCallback: (Zone, ZoneDelegate, Zone, () → dynamic) → ZoneCallback 4820 // Function _rootRegisterCallback: (Zone, ZoneDelegate, Zone, () → dynamic) → ZoneCallback
4869 function _rootRegisterCallback(self, parent, zone, f) { 4821 function _rootRegisterCallback(self, parent, zone, f) {
4870 return f; 4822 return f;
4871 } 4823 }
4872 // Function _rootRegisterUnaryCallback: (Zone, ZoneDelegate, Zone, (dynamic) → dynamic) → ZoneUnaryCallback 4824 // Function _rootRegisterUnaryCallback: (Zone, ZoneDelegate, Zone, (dynamic) → dynamic) → ZoneUnaryCallback
4873 function _rootRegisterUnaryCallback(self, parent, zone, f) { 4825 function _rootRegisterUnaryCallback(self, parent, zone, f) {
4874 return f; 4826 return f;
4875 } 4827 }
(...skipping 11 matching lines...) Expand all
4887 let hasErrorHandler = !dart.notNull(_ROOT_ZONE.inSameErrorZone(zone)); 4839 let hasErrorHandler = !dart.notNull(_ROOT_ZONE.inSameErrorZone(zone));
4888 f = zone.bindCallback(f, {runGuarded: hasErrorHandler}); 4840 f = zone.bindCallback(f, {runGuarded: hasErrorHandler});
4889 } 4841 }
4890 _scheduleAsyncCallback(f); 4842 _scheduleAsyncCallback(f);
4891 } 4843 }
4892 // Function _rootCreateTimer: (Zone, ZoneDelegate, Zone, Duration, () → void) → Timer 4844 // Function _rootCreateTimer: (Zone, ZoneDelegate, Zone, Duration, () → void) → Timer
4893 function _rootCreateTimer(self, parent, zone, duration, callback) { 4845 function _rootCreateTimer(self, parent, zone, duration, callback) {
4894 if (!dart.notNull(core.identical(_ROOT_ZONE, zone))) { 4846 if (!dart.notNull(core.identical(_ROOT_ZONE, zone))) {
4895 callback = zone.bindCallback(callback); 4847 callback = zone.bindCallback(callback);
4896 } 4848 }
4897 return Timer[_createTimer](duration, callback); 4849 return Timer._createTimer(duration, callback);
4898 } 4850 }
4899 // Function _rootCreatePeriodicTimer: (Zone, ZoneDelegate, Zone, Duration, (Ti mer) → void) → Timer 4851 // Function _rootCreatePeriodicTimer: (Zone, ZoneDelegate, Zone, Duration, (Ti mer) → void) → Timer
4900 function _rootCreatePeriodicTimer(self, parent, zone, duration, callback) { 4852 function _rootCreatePeriodicTimer(self, parent, zone, duration, callback) {
4901 if (!dart.notNull(core.identical(_ROOT_ZONE, zone))) { 4853 if (!dart.notNull(core.identical(_ROOT_ZONE, zone))) {
4902 callback = dart.as(zone.bindUnaryCallback(callback), __CastType118); 4854 callback = dart.as(zone.bindUnaryCallback(callback), __CastType118);
4903 } 4855 }
4904 return Timer[_createPeriodicTimer](duration, callback); 4856 return Timer._createPeriodicTimer(duration, callback);
4905 } 4857 }
4906 // Function _rootPrint: (Zone, ZoneDelegate, Zone, String) → void 4858 // Function _rootPrint: (Zone, ZoneDelegate, Zone, String) → void
4907 function _rootPrint(self, parent, zone, line) { 4859 function _rootPrint(self, parent, zone, line) {
4908 _internal.printToConsole(line); 4860 _internal.printToConsole(line);
4909 } 4861 }
4910 // Function _printToZone: (String) → void 4862 // Function _printToZone: (String) → void
4911 function _printToZone(line) { 4863 function _printToZone(line) {
4912 Zone.current.print(line); 4864 Zone.current.print(line);
4913 } 4865 }
4914 // Function _rootFork: (Zone, ZoneDelegate, Zone, ZoneSpecification, Map<dynam ic, dynamic>) → Zone 4866 // Function _rootFork: (Zone, ZoneDelegate, Zone, ZoneSpecification, Map<dynam ic, dynamic>) → Zone
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
4966 return _rootCreatePeriodicTimer; 4918 return _rootCreatePeriodicTimer;
4967 } 4919 }
4968 get print() { 4920 get print() {
4969 return _rootPrint; 4921 return _rootPrint;
4970 } 4922 }
4971 get fork() { 4923 get fork() {
4972 return _rootFork; 4924 return _rootFork;
4973 } 4925 }
4974 } 4926 }
4975 _RootZoneSpecification[dart.implements] = () => [ZoneSpecification]; 4927 _RootZoneSpecification[dart.implements] = () => [ZoneSpecification];
4976 let _rootMap = Symbol('_rootMap');
4977 let _rootDelegate = Symbol('_rootDelegate');
4978 class _RootZone extends _Zone { 4928 class _RootZone extends _Zone {
4979 _RootZone() { 4929 _RootZone() {
4980 super._Zone(); 4930 super._Zone();
4981 } 4931 }
4982 get [_run]() { 4932 get [_run]() {
4983 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootRun)); 4933 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootRun));
4984 } 4934 }
4985 get [_runUnary]() { 4935 get [_runUnary]() {
4986 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootRunUnary)); 4936 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootRunUnary));
4987 } 4937 }
(...skipping 27 matching lines...) Expand all
5015 get [_fork]() { 4965 get [_fork]() {
5016 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootFork)); 4966 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootFork));
5017 } 4967 }
5018 get [_handleUncaughtError]() { 4968 get [_handleUncaughtError]() {
5019 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootHandleUncaughtError)) ; 4969 return dart.const(new _ZoneFunction(_ROOT_ZONE, _rootHandleUncaughtError)) ;
5020 } 4970 }
5021 get parent() { 4971 get parent() {
5022 return null; 4972 return null;
5023 } 4973 }
5024 get [_map]() { 4974 get [_map]() {
5025 return _RootZone[_rootMap]; 4975 return _RootZone._rootMap;
5026 } 4976 }
5027 get [_delegate]() { 4977 get [_delegate]() {
5028 if (_RootZone[_rootDelegate] != null) 4978 if (_RootZone._rootDelegate != null)
5029 return _RootZone[_rootDelegate]; 4979 return _RootZone._rootDelegate;
5030 return _RootZone[_rootDelegate] = new _ZoneDelegate(this); 4980 return _RootZone._rootDelegate = new _ZoneDelegate(this);
5031 } 4981 }
5032 get errorZone() { 4982 get errorZone() {
5033 return this; 4983 return this;
5034 } 4984 }
5035 runGuarded(f) { 4985 runGuarded(f) {
5036 try { 4986 try {
5037 if (core.identical(_ROOT_ZONE, Zone[_current])) { 4987 if (core.identical(_ROOT_ZONE, Zone._current)) {
5038 return f(); 4988 return f();
5039 } 4989 }
5040 return _rootRun(null, null, this, f); 4990 return _rootRun(null, null, this, f);
5041 } catch (e) { 4991 } catch (e) {
5042 let s = dart.stackTrace(e); 4992 let s = dart.stackTrace(e);
5043 return this.handleUncaughtError(e, s); 4993 return this.handleUncaughtError(e, s);
5044 } 4994 }
5045 4995
5046 } 4996 }
5047 runUnaryGuarded(f, arg) { 4997 runUnaryGuarded(f, arg) {
5048 try { 4998 try {
5049 if (core.identical(_ROOT_ZONE, Zone[_current])) { 4999 if (core.identical(_ROOT_ZONE, Zone._current)) {
5050 return dart.dcall(f, arg); 5000 return dart.dcall(f, arg);
5051 } 5001 }
5052 return _rootRunUnary(null, null, this, f, arg); 5002 return _rootRunUnary(null, null, this, f, arg);
5053 } catch (e) { 5003 } catch (e) {
5054 let s = dart.stackTrace(e); 5004 let s = dart.stackTrace(e);
5055 return this.handleUncaughtError(e, s); 5005 return this.handleUncaughtError(e, s);
5056 } 5006 }
5057 5007
5058 } 5008 }
5059 runBinaryGuarded(f, arg1, arg2) { 5009 runBinaryGuarded(f, arg1, arg2) {
5060 try { 5010 try {
5061 if (core.identical(_ROOT_ZONE, Zone[_current])) { 5011 if (core.identical(_ROOT_ZONE, Zone._current)) {
5062 return dart.dcall(f, arg1, arg2); 5012 return dart.dcall(f, arg1, arg2);
5063 } 5013 }
5064 return _rootRunBinary(null, null, this, f, arg1, arg2); 5014 return _rootRunBinary(null, null, this, f, arg1, arg2);
5065 } catch (e) { 5015 } catch (e) {
5066 let s = dart.stackTrace(e); 5016 let s = dart.stackTrace(e);
5067 return this.handleUncaughtError(e, s); 5017 return this.handleUncaughtError(e, s);
5068 } 5018 }
5069 5019
5070 } 5020 }
5071 bindCallback(f, opts) { 5021 bindCallback(f, opts) {
(...skipping 25 matching lines...) Expand all
5097 } 5047 }
5098 handleUncaughtError(error, stackTrace) { 5048 handleUncaughtError(error, stackTrace) {
5099 return _rootHandleUncaughtError(null, null, this, error, stackTrace); 5049 return _rootHandleUncaughtError(null, null, this, error, stackTrace);
5100 } 5050 }
5101 fork(opts) { 5051 fork(opts) {
5102 let specification = opts && 'specification' in opts ? opts.specification : null; 5052 let specification = opts && 'specification' in opts ? opts.specification : null;
5103 let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null; 5053 let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
5104 return _rootFork(null, null, this, specification, zoneValues); 5054 return _rootFork(null, null, this, specification, zoneValues);
5105 } 5055 }
5106 run(f) { 5056 run(f) {
5107 if (core.identical(Zone[_current], _ROOT_ZONE)) 5057 if (core.identical(Zone._current, _ROOT_ZONE))
5108 return f(); 5058 return f();
5109 return _rootRun(null, null, this, f); 5059 return _rootRun(null, null, this, f);
5110 } 5060 }
5111 runUnary(f, arg) { 5061 runUnary(f, arg) {
5112 if (core.identical(Zone[_current], _ROOT_ZONE)) 5062 if (core.identical(Zone._current, _ROOT_ZONE))
5113 return dart.dcall(f, arg); 5063 return dart.dcall(f, arg);
5114 return _rootRunUnary(null, null, this, f, arg); 5064 return _rootRunUnary(null, null, this, f, arg);
5115 } 5065 }
5116 runBinary(f, arg1, arg2) { 5066 runBinary(f, arg1, arg2) {
5117 if (core.identical(Zone[_current], _ROOT_ZONE)) 5067 if (core.identical(Zone._current, _ROOT_ZONE))
5118 return dart.dcall(f, arg1, arg2); 5068 return dart.dcall(f, arg1, arg2);
5119 return _rootRunBinary(null, null, this, f, arg1, arg2); 5069 return _rootRunBinary(null, null, this, f, arg1, arg2);
5120 } 5070 }
5121 registerCallback(f) { 5071 registerCallback(f) {
5122 return f; 5072 return f;
5123 } 5073 }
5124 registerUnaryCallback(f) { 5074 registerUnaryCallback(f) {
5125 return f; 5075 return f;
5126 } 5076 }
5127 registerBinaryCallback(f) { 5077 registerBinaryCallback(f) {
5128 return f; 5078 return f;
5129 } 5079 }
5130 errorCallback(error, stackTrace) { 5080 errorCallback(error, stackTrace) {
5131 return null; 5081 return null;
5132 } 5082 }
5133 scheduleMicrotask(f) { 5083 scheduleMicrotask(f) {
5134 _rootScheduleMicrotask(null, null, this, f); 5084 _rootScheduleMicrotask(null, null, this, f);
5135 } 5085 }
5136 createTimer(duration, f) { 5086 createTimer(duration, f) {
5137 return Timer[_createTimer](duration, f); 5087 return Timer._createTimer(duration, f);
5138 } 5088 }
5139 createPeriodicTimer(duration, f) { 5089 createPeriodicTimer(duration, f) {
5140 return Timer[_createPeriodicTimer](duration, f); 5090 return Timer._createPeriodicTimer(duration, f);
5141 } 5091 }
5142 print(line) { 5092 print(line) {
5143 _internal.printToConsole(line); 5093 _internal.printToConsole(line);
5144 } 5094 }
5145 } 5095 }
5146 _RootZone._rootDelegate = null; 5096 _RootZone._rootDelegate = null;
5147 dart.defineLazyProperties(_RootZone, { 5097 dart.defineLazyProperties(_RootZone, {
5148 get [_rootMap]() { 5098 get _rootMap() {
5149 return new collection.HashMap(); 5099 return new collection.HashMap();
5150 }, 5100 },
5151 set [_rootMap](_) {} 5101 set _rootMap(_) {}
5152 }); 5102 });
5153 let _ROOT_ZONE = dart.const(new _RootZone()); 5103 let _ROOT_ZONE = dart.const(new _RootZone());
5154 // Function runZoned: (() → dynamic, {zoneValues: Map<dynamic, dynamic>, zoneS pecification: ZoneSpecification, onError: Function}) → dynamic 5104 // Function runZoned: (() → dynamic, {zoneValues: Map<dynamic, dynamic>, zoneS pecification: ZoneSpecification, onError: Function}) → dynamic
5155 function runZoned(body, opts) { 5105 function runZoned(body, opts) {
5156 let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null; 5106 let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
5157 let zoneSpecification = opts && 'zoneSpecification' in opts ? opts.zoneSpeci fication : null; 5107 let zoneSpecification = opts && 'zoneSpecification' in opts ? opts.zoneSpeci fication : null;
5158 let onError = opts && 'onError' in opts ? opts.onError : null; 5108 let onError = opts && 'onError' in opts ? opts.onError : null;
5159 let errorHandler = null; 5109 let errorHandler = null;
5160 if (onError != null) { 5110 if (onError != null) {
5161 errorHandler = (self, parent, zone, error, stackTrace) => { 5111 errorHandler = (self, parent, zone, error, stackTrace) => {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
5250 exports.ScheduleMicrotaskHandler = ScheduleMicrotaskHandler; 5200 exports.ScheduleMicrotaskHandler = ScheduleMicrotaskHandler;
5251 exports.CreateTimerHandler = CreateTimerHandler; 5201 exports.CreateTimerHandler = CreateTimerHandler;
5252 exports.CreatePeriodicTimerHandler = CreatePeriodicTimerHandler; 5202 exports.CreatePeriodicTimerHandler = CreatePeriodicTimerHandler;
5253 exports.PrintHandler = PrintHandler; 5203 exports.PrintHandler = PrintHandler;
5254 exports.ForkHandler = ForkHandler; 5204 exports.ForkHandler = ForkHandler;
5255 exports.ZoneSpecification = ZoneSpecification; 5205 exports.ZoneSpecification = ZoneSpecification;
5256 exports.ZoneDelegate = ZoneDelegate; 5206 exports.ZoneDelegate = ZoneDelegate;
5257 exports.Zone = Zone; 5207 exports.Zone = Zone;
5258 exports.runZoned = runZoned; 5208 exports.runZoned = runZoned;
5259 })(async || (async = {})); 5209 })(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