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

Side by Side Diff: test/dart_codegen/expect/async/stream_pipe.dart

Issue 1038583004: Rationalize coercions (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Rebase Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 part of dart.async; 1 part of dart.async;
2 _runUserCode(userCode(), onSuccess(value), onError(error, StackTrace stackTrace )) { 2 _runUserCode(userCode(), onSuccess(value), onError(error, StackTrace stackTrace )) {
3 try { 3 try {
4 onSuccess(userCode()); 4 onSuccess(userCode());
5 } 5 }
6 catch (e, s) { 6 catch (e, s) {
7 AsyncError replacement = Zone.current.errorCallback(e, s); 7 AsyncError replacement = Zone.current.errorCallback(e, s);
8 if (replacement == null) { 8 if (replacement == null) {
9 onError(e, s); 9 onError(e, s);
10 } 10 }
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } 95 }
96 void _handleError(error, StackTrace stackTrace) { 96 void _handleError(error, StackTrace stackTrace) {
97 _stream._handleError(error, stackTrace, this); 97 _stream._handleError(error, stackTrace, this);
98 } 98 }
99 void _handleDone() { 99 void _handleDone() {
100 _stream._handleDone(this); 100 _stream._handleDone(this);
101 } 101 }
102 } 102 }
103 typedef bool _Predicate<T>(T value); 103 typedef bool _Predicate<T>(T value);
104 void _addErrorWithReplacement(_EventSink sink, error, stackTrace) { 104 void _addErrorWithReplacement(_EventSink sink, error, stackTrace) {
105 AsyncError replacement = Zone.current.errorCallback(error, DEVC$RT.cast(stackTra ce, dynamic, StackTrace, "CastGeneral", """line 191, column 62 of dart:async/str eam_pipe.dart: """, stackTrace is StackTrace, true)); 105 AsyncError replacement = Zone.current.errorCallback(error, DEVC$RT.cast(stackTra ce, dynamic, StackTrace, "DynamicCast", """line 191, column 62 of dart:async/str eam_pipe.dart: """, stackTrace is StackTrace, true));
106 if (replacement != null) { 106 if (replacement != null) {
107 error = _nonNullError(replacement.error); 107 error = _nonNullError(replacement.error);
108 stackTrace = replacement.stackTrace; 108 stackTrace = replacement.stackTrace;
109 } 109 }
110 sink._addError(error, DEVC$RT.cast(stackTrace, dynamic, StackTrace, "CastGenera l", """line 196, column 25 of dart:async/stream_pipe.dart: """, stackTrace is St ackTrace, true)); 110 sink._addError(error, DEVC$RT.cast(stackTrace, dynamic, StackTrace, "DynamicCas t", """line 196, column 25 of dart:async/stream_pipe.dart: """, stackTrace is St ackTrace, true));
111 } 111 }
112 class _WhereStream<T> extends _ForwardingStream<T, T> {final _Predicate<T> _tes t; 112 class _WhereStream<T> extends _ForwardingStream<T, T> {final _Predicate<T> _tes t;
113 _WhereStream(Stream<T> source, bool test(T value)) : _test = test, super(source ); 113 _WhereStream(Stream<T> source, bool test(T value)) : _test = test, super(source );
114 void _handleData(T inputEvent, _EventSink<T> sink) { 114 void _handleData(T inputEvent, _EventSink<T> sink) {
115 bool satisfies; 115 bool satisfies;
116 try { 116 try {
117 satisfies = _test(inputEvent); 117 satisfies = _test(inputEvent);
118 } 118 }
119 catch (e, s) { 119 catch (e, s) {
120 _addErrorWithReplacement(sink, e, s); 120 _addErrorWithReplacement(sink, e, s);
121 return;} 121 return;}
122 if (satisfies) { 122 if (satisfies) {
123 sink._add(inputEvent); 123 sink._add(inputEvent);
124 } 124 }
125 } 125 }
126 } 126 }
127 typedef T _Transformation<S, T>(S value); 127 typedef T _Transformation<S, T>(S value);
128 class _MapStream<S, T> extends _ForwardingStream<S, T> {final _Transformation _ transform; 128 class _MapStream<S, T> extends _ForwardingStream<S, T> {final _Transformation _ transform;
129 _MapStream(Stream<S> source, T transform(S event)) : this._transform = transfor m, super(source); 129 _MapStream(Stream<S> source, T transform(S event)) : this._transform = transfor m, super(source);
130 void _handleData(S inputEvent, _EventSink<T> sink) { 130 void _handleData(S inputEvent, _EventSink<T> sink) {
131 T outputEvent; 131 T outputEvent;
132 try { 132 try {
133 outputEvent = ((__x104) => DEVC$RT.cast(__x104, dynamic, T, "CastGeneral", """li ne 235, column 21 of dart:async/stream_pipe.dart: """, __x104 is T, false))(_tra nsform(inputEvent)); 133 outputEvent = ((__x104) => DEVC$RT.cast(__x104, dynamic, T, "CompositeCast", """ line 235, column 21 of dart:async/stream_pipe.dart: """, __x104 is T, false))(_t ransform(inputEvent));
134 } 134 }
135 catch (e, s) { 135 catch (e, s) {
136 _addErrorWithReplacement(sink, e, s); 136 _addErrorWithReplacement(sink, e, s);
137 return;} 137 return;}
138 sink._add(outputEvent); 138 sink._add(outputEvent);
139 } 139 }
140 } 140 }
141 class _ExpandStream<S, T> extends _ForwardingStream<S, T> {final _Transformatio n<S, Iterable<T>> _expand; 141 class _ExpandStream<S, T> extends _ForwardingStream<S, T> {final _Transformatio n<S, Iterable<T>> _expand;
142 _ExpandStream(Stream<S> source, Iterable<T> expand(S event)) : this._expand = e xpand, super(source); 142 _ExpandStream(Stream<S> source, Iterable<T> expand(S event)) : this._expand = e xpand, super(source);
143 void _handleData(S inputEvent, _EventSink<T> sink) { 143 void _handleData(S inputEvent, _EventSink<T> sink) {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 _previous = inputEvent; 258 _previous = inputEvent;
259 return sink._add(inputEvent); 259 return sink._add(inputEvent);
260 } 260 }
261 else { 261 else {
262 bool isEqual; 262 bool isEqual;
263 try { 263 try {
264 if (_equals == null) { 264 if (_equals == null) {
265 isEqual = (_previous == inputEvent); 265 isEqual = (_previous == inputEvent);
266 } 266 }
267 else { 267 else {
268 isEqual = _equals(DEVC$RT.cast(_previous, Object, T, "CastGeneral", """line 426, column 29 of dart:async/stream_pipe.dart: """, _previous is T, false), inputEve nt); 268 isEqual = _equals(DEVC$RT.cast(_previous, Object, T, "CompositeCast", """line 42 6, column 29 of dart:async/stream_pipe.dart: """, _previous is T, false), inputE vent);
269 } 269 }
270 } 270 }
271 catch (e, s) { 271 catch (e, s) {
272 _addErrorWithReplacement(sink, e, s); 272 _addErrorWithReplacement(sink, e, s);
273 return null; 273 return null;
274 } 274 }
275 if (!isEqual) { 275 if (!isEqual) {
276 sink._add(inputEvent); 276 sink._add(inputEvent);
277 _previous = inputEvent; 277 _previous = inputEvent;
278 } 278 }
279 } 279 }
280 } 280 }
281 } 281 }
OLDNEW
« no previous file with comments | « test/dart_codegen/expect/async/stream_impl.dart ('k') | test/dart_codegen/expect/async/stream_transformers.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698