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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/mirrors/util.dart

Issue 14173003: Remove Collection, Collections and clean up List/Set/Queue implementations of retain/remove. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library util; 5 library util;
6 6
7 /** 7 /**
8 * An abstract map implementation. This class can be used as a superclass for 8 * An abstract map implementation. This class can be used as a superclass for
9 * implementing maps, requiring only the further implementation of the 9 * implementing maps, requiring only the further implementation of the
10 * [:operator []:], [:forEach:] and [:length:] methods to provide a fully 10 * [:operator []:], [:forEach:] and [:length:] methods to provide a fully
(...skipping 27 matching lines...) Expand all
38 bool containsValue(V value) { 38 bool containsValue(V value) {
39 var found = false; 39 var found = false;
40 forEach((_,v) { 40 forEach((_,v) {
41 if (v == value) { 41 if (v == value) {
42 found = true; 42 found = true;
43 } 43 }
44 }); 44 });
45 return found; 45 return found;
46 } 46 }
47 47
48 Collection<K> get keys { 48 Iterable<K> get keys {
49 var keys = <K>[]; 49 var keys = <K>[];
50 forEach((k,_) => keys.add(k)); 50 forEach((k,_) => keys.add(k));
51 return keys; 51 return keys;
52 } 52 }
53 53
54 Collection<V> get values { 54 Iterable<V> get values {
55 var values = <V>[]; 55 var values = <V>[];
56 forEach((_,v) => values.add(v)); 56 forEach((_,v) => values.add(v));
57 return values; 57 return values;
58 } 58 }
59 59
60 bool get isEmpty => length == 0; 60 bool get isEmpty => length == 0;
61 V putIfAbsent(K key, V ifAbsent()) { 61 V putIfAbsent(K key, V ifAbsent()) {
62 if (!containsKey(key)) { 62 if (!containsKey(key)) {
63 V value = this[key]; 63 V value = this[key];
64 this[key] = ifAbsent(); 64 this[key] = ifAbsent();
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 164
165 void forEach(void f(K key, Vout value)) { 165 void forEach(void f(K key, Vout value)) {
166 _map.forEach((K k, Vin v) { 166 _map.forEach((K k, Vin v) {
167 var value = _filter(v); 167 var value = _filter(v);
168 if (value != null) { 168 if (value != null) {
169 f(k, value); 169 f(k, value);
170 } 170 }
171 }); 171 });
172 } 172 }
173 } 173 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698