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

Side by Side Diff: sdk/lib/convert/string_conversion.dart

Issue 1908943004: Fix void foo(..) => ... to use { } instead. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Upload Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sdk/lib/convert/html_escape.dart ('k') | sdk/lib/io/bytes_builder.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart.convert; 5 part of dart.convert;
6 6
7 /** 7 /**
8 * This class provides an interface for converters to 8 * This class provides an interface for converters to
9 * efficiently transmit String data. 9 * efficiently transmit String data.
10 * 10 *
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 /** 86 /**
87 * This class wraps an existing [StringSink] and invokes a 87 * This class wraps an existing [StringSink] and invokes a
88 * closure when [close] is invoked. 88 * closure when [close] is invoked.
89 */ 89 */
90 class _ClosableStringSink implements ClosableStringSink { 90 class _ClosableStringSink implements ClosableStringSink {
91 final _StringSinkCloseCallback _callback; 91 final _StringSinkCloseCallback _callback;
92 final StringSink _sink; 92 final StringSink _sink;
93 93
94 _ClosableStringSink(this._sink, this._callback); 94 _ClosableStringSink(this._sink, this._callback);
95 95
96 void close() => _callback(); 96 void close() { _callback(); }
97 97
98 void writeCharCode(int charCode) => _sink.writeCharCode(charCode); 98 void writeCharCode(int charCode) { _sink.writeCharCode(charCode); }
99 void write(Object o) => _sink.write(o); 99 void write(Object o) { _sink.write(o); }
100 void writeln([Object o = ""]) => _sink.writeln(o); 100 void writeln([Object o = ""]) { _sink.writeln(o); }
101 void writeAll(Iterable objects, [String separator = ""]) 101 void writeAll(Iterable objects, [String separator = ""]) {
102 => _sink.writeAll(objects, separator); 102 _sink.writeAll(objects, separator);
103 }
103 } 104 }
104 105
105 /** 106 /**
106 * This class wraps an existing [StringConversionSink] and exposes a 107 * This class wraps an existing [StringConversionSink] and exposes a
107 * [ClosableStringSink] interface. The wrapped sink only needs to implement 108 * [ClosableStringSink] interface. The wrapped sink only needs to implement
108 * `add` and `close`. 109 * `add` and `close`.
109 */ 110 */
110 // TODO(floitsch): make this class public? 111 // TODO(floitsch): make this class public?
111 class _StringConversionSinkAsStringSinkAdapter implements ClosableStringSink { 112 class _StringConversionSinkAsStringSinkAdapter implements ClosableStringSink {
112 static const _MIN_STRING_SIZE = 16; 113 static const _MIN_STRING_SIZE = 16;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 171
171 /** 172 /**
172 * This class provides a mixin for converters that need to accept String 173 * This class provides a mixin for converters that need to accept String
173 * inputs. 174 * inputs.
174 */ 175 */
175 abstract class StringConversionSinkMixin implements StringConversionSink { 176 abstract class StringConversionSinkMixin implements StringConversionSink {
176 177
177 void addSlice(String str, int start, int end, bool isLast); 178 void addSlice(String str, int start, int end, bool isLast);
178 void close(); 179 void close();
179 180
180 void add(String str) => addSlice(str, 0, str.length, false); 181 void add(String str) { addSlice(str, 0, str.length, false); }
181 182
182 ByteConversionSink asUtf8Sink(bool allowMalformed) { 183 ByteConversionSink asUtf8Sink(bool allowMalformed) {
183 return new _Utf8ConversionSink(this, allowMalformed); 184 return new _Utf8ConversionSink(this, allowMalformed);
184 } 185 }
185 186
186 ClosableStringSink asStringSink() { 187 ClosableStringSink asStringSink() {
187 return new _StringConversionSinkAsStringSinkAdapter(this); 188 return new _StringConversionSinkAsStringSinkAdapter(this);
188 } 189 }
189 } 190 }
190 191
191 /** 192 /**
192 * This class is a [StringConversionSink] that wraps a [StringSink]. 193 * This class is a [StringConversionSink] that wraps a [StringSink].
193 */ 194 */
194 class _StringSinkConversionSink extends StringConversionSinkBase { 195 class _StringSinkConversionSink extends StringConversionSinkBase {
195 StringSink _stringSink; 196 StringSink _stringSink;
196 _StringSinkConversionSink(StringSink this._stringSink); 197 _StringSinkConversionSink(StringSink this._stringSink);
197 198
198 void close() {} 199 void close() {}
199 void addSlice(String str, int start, int end, bool isLast) { 200 void addSlice(String str, int start, int end, bool isLast) {
200 if (start != 0 || end != str.length) { 201 if (start != 0 || end != str.length) {
201 for (int i = start; i < end; i++) { 202 for (int i = start; i < end; i++) {
202 _stringSink.writeCharCode(str.codeUnitAt(i)); 203 _stringSink.writeCharCode(str.codeUnitAt(i));
203 } 204 }
204 } else { 205 } else {
205 _stringSink.write(str); 206 _stringSink.write(str);
206 } 207 }
207 if (isLast) close(); 208 if (isLast) close();
208 } 209 }
209 210
210 void add(String str) => _stringSink.write(str); 211 void add(String str) { _stringSink.write(str); }
211 212
212 ByteConversionSink asUtf8Sink(bool allowMalformed) { 213 ByteConversionSink asUtf8Sink(bool allowMalformed) {
213 return new _Utf8StringSinkAdapter(this, _stringSink, allowMalformed); 214 return new _Utf8StringSinkAdapter(this, _stringSink, allowMalformed);
214 } 215 }
215 216
216 ClosableStringSink asStringSink() { 217 ClosableStringSink asStringSink() {
217 return new ClosableStringSink.fromStringSink(_stringSink, this.close); 218 return new ClosableStringSink.fromStringSink(_stringSink, this.close);
218 } 219 }
219 } 220 }
220 221
(...skipping 25 matching lines...) Expand all
246 * [StringConversionSink]. 247 * [StringConversionSink].
247 * 248 *
248 * All additional methods of the [StringConversionSink] (compared to the 249 * All additional methods of the [StringConversionSink] (compared to the
249 * ChunkedConversionSink) are redirected to the `add` method. 250 * ChunkedConversionSink) are redirected to the `add` method.
250 */ 251 */
251 class _StringAdapterSink extends StringConversionSinkBase { 252 class _StringAdapterSink extends StringConversionSinkBase {
252 final Sink<String> _sink; 253 final Sink<String> _sink;
253 254
254 _StringAdapterSink(this._sink); 255 _StringAdapterSink(this._sink);
255 256
256 void add(String str) => _sink.add(str); 257 void add(String str) { _sink.add(str); }
257 258
258 void addSlice(String str, int start, int end, bool isLast) { 259 void addSlice(String str, int start, int end, bool isLast) {
259 if (start == 0 && end == str.length) { 260 if (start == 0 && end == str.length) {
260 add(str); 261 add(str);
261 } else { 262 } else {
262 add(str.substring(start, end)); 263 add(str.substring(start, end));
263 } 264 }
264 if (isLast) close(); 265 if (isLast) close();
265 } 266 }
266 267
267 void close() => _sink.close(); 268 void close() { _sink.close(); }
268 } 269 }
269 270
270 271
271 /** 272 /**
272 * Decodes UTF-8 code units and stores them in a [StringSink]. 273 * Decodes UTF-8 code units and stores them in a [StringSink].
273 */ 274 */
274 class _Utf8StringSinkAdapter extends ByteConversionSink { 275 class _Utf8StringSinkAdapter extends ByteConversionSink {
275 final _Utf8Decoder _decoder; 276 final _Utf8Decoder _decoder;
276 final Sink _sink; 277 final Sink _sink;
277 278
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 _decoder.convert(chunk, startIndex, endIndex); 334 _decoder.convert(chunk, startIndex, endIndex);
334 if (_buffer.isNotEmpty) { 335 if (_buffer.isNotEmpty) {
335 String accumulated = _buffer.toString(); 336 String accumulated = _buffer.toString();
336 _chunkedSink.addSlice(accumulated, 0, accumulated.length, isLast); 337 _chunkedSink.addSlice(accumulated, 0, accumulated.length, isLast);
337 _buffer.clear(); 338 _buffer.clear();
338 return; 339 return;
339 } 340 }
340 if (isLast) close(); 341 if (isLast) close();
341 } 342 }
342 } 343 }
OLDNEW
« no previous file with comments | « sdk/lib/convert/html_escape.dart ('k') | sdk/lib/io/bytes_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698