OLD | NEW |
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.utf; | 5 part of utf; |
6 | 6 |
7 abstract class _StringDecoder | 7 abstract class _StringDecoder |
8 extends StreamEventTransformer<List<int>, String> { | 8 extends StreamEventTransformer<List<int>, String> { |
9 List<int> _carry; | 9 List<int> _carry; |
10 List<int> _buffer; | 10 List<int> _buffer; |
11 int _replacementChar; | 11 int _replacementChar; |
12 | 12 |
13 _StringDecoder(int this._replacementChar); | 13 _StringDecoder(int this._replacementChar); |
14 | 14 |
15 void handleData(List<int> bytes, EventSink<String> sink) { | 15 void handleData(List<int> bytes, EventSink<String> sink) { |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 } | 189 } |
190 for (int i = additionalBytes; i > 0; i--) { | 190 for (int i = additionalBytes; i > 0; i--) { |
191 // 10xxxxxx (xxxxxx is next 6 bits from the top). | 191 // 10xxxxxx (xxxxxx is next 6 bits from the top). |
192 bytes.add(((charCode >> (6 * (i - 1))) & 0x3F) | 0x80); | 192 bytes.add(((charCode >> (6 * (i - 1))) & 0x3F) | 0x80); |
193 } | 193 } |
194 pos += additionalBytes + 1; | 194 pos += additionalBytes + 1; |
195 } | 195 } |
196 return bytes; | 196 return bytes; |
197 } | 197 } |
198 } | 198 } |
OLD | NEW |