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