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

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

Issue 1974043002: Revert "Fix remaining strong-mode warnings and errors in dart:io." (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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 | « no previous file | sdk/lib/io/common.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.io; 5 part of dart.io;
6 6
7 /** 7 /**
8 * Builds a list of bytes, allowing bytes and lists of bytes to be added at the 8 * Builds a list of bytes, allowing bytes and lists of bytes to be added at the
9 * end. 9 * end.
10 * 10 *
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 x |= x >> 4; 146 x |= x >> 4;
147 x |= x >> 8; 147 x |= x >> 8;
148 x |= x >> 16; 148 x |= x >> 16;
149 return x + 1; 149 return x + 1;
150 } 150 }
151 } 151 }
152 152
153 153
154 class _BytesBuilder implements BytesBuilder { 154 class _BytesBuilder implements BytesBuilder {
155 int _length = 0; 155 int _length = 0;
156 final List<Uint8List> _chunks = []; 156 final _chunks = <List<int>>[];
157 157
158 void add(List<int> bytes) { 158 void add(List<int> bytes) {
159 Uint8List typedBytes; 159 if (bytes is! Uint8List) {
160 if (bytes is Uint8List) {
161 typedBytes = bytes;
162 } else {
163 bytes = new Uint8List.fromList(bytes); 160 bytes = new Uint8List.fromList(bytes);
164 } 161 }
165 _chunks.add(typedBytes); 162 _chunks.add(bytes);
166 _length += typedBytes.length; 163 _length += bytes.length;
167 } 164 }
168 165
169 void addByte(int byte) { add([byte]); } 166 void addByte(int byte) { add([byte]); }
170 167
171 List<int> takeBytes() { 168 List<int> takeBytes() {
172 if (_chunks.length == 0) return new Uint8List(0); 169 if (_chunks.length == 0) return new Uint8List(0);
173 if (_chunks.length == 1) { 170 if (_chunks.length == 1) {
174 var buffer = _chunks.single; 171 var buffer = _chunks.single;
175 clear(); 172 clear();
176 return buffer; 173 return buffer;
(...skipping 23 matching lines...) Expand all
200 197
201 bool get isEmpty => _length == 0; 198 bool get isEmpty => _length == 0;
202 199
203 bool get isNotEmpty => _length != 0; 200 bool get isNotEmpty => _length != 0;
204 201
205 void clear() { 202 void clear() {
206 _length = 0; 203 _length = 0;
207 _chunks.clear(); 204 _chunks.clear();
208 } 205 }
209 } 206 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/io/common.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698