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

Side by Side Diff: runtime/bin/string_stream.dart

Issue 8400038: Use strict equality when comparing with null, especially when null is a default value. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « runtime/bin/socket_stream.dart ('k') | runtime/lib/string.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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 // Utility class which can deliver bytes one by one from a number of 5 // Utility class which can deliver bytes one by one from a number of
6 // buffers added. 6 // buffers added.
7 class _BufferList { 7 class _BufferList {
8 _BufferList() : _index = 0, _length = 0, _buffers = new Queue(); 8 _BufferList() : _index = 0, _length = 0, _buffers = new Queue();
9 9
10 void add(List<int> buffer) { 10 void add(List<int> buffer) {
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 _bufferList.next(); 164 _bufferList.next();
165 } 165 }
166 _result.addCharCode(value); 166 _result.addCharCode(value);
167 return true; 167 return true;
168 } 168 }
169 } 169 }
170 170
171 171
172 class _StringInputStream implements StringInputStream { 172 class _StringInputStream implements StringInputStream {
173 _StringInputStream(InputStream this._input, [String this._encoding]) { 173 _StringInputStream(InputStream this._input, [String this._encoding]) {
174 if (_encoding == null) { 174 if (_encoding === null) {
175 _encoding = "UTF-8"; 175 _encoding = "UTF-8";
176 } 176 }
177 if (_encoding == "UTF-8") { 177 if (_encoding == "UTF-8") {
178 _decoder = new _UTF8Decoder(); 178 _decoder = new _UTF8Decoder();
179 } else if (_encoding == "ISO-8859-1") { 179 } else if (_encoding == "ISO-8859-1") {
180 _decoder = new _Latin1Decoder(); 180 _decoder = new _Latin1Decoder();
181 } else if (_encoding == "ASCII") { 181 } else if (_encoding == "ASCII") {
182 _decoder = new _AsciiDecoder(); 182 _decoder = new _AsciiDecoder();
183 } else { 183 } else {
184 throw new StreamException("Unsupported encoding $_encoding"); 184 throw new StreamException("Unsupported encoding $_encoding");
(...skipping 21 matching lines...) Expand all
206 } 206 }
207 207
208 String readLine() { 208 String readLine() {
209 // Get line from the buffer if possible. 209 // Get line from the buffer if possible.
210 if (_buffer != null) { 210 if (_buffer != null) {
211 var result = _readLineFromBuffer(); 211 var result = _readLineFromBuffer();
212 if (result != null) return result; 212 if (result != null) return result;
213 } 213 }
214 // Try to fill more data into the buffer and read a line. 214 // Try to fill more data into the buffer and read a line.
215 if (_fillBuffer()) { 215 if (_fillBuffer()) {
216 if (_eof && _buffer == null) return null; 216 if (_eof && _buffer === null) return null;
217 return _readLineFromBuffer(); 217 return _readLineFromBuffer();
218 } 218 }
219 return null; 219 return null;
220 } 220 }
221 221
222 String get encoding() => _encoding; 222 String get encoding() => _encoding;
223 223
224 bool get closed() => _closed; 224 bool get closed() => _closed;
225 225
226 void set dataHandler(void callback()) { 226 void set dataHandler(void callback()) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 // Fill decoded data into the buffer. Returns true if more data was 292 // Fill decoded data into the buffer. Returns true if more data was
293 // added or end of file was reached. 293 // added or end of file was reached.
294 bool _fillBuffer() { 294 bool _fillBuffer() {
295 if (_eof) return false; 295 if (_eof) return false;
296 if (_buffer != null && _bufferLineStart == _buffer.length) { 296 if (_buffer != null && _bufferLineStart == _buffer.length) {
297 _buffer = null; 297 _buffer = null;
298 _bufferLineStart = null; 298 _bufferLineStart = null;
299 } 299 }
300 _readData(); 300 _readData();
301 var decodedString = _decoder.decoded; 301 var decodedString = _decoder.decoded;
302 if (decodedString == null && _closed) { 302 if (decodedString === null && _closed) {
303 _eof = true; 303 _eof = true;
304 return true; 304 return true;
305 } 305 }
306 if (_buffer == null) { 306 if (_buffer === null) {
307 _buffer = decodedString; 307 _buffer = decodedString;
308 if (_buffer != null) { 308 if (_buffer != null) {
309 _bufferLineStart = 0; 309 _bufferLineStart = 0;
310 return true; 310 return true;
311 } 311 }
312 } else if (decodedString != null) { 312 } else if (decodedString != null) {
313 _buffer = _buffer.substring(_bufferLineStart) + decodedString; 313 _buffer = _buffer.substring(_bufferLineStart) + decodedString;
314 _bufferLineStart = 0; 314 _bufferLineStart = 0;
315 return true; 315 return true;
316 } 316 }
317 return false; 317 return false;
318 } 318 }
319 319
320 InputStream _input; 320 InputStream _input;
321 String _encoding; 321 String _encoding;
322 _Decoder _decoder; 322 _Decoder _decoder;
323 String _buffer; // String can be buffered here if readLine is used. 323 String _buffer; // String can be buffered here if readLine is used.
324 int _bufferLineStart; // Current offset into _buffer if any. 324 int _bufferLineStart; // Current offset into _buffer if any.
325 bool _closed = false; 325 bool _closed = false;
326 bool _eof = false; // Has all data been read from the decoder? 326 bool _eof = false; // Has all data been read from the decoder?
327 var _clientDataHandler; 327 var _clientDataHandler;
328 var _clientCloseHandler; 328 var _clientCloseHandler;
329 } 329 }
OLDNEW
« no previous file with comments | « runtime/bin/socket_stream.dart ('k') | runtime/lib/string.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698