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

Side by Side Diff: sdk/lib/io/string_transformer.dart

Issue 2767943002: Revert "Fix some strong mode issues in the core libraries." (Closed)
Patch Set: Created 3 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
« no previous file with comments | « sdk/lib/io/file_impl.dart ('k') | no next file » | 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.io; 5 part of dart.io;
6 6
7 /// The current system encoding. 7 /// The current system encoding.
8 /// 8 ///
9 /// This us used for converting from bytes to/from String when 9 /// This us used for converting from bytes to/from String when
10 /// communicating on stdin, stdout and stderr. 10 /// communicating on stdin, stdout and stderr.
(...skipping 24 matching lines...) Expand all
35 35
36 Converter<List<int>, String> get decoder { 36 Converter<List<int>, String> get decoder {
37 if (Platform.operatingSystem == "windows") { 37 if (Platform.operatingSystem == "windows") {
38 return const _WindowsCodePageDecoder(); 38 return const _WindowsCodePageDecoder();
39 } else { 39 } else {
40 return const Utf8Decoder(); 40 return const Utf8Decoder();
41 } 41 }
42 } 42 }
43 } 43 }
44 44
45 class _WindowsCodePageEncoder extends Converter<String, List<int>> { 45 class _WindowsCodePageEncoder extends Converter<String, List<int>>
46 implements ChunkedConverter<String, List<int>, String, List<int>> {
46 const _WindowsCodePageEncoder(); 47 const _WindowsCodePageEncoder();
47 48
48 List<int> convert(String input) { 49 List<int> convert(String input) {
49 List<int> encoded = _encodeString(input); 50 List<int> encoded = _encodeString(input);
50 if (encoded == null) { 51 if (encoded == null) {
51 throw new FormatException("Invalid character for encoding"); 52 throw new FormatException("Invalid character for encoding");
52 } 53 }
53 return encoded; 54 return encoded;
54 } 55 }
55 56
(...skipping 29 matching lines...) Expand all
85 86
86 void addSlice(String source, int start, int end, bool isLast) { 87 void addSlice(String source, int start, int end, bool isLast) {
87 if (start != 0 || end != source.length) { 88 if (start != 0 || end != source.length) {
88 source = source.substring(start, end); 89 source = source.substring(start, end);
89 } 90 }
90 add(source); 91 add(source);
91 if (isLast) close(); 92 if (isLast) close();
92 } 93 }
93 } 94 }
94 95
95 class _WindowsCodePageDecoder extends Converter<List<int>, String> { 96 class _WindowsCodePageDecoder extends Converter<List<int>, String>
97 implements ChunkedConverter<List<int>, String, List<int>, String> {
96 const _WindowsCodePageDecoder(); 98 const _WindowsCodePageDecoder();
97 99
98 String convert(List<int> input) { 100 String convert(List<int> input) {
99 return _decodeBytes(input); 101 return _decodeBytes(input);
100 } 102 }
101 103
102 /** 104 /**
103 * Starts a chunked conversion. 105 * Starts a chunked conversion.
104 */ 106 */
105 ByteConversionSink startChunkedConversion(Sink<String> sink) { 107 ByteConversionSink startChunkedConversion(Sink<String> sink) {
(...skipping 12 matching lines...) Expand all
118 _WindowsCodePageDecoderSink(this._sink); 120 _WindowsCodePageDecoderSink(this._sink);
119 121
120 void close() { 122 void close() {
121 _sink.close(); 123 _sink.close();
122 } 124 }
123 125
124 void add(List<int> bytes) { 126 void add(List<int> bytes) {
125 _sink.add(_WindowsCodePageDecoder._decodeBytes(bytes)); 127 _sink.add(_WindowsCodePageDecoder._decodeBytes(bytes));
126 } 128 }
127 } 129 }
OLDNEW
« no previous file with comments | « sdk/lib/io/file_impl.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698