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

Side by Side Diff: test/dart_codegen/expect/collection/maps.dart

Issue 1148283010: Remove dart backend (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
(Empty)
1 part of dart.collection;
2 abstract class MapBase<K, V> = Object with MapMixin<K, V>;
3 abstract class MapMixin<K, V> implements Map<K, V> {Iterable<K> get keys;
4 V operator [](Object key);
5 operator []=(K key, V value);
6 V remove(Object key);
7 void clear();
8 void forEach(void action(K key, V value)) {
9 for (K key in keys) {
10 action(key, this[key]);
11 }
12 }
13 void addAll(Map<K, V> other) {
14 for (K key in other.keys) {
15 this[key] = other[key];
16 }
17 }
18 bool containsValue(Object value) {
19 for (K key in keys) {
20 if (this[key] == value) return true;
21 }
22 return false;
23 }
24 V putIfAbsent(K key, V ifAbsent()) {
25 if (keys.contains(key)) {
26 return this[key];
27 }
28 return this[key] = ifAbsent();
29 }
30 bool containsKey(Object key) => keys.contains(key);
31 int get length => keys.length;
32 bool get isEmpty => keys.isEmpty;
33 bool get isNotEmpty => keys.isNotEmpty;
34 Iterable<V> get values => new _MapBaseValueIterable<V>(this);
35 String toString() => Maps.mapToString(this);
36 }
37 abstract class UnmodifiableMapBase<K, V> = MapBase<K, V> with _UnmodifiableMapM ixin<K, V>;
38 class _MapBaseValueIterable<V> extends IterableBase<V> implements EfficientLeng th {final Map _map;
39 _MapBaseValueIterable(this._map);
40 int get length => _map.length;
41 bool get isEmpty => _map.isEmpty;
42 bool get isNotEmpty => _map.isNotEmpty;
43 V get first => ((__x7) => DEVC$RT.cast(__x7, dynamic, V, "CompositeCast", """li ne 122, column 18 of dart:collection/maps.dart: """, __x7 is V, false))(_map[_ma p.keys.first]);
44 V get single => ((__x8) => DEVC$RT.cast(__x8, dynamic, V, "CompositeCast", """l ine 123, column 19 of dart:collection/maps.dart: """, __x8 is V, false))(_map[_m ap.keys.single]);
45 V get last => ((__x9) => DEVC$RT.cast(__x9, dynamic, V, "CompositeCast", """lin e 124, column 17 of dart:collection/maps.dart: """, __x9 is V, false))(_map[_map .keys.last]);
46 Iterator<V> get iterator => new _MapBaseValueIterator<V>(_map);
47 }
48 class _MapBaseValueIterator<V> implements Iterator<V> {final Iterator _keys;
49 final Map _map;
50 V _current = null;
51 _MapBaseValueIterator(Map map) : _map = map, _keys = map.keys.iterator;
52 bool moveNext() {
53 if (_keys.moveNext()) {
54 _current = ((__x10) => DEVC$RT.cast(__x10, dynamic, V, "CompositeCast", """line 144, column 18 of dart:collection/maps.dart: """, __x10 is V, false))(_map[_keys .current]);
55 return true;
56 }
57 _current = null;
58 return false;
59 }
60 V get current => _current;
61 }
62 abstract class _UnmodifiableMapMixin<K, V> implements Map<K, V> {void operator []=(K key, V value) {
63 throw new UnsupportedError("Cannot modify unmodifiable map");
64 }
65 void addAll(Map<K, V> other) {
66 throw new UnsupportedError("Cannot modify unmodifiable map");
67 }
68 void clear() {
69 throw new UnsupportedError("Cannot modify unmodifiable map");
70 }
71 V remove(Object key) {
72 throw new UnsupportedError("Cannot modify unmodifiable map");
73 }
74 V putIfAbsent(K key, V ifAbsent()) {
75 throw new UnsupportedError("Cannot modify unmodifiable map");
76 }
77 }
78 class MapView<K, V> implements Map<K, V> {final Map<K, V> _map;
79 const MapView(Map<K, V> map) : _map = map;
80 V operator [](Object key) => _map[key];
81 void operator []=(K key, V value) {
82 _map[key] = value;
83 }
84 void addAll(Map<K, V> other) {
85 _map.addAll(other);
86 }
87 void clear() {
88 _map.clear();
89 }
90 V putIfAbsent(K key, V ifAbsent()) => _map.putIfAbsent(key, ifAbsent);
91 bool containsKey(Object key) => _map.containsKey(key);
92 bool containsValue(Object value) => _map.containsValue(value);
93 void forEach(void action(K key, V value)) {
94 _map.forEach(action);
95 }
96 bool get isEmpty => _map.isEmpty;
97 bool get isNotEmpty => _map.isNotEmpty;
98 int get length => _map.length;
99 Iterable<K> get keys => _map.keys;
100 V remove(Object key) => _map.remove(key);
101 String toString() => _map.toString();
102 Iterable<V> get values => _map.values;
103 }
104 class UnmodifiableMapView<K, V> = MapView<K, V> with _UnmodifiableMapMixin<K, V >;
105 class Maps {static bool containsValue(Map map, value) {
106 for (final v in map.values) {
107 if (value == v) {
108 return true;
109 }
110 }
111 return false;
112 }
113 static bool containsKey(Map map, key) {
114 for (final k in map.keys) {
115 if (key == k) {
116 return true;
117 }
118 }
119 return false;
120 }
121 static putIfAbsent(Map map, key, ifAbsent()) {
122 if (map.containsKey(key)) {
123 return map[key];
124 }
125 final v = ifAbsent();
126 map[key] = v;
127 return v;
128 }
129 static clear(Map map) {
130 for (final k in map.keys.toList()) {
131 map.remove(k);
132 }
133 }
134 static forEach(Map map, void f(key, value)) {
135 for (final k in map.keys) {
136 f(k, map[k]);
137 }
138 }
139 static Iterable getValues(Map map) {
140 return map.keys.map((key) => map[key]);
141 }
142 static int length(Map map) => map.keys.length;
143 static bool isEmpty(Map map) => map.keys.isEmpty;
144 static bool isNotEmpty(Map map) => map.keys.isNotEmpty;
145 static String mapToString(Map m) {
146 if (IterableBase._isToStringVisiting(m)) {
147 return '{...}';
148 }
149 var result = new StringBuffer();
150 try {
151 IterableBase._toStringVisiting.add(m);
152 result.write('{');
153 bool first = true;
154 m.forEach((k, v) {
155 if (!first) {
156 result.write(', ');
157 }
158 first = false;
159 result.write(k);
160 result.write(': ');
161 result.write(v);
162 }
163 );
164 result.write('}');
165 }
166 finally {
167 assert (identical(IterableBase._toStringVisiting.last, m)); IterableBase._toStri ngVisiting.removeLast();
168 }
169 return result.toString();
170 }
171 static _id(x) => x;
172 static void _fillMapWithMappedIterable(Map map, Iterable iterable, key(element) , value(element)) {
173 if (key == null) key = _id;
174 if (value == null) value = _id;
175 for (var element in iterable) {
176 map[key(element)] = value(element);
177 }
178 }
179 static void _fillMapWithIterables(Map map, Iterable keys, Iterable values) {
180 Iterator keyIterator = keys.iterator;
181 Iterator valueIterator = values.iterator;
182 bool hasNextKey = keyIterator.moveNext();
183 bool hasNextValue = valueIterator.moveNext();
184 while (hasNextKey && hasNextValue) {
185 map[keyIterator.current] = valueIterator.current;
186 hasNextKey = keyIterator.moveNext();
187 hasNextValue = valueIterator.moveNext();
188 }
189 if (hasNextKey || hasNextValue) {
190 throw new ArgumentError("Iterables do not have same length.");
191 }
192 }
193 }
OLDNEW
« no previous file with comments | « test/dart_codegen/expect/collection/list.dart ('k') | test/dart_codegen/expect/collection/queue.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698