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

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

Issue 1010893004: Allow S->T <: dynamic->T (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Rebase and address comments 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 class _EventSinkWrapper<T> implements EventSink<T> {_EventSink _sink; 2 class _EventSinkWrapper<T> implements EventSink<T> {_EventSink _sink;
3 _EventSinkWrapper(this._sink); 3 _EventSinkWrapper(this._sink);
4 void add(T data) { 4 void add(T data) {
5 _sink._add(data); 5 _sink._add(data);
6 } 6 }
7 void addError(error, [StackTrace stackTrace]) { 7 void addError(error, [StackTrace stackTrace]) {
8 _sink._addError(error, stackTrace); 8 _sink._addError(error, stackTrace);
9 } 9 }
10 void close() { 10 void close() {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 Stream<T> bind(Stream<S> stream) => new _BoundSinkStream<S, T>(stream, _sinkMap per); 88 Stream<T> bind(Stream<S> stream) => new _BoundSinkStream<S, T>(stream, _sinkMap per);
89 } 89 }
90 class _BoundSinkStream<S, T> extends Stream<T> {final _SinkMapper<S, T> _sinkMa pper; 90 class _BoundSinkStream<S, T> extends Stream<T> {final _SinkMapper<S, T> _sinkMa pper;
91 final Stream<S> _stream; 91 final Stream<S> _stream;
92 bool get isBroadcast => _stream.isBroadcast; 92 bool get isBroadcast => _stream.isBroadcast;
93 _BoundSinkStream(this._stream, this._sinkMapper); 93 _BoundSinkStream(this._stream, this._sinkMapper);
94 StreamSubscription<T> listen(void onData(T event), { 94 StreamSubscription<T> listen(void onData(T event), {
95 Function onError, void onDone(), bool cancelOnError} 95 Function onError, void onDone(), bool cancelOnError}
96 ) { 96 ) {
97 cancelOnError = identical(true, cancelOnError); 97 cancelOnError = identical(true, cancelOnError);
98 StreamSubscription<T> subscription = ((__x144) => DEVC$RT.cast(__x144, DEVC$RT. type((_SinkTransformerStreamSubscription<dynamic, dynamic> _) { 98 StreamSubscription<T> subscription = ((__x105) => DEVC$RT.cast(__x105, DEVC$RT. type((_SinkTransformerStreamSubscription<dynamic, dynamic> _) {
99 } 99 }
100 ), DEVC$RT.type((StreamSubscription<T> _) { 100 ), DEVC$RT.type((StreamSubscription<T> _) {
101 } 101 }
102 ), "CastExact", """line 186, column 42 of dart:async/stream_transformers.dart: " "", __x144 is StreamSubscription<T>, false))(new _SinkTransformerStreamSubscript ion(_stream, DEVC$RT.wrap((EventSink<S> f(EventSink<T> __u145)) { 102 ), "CastExact", """line 186, column 42 of dart:async/stream_transformers.dart: " "", __x105 is StreamSubscription<T>, false))(new _SinkTransformerStreamSubscript ion(_stream, DEVC$RT.wrap((EventSink<S> f(EventSink<T> __u106)) {
103 EventSink<S> c(EventSink<T> x0) => f(DEVC$RT.cast(x0, DEVC$RT.type((EventSink<dy namic> _) { 103 EventSink<S> c(EventSink<T> x0) => f(DEVC$RT.cast(x0, DEVC$RT.type((EventSink<dy namic> _) {
104 } 104 }
105 ), DEVC$RT.type((EventSink<T> _) { 105 ), DEVC$RT.type((EventSink<T> _) {
106 } 106 }
107 ), "CastParam", """line 187, column 18 of dart:async/stream_transformers.dart: " "", x0 is EventSink<T>, false)); 107 ), "CastParam", """line 187, column 18 of dart:async/stream_transformers.dart: " "", x0 is EventSink<T>, false));
108 return f == null ? null : c; 108 return f == null ? null : c;
109 } 109 }
110 , _sinkMapper, DEVC$RT.type((__t148<T, S> _) { 110 , _sinkMapper, DEVC$RT.type((__t109<T, S> _) {
111 } 111 }
112 ), __t146, "Wrap", """line 187, column 18 of dart:async/stream_transformers.dart : """, _sinkMapper is __t146), DEVC$RT.wrap((void f(T __u150)) { 112 ), __t107, "Wrap", """line 187, column 18 of dart:async/stream_transformers.dart : """, _sinkMapper is __t107), onData, onError, onDone, cancelOnError));
113 void c(T x0) => f(DEVC$RT.cast(x0, dynamic, T, "CastParam", """line 187, column 31 of dart:async/stream_transformers.dart: """, x0 is T, false));
114 return f == null ? null : c;
115 }
116 , onData, DEVC$RT.type((__t153<T> _) {
117 }
118 ), __t151, "Wrap", """line 187, column 31 of dart:async/stream_transformers.dart : """, onData is __t151), onError, onDone, cancelOnError));
119 return subscription; 113 return subscription;
120 } 114 }
121 } 115 }
122 typedef void _TransformDataHandler<S, T>(S data, EventSink<T> sink); 116 typedef void _TransformDataHandler<S, T>(S data, EventSink<T> sink);
123 typedef void _TransformErrorHandler<T>(Object error, StackTrace stackTrace, Eve ntSink<T> sink); 117 typedef void _TransformErrorHandler<T>(Object error, StackTrace stackTrace, Eve ntSink<T> sink);
124 typedef void _TransformDoneHandler<T>(EventSink<T> sink); 118 typedef void _TransformDoneHandler<T>(EventSink<T> sink);
125 class _HandlerEventSink<S, T> implements EventSink<S> {final _TransformDataHand ler<S, T> _handleData; 119 class _HandlerEventSink<S, T> implements EventSink<S> {final _TransformDataHand ler<S, T> _handleData;
126 final _TransformErrorHandler<T> _handleError; 120 final _TransformErrorHandler<T> _handleError;
127 final _TransformDoneHandler<T> _handleDone; 121 final _TransformDoneHandler<T> _handleDone;
128 final EventSink<T> _sink; 122 final EventSink<T> _sink;
129 _HandlerEventSink(this._handleData, this._handleError, this._handleDone, this._ sink); 123 _HandlerEventSink(this._handleData, this._handleError, this._handleDone, this._ sink);
130 void add(S data) => _handleData(data, _sink); 124 void add(S data) => _handleData(data, _sink);
131 void addError(Object error, [StackTrace stackTrace]) => _handleError(error, sta ckTrace, _sink); 125 void addError(Object error, [StackTrace stackTrace]) => _handleError(error, sta ckTrace, _sink);
132 void close() => _handleDone(_sink); 126 void close() => _handleDone(_sink);
133 } 127 }
134 class _StreamHandlerTransformer<S, T> extends _StreamSinkTransformer<S, T> {_St reamHandlerTransformer({ 128 class _StreamHandlerTransformer<S, T> extends _StreamSinkTransformer<S, T> {_St reamHandlerTransformer({
135 void handleData(S data, EventSink<T> sink), void handleError(Object error, Stack Trace stackTrace, EventSink<T> sink), void handleDone(EventSink<T> sink)} 129 void handleData(S data, EventSink<T> sink), void handleError(Object error, Stack Trace stackTrace, EventSink<T> sink), void handleDone(EventSink<T> sink)}
136 ) : super(((__x161) => DEVC$RT.wrap((dynamic f(EventSink<T> __u156)) { 130 ) : super(((__x117) => DEVC$RT.wrap((dynamic f(EventSink<T> __u112)) {
137 dynamic c(EventSink<T> x0) => ((__x155) => DEVC$RT.cast(__x155, dynamic, DEVC$RT .type((EventSink<S> _) { 131 dynamic c(EventSink<T> x0) => ((__x111) => DEVC$RT.cast(__x111, dynamic, DEVC$RT .type((EventSink<S> _) {
138 } 132 }
139 ), "CastResult", """line 233, column 15 of dart:async/stream_transformers.dart: """, __x155 is EventSink<S>, false))(f(x0)); 133 ), "CastResult", """line 233, column 15 of dart:async/stream_transformers.dart: """, __x111 is EventSink<S>, false))(f(x0));
140 return f == null ? null : c; 134 return f == null ? null : c;
141 } 135 }
142 , __x161, DEVC$RT.type((__t159<T> _) { 136 , __x117, DEVC$RT.type((__t115<T> _) {
143 } 137 }
144 ), DEVC$RT.type((__t157<T, S> _) { 138 ), DEVC$RT.type((__t113<T, S> _) {
145 } 139 }
146 ), "WrapLiteral", """line 233, column 15 of dart:async/stream_transformers.dart: """, __x161 is __t157<T, S>))((EventSink<T> outputSink) { 140 ), "WrapLiteral", """line 233, column 15 of dart:async/stream_transformers.dart: """, __x117 is __t113<T, S>))((EventSink<T> outputSink) {
147 if (handleData == null) handleData = _defaultHandleData; 141 if (handleData == null) handleData = DEVC$RT.wrap((void f(dynamic __u118, EventS ink<dynamic> __u119)) {
148 if (handleError == null) handleError = _defaultHandleError; 142 void c(dynamic x0, EventSink<dynamic> x1) => f(x0, x1);
143 return f == null ? null : c;
144 }
145 , _defaultHandleData, __t123, DEVC$RT.type((__t120<S, T> _) {
146 }
147 ), "Wrap", """line 234, column 48 of dart:async/stream_transformers.dart: """, _ defaultHandleData is __t120<S, T>);
148 if (handleError == null) handleError = DEVC$RT.wrap((void f(dynamic __u126, Sta ckTrace __u127, EventSink<dynamic> __u128)) {
149 void c(dynamic x0, StackTrace x1, EventSink<dynamic> x2) => f(x0, x1, x2);
150 return f == null ? null : c;
151 }
152 , _defaultHandleError, __t133, DEVC$RT.type((__t129<T> _) {
153 }
154 ), "Wrap", """line 235, column 50 of dart:async/stream_transformers.dart: """, _ defaultHandleError is __t129<T>);
149 if (handleDone == null) handleDone = _defaultHandleDone; 155 if (handleDone == null) handleDone = _defaultHandleDone;
150 return new _HandlerEventSink<S, T>(handleData, handleError, handleDone, outputS ink); 156 return new _HandlerEventSink<S, T>(handleData, handleError, handleDone, outputS ink);
151 } 157 }
152 )); 158 ));
153 Stream<T> bind(Stream<S> stream) { 159 Stream<T> bind(Stream<S> stream) {
154 return super.bind(stream); 160 return super.bind(stream);
155 } 161 }
156 static void _defaultHandleData(var data, EventSink sink) { 162 static void _defaultHandleData(var data, EventSink sink) {
157 sink.add(data); 163 sink.add(data);
158 } 164 }
(...skipping 16 matching lines...) Expand all
175 Function onError, void onDone(), bool cancelOnError} 181 Function onError, void onDone(), bool cancelOnError}
176 ) { 182 ) {
177 cancelOnError = identical(true, cancelOnError); 183 cancelOnError = identical(true, cancelOnError);
178 StreamSubscription<T> result = _transformer(_stream, cancelOnError); 184 StreamSubscription<T> result = _transformer(_stream, cancelOnError);
179 result.onData(onData); 185 result.onData(onData);
180 result.onError(onError); 186 result.onError(onError);
181 result.onDone(onDone); 187 result.onDone(onDone);
182 return result; 188 return result;
183 } 189 }
184 } 190 }
185 typedef EventSink<dynamic> __t146(EventSink<dynamic> __u147); 191 typedef EventSink<dynamic> __t107(EventSink<dynamic> __u108);
186 typedef EventSink<S> __t148<T, S>(EventSink<T> __u149); 192 typedef EventSink<S> __t109<T, S>(EventSink<T> __u110);
187 typedef void __t151(dynamic __u152); 193 typedef EventSink<S> __t113<T, S>(EventSink<T> __u114);
188 typedef void __t153<T>(T __u154); 194 typedef dynamic __t115<T>(EventSink<T> __u116);
189 typedef EventSink<S> __t157<T, S>(EventSink<T> __u158); 195 typedef void __t120<S, T>(S __u121, EventSink<T> __u122);
190 typedef dynamic __t159<T>(EventSink<T> __u160); 196 typedef void __t123(dynamic __u124, EventSink<dynamic> __u125);
197 typedef void __t129<T>(Object __u130, StackTrace __u131, EventSink<T> __u132);
198 typedef void __t133(dynamic __u134, StackTrace __u135, EventSink<dynamic> __u13 6);
OLDNEW
« no previous file with comments | « test/dart_codegen/expect/async/stream_pipe.dart ('k') | test/dart_codegen/expect/async/timer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698