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

Side by Side Diff: sdk/lib/core/set.dart

Issue 11363081: Fix identical test in hash-set. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 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 | « no previous file | 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) 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 /** 5 /**
6 * This class is the public interface of a set. A set is a collection 6 * This class is the public interface of a set. A set is a collection
7 * without duplicates. 7 * without duplicates.
8 */ 8 */
9 abstract class Set<E> extends Collection<E> { 9 abstract class Set<E> extends Collection<E> {
10 factory Set() => new _HashSetImpl<E>(); 10 factory Set() => new _HashSetImpl<E>();
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 202
203 // TODO(4504458): Replace set_ with set. 203 // TODO(4504458): Replace set_ with set.
204 _HashSetIterator(_HashSetImpl<E> set_) 204 _HashSetIterator(_HashSetImpl<E> set_)
205 : _nextValidIndex = -1, 205 : _nextValidIndex = -1,
206 _entries = set_._backingMap._keys { 206 _entries = set_._backingMap._keys {
207 _advance(); 207 _advance();
208 } 208 }
209 209
210 bool get hasNext { 210 bool get hasNext {
211 if (_nextValidIndex >= _entries.length) return false; 211 if (_nextValidIndex >= _entries.length) return false;
212 if (_entries[_nextValidIndex] == _HashMapImpl._DELETED_KEY) { 212 if (identical(_entries[_nextValidIndex], _HashMapImpl._DELETED_KEY)) {
213 // This happens in case the set was modified in the meantime. 213 // This happens in case the set was modified in the meantime.
214 // A modification on the set may make this iterator misbehave, 214 // A modification on the set may make this iterator misbehave,
215 // but we should never return the sentinel. 215 // but we should never return the sentinel.
216 _advance(); 216 _advance();
217 } 217 }
218 return _nextValidIndex < _entries.length; 218 return _nextValidIndex < _entries.length;
219 } 219 }
220 220
221 E next() { 221 E next() {
222 if (!hasNext) { 222 if (!hasNext) {
(...skipping 15 matching lines...) Expand all
238 } 238 }
239 239
240 // The entries in the set. May contain null or the sentinel value. 240 // The entries in the set. May contain null or the sentinel value.
241 List<E> _entries; 241 List<E> _entries;
242 242
243 // The next valid index in [_entries] or the length of [entries_]. 243 // The next valid index in [_entries] or the length of [entries_].
244 // If it is the length of [_entries], calling [hasNext] on the 244 // If it is the length of [_entries], calling [hasNext] on the
245 // iterator will return false. 245 // iterator will return false.
246 int _nextValidIndex; 246 int _nextValidIndex;
247 } 247 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698