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

Side by Side Diff: lib/runtime/dart/_internal.js

Issue 1059583002: Extension method support to move us closer to a valid List implementation. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: done Created 5 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
« no previous file with comments | « lib/runtime/dart/_interceptors.js ('k') | lib/runtime/dart/_isolate_helper.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var _internal; 1 var _internal;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 class EfficientLength extends core.Object { 4 class EfficientLength extends core.Object {
5 } 5 }
6 let ListIterable$ = dart.generic(function(E) { 6 let ListIterable$ = dart.generic(function(E) {
7 class ListIterable extends collection.IterableBase$(E) { 7 class ListIterable extends collection.IterableBase$(E) {
8 ListIterable() { 8 ListIterable() {
9 super.IterableBase(); 9 super.IterableBase();
10 } 10 }
11 get iterator() { 11 get [core.$iterator]() {
12 return new (ListIterator$(E))(this); 12 return new (ListIterator$(E))(this);
13 } 13 }
14 forEach(action) { 14 [core.$forEach](action) {
15 let length = this.length; 15 let length = this[core.$length];
16 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 16 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
17 action(this.elementAt(i)); 17 action(this.elementAt(i));
18 if (length != this.length) { 18 if (length != this[core.$length]) {
19 throw new core.ConcurrentModificationError(this); 19 throw new core.ConcurrentModificationError(this);
20 } 20 }
21 } 21 }
22 } 22 }
23 get isEmpty() { 23 get [core.$isEmpty]() {
24 return this.length == 0; 24 return this.length == 0;
25 } 25 }
26 get first() { 26 get [core.$first]() {
27 if (this.length == 0) 27 if (this.length == 0)
28 throw IterableElementError.noElement(); 28 throw IterableElementError.noElement();
29 return this.elementAt(0); 29 return this.elementAt(0);
30 } 30 }
31 get last() { 31 get [core.$last]() {
32 if (this.length == 0) 32 if (this.length == 0)
33 throw IterableElementError.noElement(); 33 throw IterableElementError.noElement();
34 return this.elementAt(dart.notNull(this.length) - 1); 34 return this.elementAt(dart.notNull(this.length) - 1);
35 } 35 }
36 get single() { 36 get [core.$single]() {
37 if (this.length == 0) 37 if (this.length == 0)
38 throw IterableElementError.noElement(); 38 throw IterableElementError.noElement();
39 if (dart.notNull(this.length) > 1) 39 if (dart.notNull(this.length) > 1)
40 throw IterableElementError.tooMany(); 40 throw IterableElementError.tooMany();
41 return this.elementAt(0); 41 return this.elementAt(0);
42 } 42 }
43 contains(element) { 43 [core.$contains](element) {
44 let length = this.length; 44 let length = this[core.$length];
45 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 45 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
46 if (dart.equals(this.elementAt(i), element)) 46 if (dart.equals(this.elementAt(i), element))
47 return true; 47 return true;
48 if (length != this.length) { 48 if (length != this[core.$length]) {
49 throw new core.ConcurrentModificationError(this); 49 throw new core.ConcurrentModificationError(this);
50 } 50 }
51 } 51 }
52 return false; 52 return false;
53 } 53 }
54 every(test) { 54 [core.$every](test) {
55 let length = this.length; 55 let length = this[core.$length];
56 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 56 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
57 if (!dart.notNull(test(this.elementAt(i)))) 57 if (!dart.notNull(test(this.elementAt(i))))
58 return false; 58 return false;
59 if (length != this.length) { 59 if (length != this[core.$length]) {
60 throw new core.ConcurrentModificationError(this); 60 throw new core.ConcurrentModificationError(this);
61 } 61 }
62 } 62 }
63 return true; 63 return true;
64 } 64 }
65 any(test) { 65 [core.$any](test) {
66 let length = this.length; 66 let length = this[core.$length];
67 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 67 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
68 if (test(this.elementAt(i))) 68 if (test(this.elementAt(i)))
69 return true; 69 return true;
70 if (length != this.length) { 70 if (length != this[core.$length]) {
71 throw new core.ConcurrentModificationError(this); 71 throw new core.ConcurrentModificationError(this);
72 } 72 }
73 } 73 }
74 return false; 74 return false;
75 } 75 }
76 firstWhere(test, opts) { 76 [core.$firstWhere](test, opts) {
77 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 77 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
78 let length = this.length; 78 let length = this[core.$length];
79 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 79 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
80 let element = this.elementAt(i); 80 let element = this.elementAt(i);
81 if (test(element)) 81 if (test(element))
82 return element; 82 return element;
83 if (length != this.length) { 83 if (length != this[core.$length]) {
84 throw new core.ConcurrentModificationError(this); 84 throw new core.ConcurrentModificationError(this);
85 } 85 }
86 } 86 }
87 if (orElse != null) 87 if (orElse != null)
88 return orElse(); 88 return orElse();
89 throw IterableElementError.noElement(); 89 throw IterableElementError.noElement();
90 } 90 }
91 lastWhere(test, opts) { 91 [core.$lastWhere](test, opts) {
92 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 92 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
93 let length = this.length; 93 let length = this[core.$length];
94 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) { 94 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) {
95 let element = this.elementAt(i); 95 let element = this.elementAt(i);
96 if (test(element)) 96 if (test(element))
97 return element; 97 return element;
98 if (length != this.length) { 98 if (length != this[core.$length]) {
99 throw new core.ConcurrentModificationError(this); 99 throw new core.ConcurrentModificationError(this);
100 } 100 }
101 } 101 }
102 if (orElse != null) 102 if (orElse != null)
103 return orElse(); 103 return orElse();
104 throw IterableElementError.noElement(); 104 throw IterableElementError.noElement();
105 } 105 }
106 singleWhere(test) { 106 [core.$singleWhere](test) {
107 let length = this.length; 107 let length = this[core.$length];
108 let match = null; 108 let match = null;
109 let matchFound = false; 109 let matchFound = false;
110 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 110 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
111 let element = this.elementAt(i); 111 let element = this.elementAt(i);
112 if (test(element)) { 112 if (test(element)) {
113 if (matchFound) { 113 if (matchFound) {
114 throw IterableElementError.tooMany(); 114 throw IterableElementError.tooMany();
115 } 115 }
116 matchFound = true; 116 matchFound = true;
117 match = element; 117 match = element;
118 } 118 }
119 if (length != this.length) { 119 if (length != this[core.$length]) {
120 throw new core.ConcurrentModificationError(this); 120 throw new core.ConcurrentModificationError(this);
121 } 121 }
122 } 122 }
123 if (matchFound) 123 if (matchFound)
124 return match; 124 return match;
125 throw IterableElementError.noElement(); 125 throw IterableElementError.noElement();
126 } 126 }
127 join(separator) { 127 [core.$join](separator) {
128 if (separator === void 0) 128 if (separator === void 0)
129 separator = ""; 129 separator = "";
130 let length = this.length; 130 let length = this[core.$length];
131 if (!dart.notNull(separator.isEmpty)) { 131 if (!dart.notNull(separator.isEmpty)) {
132 if (length == 0) 132 if (length == 0)
133 return ""; 133 return "";
134 let first = `${this.elementAt(0)}`; 134 let first = `${this.elementAt(0)}`;
135 if (length != this.length) { 135 if (length != this[core.$length]) {
136 throw new core.ConcurrentModificationError(this); 136 throw new core.ConcurrentModificationError(this);
137 } 137 }
138 let buffer = new core.StringBuffer(first); 138 let buffer = new core.StringBuffer(first);
139 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) { 139 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) {
140 buffer.write(separator); 140 buffer.write(separator);
141 buffer.write(this.elementAt(i)); 141 buffer.write(this.elementAt(i));
142 if (length != this.length) { 142 if (length != this[core.$length]) {
143 throw new core.ConcurrentModificationError(this); 143 throw new core.ConcurrentModificationError(this);
144 } 144 }
145 } 145 }
146 return buffer.toString(); 146 return buffer.toString();
147 } else { 147 } else {
148 let buffer = new core.StringBuffer(); 148 let buffer = new core.StringBuffer();
149 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) { 149 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) {
150 buffer.write(this.elementAt(i)); 150 buffer.write(this.elementAt(i));
151 if (length != this.length) { 151 if (length != this[core.$length]) {
152 throw new core.ConcurrentModificationError(this); 152 throw new core.ConcurrentModificationError(this);
153 } 153 }
154 } 154 }
155 return buffer.toString(); 155 return buffer.toString();
156 } 156 }
157 } 157 }
158 where(test) { 158 [core.$where](test) {
159 return super.where(test); 159 return super[core.$where](test);
160 } 160 }
161 map(f) { 161 [core.$map](f) {
162 return new MappedListIterable(this, f); 162 return new MappedListIterable(this, f);
163 } 163 }
164 reduce(combine) { 164 [core.$reduce](combine) {
165 let length = this.length; 165 let length = this[core.$length];
166 if (length == 0) 166 if (length == 0)
167 throw IterableElementError.noElement(); 167 throw IterableElementError.noElement();
168 let value = this.elementAt(0); 168 let value = this.elementAt(0);
169 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 169 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
170 value = dart.dinvokef(combine, value, this.elementAt(i)); 170 value = dart.dinvokef(combine, value, this.elementAt(i));
171 if (length != this.length) { 171 if (length != this[core.$length]) {
172 throw new core.ConcurrentModificationError(this); 172 throw new core.ConcurrentModificationError(this);
173 } 173 }
174 } 174 }
175 return value; 175 return value;
176 } 176 }
177 fold(initialValue, combine) { 177 [core.$fold](initialValue, combine) {
178 let value = initialValue; 178 let value = initialValue;
179 let length = this.length; 179 let length = this[core.$length];
180 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 180 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
181 value = dart.dinvokef(combine, value, this.elementAt(i)); 181 value = dart.dinvokef(combine, value, this.elementAt(i));
182 if (length != this.length) { 182 if (length != this[core.$length]) {
183 throw new core.ConcurrentModificationError(this); 183 throw new core.ConcurrentModificationError(this);
184 } 184 }
185 } 185 }
186 return value; 186 return value;
187 } 187 }
188 skip(count) { 188 [core.$skip](count) {
189 return new (SubListIterable$(E))(this, count, null); 189 return new (SubListIterable$(E))(this, count, null);
190 } 190 }
191 skipWhile(test) { 191 [core.$skipWhile](test) {
192 return super.skipWhile(test); 192 return super[core.$skipWhile](test);
193 } 193 }
194 take(count) { 194 [core.$take](count) {
195 return new (SubListIterable$(E))(this, 0, count); 195 return new (SubListIterable$(E))(this, 0, count);
196 } 196 }
197 takeWhile(test) { 197 [core.$takeWhile](test) {
198 return super.takeWhile(test); 198 return super[core.$takeWhile](test);
199 } 199 }
200 toList(opts) { 200 [core.$toList](opts) {
201 let growable = opts && 'growable' in opts ? opts.growable : true; 201 let growable = opts && 'growable' in opts ? opts.growable : true;
202 let result = null; 202 let result = null;
203 if (growable) { 203 if (growable) {
204 result = ((_) => { 204 result = ((_) => {
205 _.length = this.length; 205 _[core.$length] = this.length;
206 return _; 206 return _;
207 }).bind(this)(new (core.List$(E))()); 207 }).bind(this)(new (core.List$(E))());
208 } else { 208 } else {
209 result = new (core.List$(E))(this.length); 209 result = new (core.List$(E))(this.length);
210 } 210 }
211 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) { 211 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
212 result.set(i, this.elementAt(i)); 212 result[core.$set](i, this.elementAt(i));
213 } 213 }
214 return result; 214 return result;
215 } 215 }
216 toSet() { 216 [core.$toSet]() {
217 let result = new (core.Set$(E))(); 217 let result = new (core.Set$(E))();
218 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) { 218 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
219 result.add(this.elementAt(i)); 219 result.add(this.elementAt(i));
220 } 220 }
221 return result; 221 return result;
222 } 222 }
223 } 223 }
224 ListIterable[dart.implements] = () => [EfficientLength]; 224 ListIterable[dart.implements] = () => [EfficientLength];
225 return ListIterable; 225 return ListIterable;
226 }); 226 });
(...skipping 12 matching lines...) Expand all
239 super.ListIterable(); 239 super.ListIterable();
240 core.RangeError.checkNotNegative(this[_start], "start"); 240 core.RangeError.checkNotNegative(this[_start], "start");
241 if (this[_endOrLength] != null) { 241 if (this[_endOrLength] != null) {
242 core.RangeError.checkNotNegative(this[_endOrLength], "end"); 242 core.RangeError.checkNotNegative(this[_endOrLength], "end");
243 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { 243 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) {
244 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start"); 244 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start");
245 } 245 }
246 } 246 }
247 } 247 }
248 get [_endIndex]() { 248 get [_endIndex]() {
249 let length = this[_iterable].length; 249 let length = this[_iterable][core.$length];
250 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length)) 250 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length))
251 return length; 251 return length;
252 return this[_endOrLength]; 252 return this[_endOrLength];
253 } 253 }
254 get [_startIndex]() { 254 get [_startIndex]() {
255 let length = this[_iterable].length; 255 let length = this[_iterable][core.$length];
256 if (dart.notNull(this[_start]) > dart.notNull(length)) 256 if (dart.notNull(this[_start]) > dart.notNull(length))
257 return length; 257 return length;
258 return this[_start]; 258 return this[_start];
259 } 259 }
260 get length() { 260 get [core.$length]() {
261 let length = this[_iterable].length; 261 let length = this[_iterable][core.$length];
262 if (dart.notNull(this[_start]) >= dart.notNull(length)) 262 if (dart.notNull(this[_start]) >= dart.notNull(length))
263 return 0; 263 return 0;
264 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) { 264 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) {
265 return dart.notNull(length) - dart.notNull(this[_start]); 265 return dart.notNull(length) - dart.notNull(this[_start]);
266 } 266 }
267 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); 267 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]);
268 } 268 }
269 elementAt(index) { 269 [core.$elementAt](index) {
270 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); 270 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index);
271 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) { 271 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) {
272 throw new core.RangeError.index(index, this, "index"); 272 throw new core.RangeError.index(index, this, "index");
273 } 273 }
274 return this[_iterable].elementAt(realIndex); 274 return this[_iterable][core.$elementAt](realIndex);
275 } 275 }
276 skip(count) { 276 [core.$skip](count) {
277 core.RangeError.checkNotNegative(count, "count"); 277 core.RangeError.checkNotNegative(count, "count");
278 let newStart = dart.notNull(this[_start]) + dart.notNull(count); 278 let newStart = dart.notNull(this[_start]) + dart.notNull(count);
279 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull (this[_endOrLength])) { 279 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull (this[_endOrLength])) {
280 return new (EmptyIterable$(E))(); 280 return new (EmptyIterable$(E))();
281 } 281 }
282 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL ength]); 282 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL ength]);
283 } 283 }
284 take(count) { 284 [core.$take](count) {
285 core.RangeError.checkNotNegative(count, "count"); 285 core.RangeError.checkNotNegative(count, "count");
286 if (this[_endOrLength] == null) { 286 if (this[_endOrLength] == null) {
287 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n otNull(this[_start]) + dart.notNull(count)); 287 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n otNull(this[_start]) + dart.notNull(count));
288 } else { 288 } else {
289 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 289 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
290 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) 290 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd))
291 return this; 291 return this;
292 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd ); 292 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd );
293 } 293 }
294 } 294 }
295 toList(opts) { 295 [core.$toList](opts) {
296 let growable = opts && 'growable' in opts ? opts.growable : true; 296 let growable = opts && 'growable' in opts ? opts.growable : true;
297 let start = this[_start]; 297 let start = this[_start];
298 let end = this[_iterable].length; 298 let end = this[_iterable][core.$length];
299 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end)) 299 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end))
300 end = this[_endOrLength]; 300 end = this[_endOrLength];
301 let length = dart.notNull(end) - dart.notNull(start); 301 let length = dart.notNull(end) - dart.notNull(start);
302 if (dart.notNull(length) < 0) 302 if (dart.notNull(length) < 0)
303 length = 0; 303 length = 0;
304 let result = growable ? ((_) => { 304 let result = growable ? ((_) => {
305 _.length = length; 305 _[core.$length] = length;
306 return _; 306 return _;
307 }).bind(this)(new (core.List$(E))()) : new (core.List$(E))(length); 307 }).bind(this)(new (core.List$(E))()) : new (core.List$(E))(length);
308 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 308 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
309 result.set(i, this[_iterable].elementAt(dart.notNull(start) + dart.not Null(i))); 309 result[core.$set](i, this[_iterable][core.$elementAt](dart.notNull(sta rt) + dart.notNull(i)));
310 if (dart.notNull(this[_iterable].length) < dart.notNull(end)) 310 if (dart.notNull(this[_iterable][core.$length]) < dart.notNull(end))
311 throw new core.ConcurrentModificationError(this); 311 throw new core.ConcurrentModificationError(this);
312 } 312 }
313 return dart.as(result, core.List$(E)); 313 return dart.as(result, core.List$(E));
314 } 314 }
315 } 315 }
316 return SubListIterable; 316 return SubListIterable;
317 }); 317 });
318 let SubListIterable = SubListIterable$(dart.dynamic); 318 let SubListIterable = SubListIterable$(dart.dynamic);
319 let _length = dart.JsSymbol('_length'); 319 let _length = dart.JsSymbol('_length');
320 let _index = dart.JsSymbol('_index'); 320 let _index = dart.JsSymbol('_index');
321 let _current = dart.JsSymbol('_current'); 321 let _current = dart.JsSymbol('_current');
322 let ListIterator$ = dart.generic(function(E) { 322 let ListIterator$ = dart.generic(function(E) {
323 class ListIterator extends core.Object { 323 class ListIterator extends core.Object {
324 ListIterator(iterable) { 324 ListIterator(iterable) {
325 this[_iterable] = iterable; 325 this[_iterable] = iterable;
326 this[_length] = iterable.length; 326 this[_length] = iterable[core.$length];
327 this[_index] = 0; 327 this[_index] = 0;
328 this[_current] = null; 328 this[_current] = null;
329 } 329 }
330 get current() { 330 get current() {
331 return this[_current]; 331 return this[_current];
332 } 332 }
333 moveNext() { 333 moveNext() {
334 let length = this[_iterable].length; 334 let length = this[_iterable][core.$length];
335 if (this[_length] != length) { 335 if (this[_length] != length) {
336 throw new core.ConcurrentModificationError(this[_iterable]); 336 throw new core.ConcurrentModificationError(this[_iterable]);
337 } 337 }
338 if (dart.notNull(this[_index]) >= dart.notNull(length)) { 338 if (dart.notNull(this[_index]) >= dart.notNull(length)) {
339 this[_current] = null; 339 this[_current] = null;
340 return false; 340 return false;
341 } 341 }
342 this[_current] = this[_iterable].elementAt(this[_index]); 342 this[_current] = this[_iterable][core.$elementAt](this[_index]);
343 this[_index] = dart.notNull(this[_index]) + 1; 343 this[_index] = dart.notNull(this[_index]) + 1;
344 return true; 344 return true;
345 } 345 }
346 } 346 }
347 ListIterator[dart.implements] = () => [core.Iterator$(E)]; 347 ListIterator[dart.implements] = () => [core.Iterator$(E)];
348 return ListIterator; 348 return ListIterator;
349 }); 349 });
350 let ListIterator = ListIterator$(dart.dynamic); 350 let ListIterator = ListIterator$(dart.dynamic);
351 let _ = dart.JsSymbol('_'); 351 let _ = dart.JsSymbol('_');
352 let _f = dart.JsSymbol('_f'); 352 let _f = dart.JsSymbol('_f');
353 let MappedIterable$ = dart.generic(function(S, T) { 353 let MappedIterable$ = dart.generic(function(S, T) {
354 class MappedIterable extends collection.IterableBase$(T) { 354 class MappedIterable extends collection.IterableBase$(T) {
355 MappedIterable(iterable, func) { 355 MappedIterable(iterable, func) {
356 if (dart.is(iterable, EfficientLength)) { 356 if (dart.is(iterable, EfficientLength)) {
357 return new (EfficientLengthMappedIterable$(S, T))(iterable, func); 357 return new (EfficientLengthMappedIterable$(S, T))(iterable, func);
358 } 358 }
359 return new MappedIterable$(S, T)[_](dart.as(iterable, core.Iterable$(S)) , func); 359 return new MappedIterable$(S, T)[_](dart.as(iterable, core.Iterable$(S)) , func);
360 } 360 }
361 [_](iterable$, f$) { 361 [_](iterable$, f$) {
362 this[_iterable] = iterable$; 362 this[_iterable] = iterable$;
363 this[_f] = f$; 363 this[_f] = f$;
364 super.IterableBase(); 364 super.IterableBase();
365 } 365 }
366 get iterator() { 366 get [core.$iterator]() {
367 return new (MappedIterator$(S, T))(this[_iterable].iterator, this[_f]); 367 return new (MappedIterator$(S, T))(this[_iterable][core.$iterator], this [_f]);
368 } 368 }
369 get length() { 369 get [core.$length]() {
370 return this[_iterable].length; 370 return this[_iterable][core.$length];
371 } 371 }
372 get isEmpty() { 372 get [core.$isEmpty]() {
373 return this[_iterable].isEmpty; 373 return this[_iterable][core.$isEmpty];
374 } 374 }
375 get first() { 375 get [core.$first]() {
376 return this[_f](this[_iterable].first); 376 return this[_f](this[_iterable][core.$first]);
377 } 377 }
378 get last() { 378 get [core.$last]() {
379 return this[_f](this[_iterable].last); 379 return this[_f](this[_iterable][core.$last]);
380 } 380 }
381 get single() { 381 get [core.$single]() {
382 return this[_f](this[_iterable].single); 382 return this[_f](this[_iterable][core.$single]);
383 } 383 }
384 elementAt(index) { 384 [core.$elementAt](index) {
385 return this[_f](this[_iterable].elementAt(index)); 385 return this[_f](this[_iterable][core.$elementAt](index));
386 } 386 }
387 } 387 }
388 dart.defineNamedConstructor(MappedIterable, _); 388 dart.defineNamedConstructor(MappedIterable, _);
389 return MappedIterable; 389 return MappedIterable;
390 }); 390 });
391 let MappedIterable = MappedIterable$(dart.dynamic, dart.dynamic); 391 let MappedIterable = MappedIterable$(dart.dynamic, dart.dynamic);
392 let EfficientLengthMappedIterable$ = dart.generic(function(S, T) { 392 let EfficientLengthMappedIterable$ = dart.generic(function(S, T) {
393 class EfficientLengthMappedIterable extends MappedIterable$(S, T) { 393 class EfficientLengthMappedIterable extends MappedIterable$(S, T) {
394 EfficientLengthMappedIterable(iterable, func) { 394 EfficientLengthMappedIterable(iterable, func) {
395 super[_](dart.as(iterable, core.Iterable$(S)), func); 395 super[_](dart.as(iterable, core.Iterable$(S)), func);
(...skipping 28 matching lines...) Expand all
424 }); 424 });
425 let MappedIterator = MappedIterator$(dart.dynamic, dart.dynamic); 425 let MappedIterator = MappedIterator$(dart.dynamic, dart.dynamic);
426 let _source = dart.JsSymbol('_source'); 426 let _source = dart.JsSymbol('_source');
427 let MappedListIterable$ = dart.generic(function(S, T) { 427 let MappedListIterable$ = dart.generic(function(S, T) {
428 class MappedListIterable extends ListIterable$(T) { 428 class MappedListIterable extends ListIterable$(T) {
429 MappedListIterable(source, f$) { 429 MappedListIterable(source, f$) {
430 this[_source] = source; 430 this[_source] = source;
431 this[_f] = f$; 431 this[_f] = f$;
432 super.ListIterable(); 432 super.ListIterable();
433 } 433 }
434 get length() { 434 get [core.$length]() {
435 return this[_source].length; 435 return this[_source][core.$length];
436 } 436 }
437 elementAt(index) { 437 [core.$elementAt](index) {
438 return this[_f](this[_source].elementAt(index)); 438 return this[_f](this[_source][core.$elementAt](index));
439 } 439 }
440 } 440 }
441 MappedListIterable[dart.implements] = () => [EfficientLength]; 441 MappedListIterable[dart.implements] = () => [EfficientLength];
442 return MappedListIterable; 442 return MappedListIterable;
443 }); 443 });
444 let MappedListIterable = MappedListIterable$(dart.dynamic, dart.dynamic); 444 let MappedListIterable = MappedListIterable$(dart.dynamic, dart.dynamic);
445 let WhereIterable$ = dart.generic(function(E) { 445 let WhereIterable$ = dart.generic(function(E) {
446 class WhereIterable extends collection.IterableBase$(E) { 446 class WhereIterable extends collection.IterableBase$(E) {
447 WhereIterable(iterable$, f$) { 447 WhereIterable(iterable$, f$) {
448 this[_iterable] = iterable$; 448 this[_iterable] = iterable$;
449 this[_f] = f$; 449 this[_f] = f$;
450 super.IterableBase(); 450 super.IterableBase();
451 } 451 }
452 get iterator() { 452 get [core.$iterator]() {
453 return new (WhereIterator$(E))(this[_iterable].iterator, this[_f]); 453 return new (WhereIterator$(E))(this[_iterable][core.$iterator], this[_f] );
454 } 454 }
455 } 455 }
456 return WhereIterable; 456 return WhereIterable;
457 }); 457 });
458 let WhereIterable = WhereIterable$(dart.dynamic); 458 let WhereIterable = WhereIterable$(dart.dynamic);
459 let WhereIterator$ = dart.generic(function(E) { 459 let WhereIterator$ = dart.generic(function(E) {
460 class WhereIterator extends core.Iterator$(E) { 460 class WhereIterator extends core.Iterator$(E) {
461 WhereIterator(iterator$, f$) { 461 WhereIterator(iterator$, f$) {
462 this[_iterator] = iterator$; 462 this[_iterator] = iterator$;
463 this[_f] = f$; 463 this[_f] = f$;
(...skipping 14 matching lines...) Expand all
478 return WhereIterator; 478 return WhereIterator;
479 }); 479 });
480 let WhereIterator = WhereIterator$(dart.dynamic); 480 let WhereIterator = WhereIterator$(dart.dynamic);
481 let ExpandIterable$ = dart.generic(function(S, T) { 481 let ExpandIterable$ = dart.generic(function(S, T) {
482 class ExpandIterable extends collection.IterableBase$(T) { 482 class ExpandIterable extends collection.IterableBase$(T) {
483 ExpandIterable(iterable$, f$) { 483 ExpandIterable(iterable$, f$) {
484 this[_iterable] = iterable$; 484 this[_iterable] = iterable$;
485 this[_f] = f$; 485 this[_f] = f$;
486 super.IterableBase(); 486 super.IterableBase();
487 } 487 }
488 get iterator() { 488 get [core.$iterator]() {
489 return new (ExpandIterator$(S, T))(this[_iterable].iterator, dart.closur eWrap(this[_f], "(S) → Iterable<T>")); 489 return new (ExpandIterator$(S, T))(this[_iterable][core.$iterator], dart .closureWrap(this[_f], "(S) → Iterable<T>"));
490 } 490 }
491 } 491 }
492 return ExpandIterable; 492 return ExpandIterable;
493 }); 493 });
494 let ExpandIterable = ExpandIterable$(dart.dynamic, dart.dynamic); 494 let ExpandIterable = ExpandIterable$(dart.dynamic, dart.dynamic);
495 let _currentExpansion = dart.JsSymbol('_currentExpansion'); 495 let _currentExpansion = dart.JsSymbol('_currentExpansion');
496 let _nextExpansion = dart.JsSymbol('_nextExpansion'); 496 let _nextExpansion = dart.JsSymbol('_nextExpansion');
497 let ExpandIterator$ = dart.generic(function(S, T) { 497 let ExpandIterator$ = dart.generic(function(S, T) {
498 class ExpandIterator extends core.Object { 498 class ExpandIterator extends core.Object {
499 ExpandIterator(iterator$, f$) { 499 ExpandIterator(iterator$, f$) {
500 this[_iterator] = iterator$; 500 this[_iterator] = iterator$;
501 this[_f] = f$; 501 this[_f] = f$;
502 this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T) ); 502 this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T) );
503 this[_current] = null; 503 this[_current] = null;
504 } 504 }
505 [_nextExpansion]() {} 505 [_nextExpansion]() {}
506 get current() { 506 get current() {
507 return this[_current]; 507 return this[_current];
508 } 508 }
509 moveNext() { 509 moveNext() {
510 if (this[_currentExpansion] == null) 510 if (this[_currentExpansion] == null)
511 return false; 511 return false;
512 while (!dart.notNull(this[_currentExpansion].moveNext())) { 512 while (!dart.notNull(this[_currentExpansion].moveNext())) {
513 this[_current] = null; 513 this[_current] = null;
514 if (this[_iterator].moveNext()) { 514 if (this[_iterator].moveNext()) {
515 this[_currentExpansion] = null; 515 this[_currentExpansion] = null;
516 this[_currentExpansion] = dart.as(dart.dinvokef(this[_f], this[_iter ator].current).iterator, core.Iterator$(T)); 516 this[_currentExpansion] = dart.as(dart.dinvokef(this[_f], this[_iter ator].current)[core.$iterator], core.Iterator$(T));
517 } else { 517 } else {
518 return false; 518 return false;
519 } 519 }
520 } 520 }
521 this[_current] = this[_currentExpansion].current; 521 this[_current] = this[_currentExpansion].current;
522 return true; 522 return true;
523 } 523 }
524 } 524 }
525 ExpandIterator[dart.implements] = () => [core.Iterator$(T)]; 525 ExpandIterator[dart.implements] = () => [core.Iterator$(T)];
526 return ExpandIterator; 526 return ExpandIterator;
527 }); 527 });
528 let ExpandIterator = ExpandIterator$(dart.dynamic, dart.dynamic); 528 let ExpandIterator = ExpandIterator$(dart.dynamic, dart.dynamic);
529 let _takeCount = dart.JsSymbol('_takeCount'); 529 let _takeCount = dart.JsSymbol('_takeCount');
530 let TakeIterable$ = dart.generic(function(E) { 530 let TakeIterable$ = dart.generic(function(E) {
531 class TakeIterable extends collection.IterableBase$(E) { 531 class TakeIterable extends collection.IterableBase$(E) {
532 TakeIterable(iterable, takeCount) { 532 TakeIterable(iterable, takeCount) {
533 if (dart.notNull(!(typeof takeCount == 'number')) || dart.notNull(takeCo unt) < 0) { 533 if (dart.notNull(!(typeof takeCount == 'number')) || dart.notNull(takeCo unt) < 0) {
534 throw new core.ArgumentError(takeCount); 534 throw new core.ArgumentError(takeCount);
535 } 535 }
536 if (dart.is(iterable, EfficientLength)) { 536 if (dart.is(iterable, EfficientLength)) {
537 return new (EfficientLengthTakeIterable$(E))(iterable, takeCount); 537 return new (EfficientLengthTakeIterable$(E))(iterable, takeCount);
538 } 538 }
539 return new TakeIterable$(E)[_](iterable, takeCount); 539 return new TakeIterable$(E)[_](iterable, takeCount);
540 } 540 }
541 [_](iterable$, takeCount$) { 541 [_](iterable$, takeCount$) {
542 this[_iterable] = iterable$; 542 this[_iterable] = iterable$;
543 this[_takeCount] = takeCount$; 543 this[_takeCount] = takeCount$;
544 super.IterableBase(); 544 super.IterableBase();
545 } 545 }
546 get iterator() { 546 get [core.$iterator]() {
547 return new (TakeIterator$(E))(this[_iterable].iterator, this[_takeCount] ); 547 return new (TakeIterator$(E))(this[_iterable][core.$iterator], this[_tak eCount]);
548 } 548 }
549 } 549 }
550 dart.defineNamedConstructor(TakeIterable, _); 550 dart.defineNamedConstructor(TakeIterable, _);
551 return TakeIterable; 551 return TakeIterable;
552 }); 552 });
553 let TakeIterable = TakeIterable$(dart.dynamic); 553 let TakeIterable = TakeIterable$(dart.dynamic);
554 let EfficientLengthTakeIterable$ = dart.generic(function(E) { 554 let EfficientLengthTakeIterable$ = dart.generic(function(E) {
555 class EfficientLengthTakeIterable extends TakeIterable$(E) { 555 class EfficientLengthTakeIterable extends TakeIterable$(E) {
556 EfficientLengthTakeIterable(iterable, takeCount) { 556 EfficientLengthTakeIterable(iterable, takeCount) {
557 super[_](iterable, takeCount); 557 super[_](iterable, takeCount);
558 } 558 }
559 get length() { 559 get [core.$length]() {
560 let iterableLength = this[_iterable].length; 560 let iterableLength = this[_iterable][core.$length];
561 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount])) 561 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount]))
562 return this[_takeCount]; 562 return this[_takeCount];
563 return iterableLength; 563 return iterableLength;
564 } 564 }
565 } 565 }
566 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength]; 566 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength];
567 return EfficientLengthTakeIterable; 567 return EfficientLengthTakeIterable;
568 }); 568 });
569 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(dart.dynamic); 569 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(dart.dynamic);
570 let _remaining = dart.JsSymbol('_remaining'); 570 let _remaining = dart.JsSymbol('_remaining');
(...skipping 22 matching lines...) Expand all
593 return TakeIterator; 593 return TakeIterator;
594 }); 594 });
595 let TakeIterator = TakeIterator$(dart.dynamic); 595 let TakeIterator = TakeIterator$(dart.dynamic);
596 let TakeWhileIterable$ = dart.generic(function(E) { 596 let TakeWhileIterable$ = dart.generic(function(E) {
597 class TakeWhileIterable extends collection.IterableBase$(E) { 597 class TakeWhileIterable extends collection.IterableBase$(E) {
598 TakeWhileIterable(iterable$, f$) { 598 TakeWhileIterable(iterable$, f$) {
599 this[_iterable] = iterable$; 599 this[_iterable] = iterable$;
600 this[_f] = f$; 600 this[_f] = f$;
601 super.IterableBase(); 601 super.IterableBase();
602 } 602 }
603 get iterator() { 603 get [core.$iterator]() {
604 return new (TakeWhileIterator$(E))(this[_iterable].iterator, dart.closur eWrap(this[_f], "(E) → bool")); 604 return new (TakeWhileIterator$(E))(this[_iterable][core.$iterator], dart .closureWrap(this[_f], "(E) → bool"));
605 } 605 }
606 } 606 }
607 return TakeWhileIterable; 607 return TakeWhileIterable;
608 }); 608 });
609 let TakeWhileIterable = TakeWhileIterable$(dart.dynamic); 609 let TakeWhileIterable = TakeWhileIterable$(dart.dynamic);
610 let _isFinished = dart.JsSymbol('_isFinished'); 610 let _isFinished = dart.JsSymbol('_isFinished');
611 let TakeWhileIterator$ = dart.generic(function(E) { 611 let TakeWhileIterator$ = dart.generic(function(E) {
612 class TakeWhileIterator extends core.Iterator$(E) { 612 class TakeWhileIterator extends core.Iterator$(E) {
613 TakeWhileIterator(iterator$, f$) { 613 TakeWhileIterator(iterator$, f$) {
614 this[_iterator] = iterator$; 614 this[_iterator] = iterator$;
(...skipping 30 matching lines...) Expand all
645 } 645 }
646 [_](iterable$, skipCount$) { 646 [_](iterable$, skipCount$) {
647 this[_iterable] = iterable$; 647 this[_iterable] = iterable$;
648 this[_skipCount] = skipCount$; 648 this[_skipCount] = skipCount$;
649 super.IterableBase(); 649 super.IterableBase();
650 if (!(typeof this[_skipCount] == 'number')) { 650 if (!(typeof this[_skipCount] == 'number')) {
651 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer"); 651 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
652 } 652 }
653 core.RangeError.checkNotNegative(this[_skipCount], "count"); 653 core.RangeError.checkNotNegative(this[_skipCount], "count");
654 } 654 }
655 skip(count) { 655 [core.$skip](count) {
656 if (!(typeof this[_skipCount] == 'number')) { 656 if (!(typeof this[_skipCount] == 'number')) {
657 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer"); 657 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
658 } 658 }
659 core.RangeError.checkNotNegative(this[_skipCount], "count"); 659 core.RangeError.checkNotNegative(this[_skipCount], "count");
660 return new SkipIterable$(E)[_](this[_iterable], dart.notNull(this[_skipC ount]) + dart.notNull(count)); 660 return new SkipIterable$(E)[_](this[_iterable], dart.notNull(this[_skipC ount]) + dart.notNull(count));
661 } 661 }
662 get iterator() { 662 get [core.$iterator]() {
663 return new (SkipIterator$(E))(this[_iterable].iterator, this[_skipCount] ); 663 return new (SkipIterator$(E))(this[_iterable][core.$iterator], this[_ski pCount]);
664 } 664 }
665 } 665 }
666 dart.defineNamedConstructor(SkipIterable, _); 666 dart.defineNamedConstructor(SkipIterable, _);
667 return SkipIterable; 667 return SkipIterable;
668 }); 668 });
669 let SkipIterable = SkipIterable$(dart.dynamic); 669 let SkipIterable = SkipIterable$(dart.dynamic);
670 let EfficientLengthSkipIterable$ = dart.generic(function(E) { 670 let EfficientLengthSkipIterable$ = dart.generic(function(E) {
671 class EfficientLengthSkipIterable extends SkipIterable$(E) { 671 class EfficientLengthSkipIterable extends SkipIterable$(E) {
672 EfficientLengthSkipIterable(iterable, skipCount) { 672 EfficientLengthSkipIterable(iterable, skipCount) {
673 super[_](iterable, skipCount); 673 super[_](iterable, skipCount);
674 } 674 }
675 get length() { 675 get [core.$length]() {
676 let length = dart.notNull(this[_iterable].length) - dart.notNull(this[_s kipCount]); 676 let length = dart.notNull(this[_iterable][core.$length]) - dart.notNull( this[_skipCount]);
677 if (dart.notNull(length) >= 0) 677 if (dart.notNull(length) >= 0)
678 return length; 678 return length;
679 return 0; 679 return 0;
680 } 680 }
681 } 681 }
682 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength]; 682 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength];
683 return EfficientLengthSkipIterable; 683 return EfficientLengthSkipIterable;
684 }); 684 });
685 let EfficientLengthSkipIterable = EfficientLengthSkipIterable$(dart.dynamic); 685 let EfficientLengthSkipIterable = EfficientLengthSkipIterable$(dart.dynamic);
686 let SkipIterator$ = dart.generic(function(E) { 686 let SkipIterator$ = dart.generic(function(E) {
(...skipping 17 matching lines...) Expand all
704 return SkipIterator; 704 return SkipIterator;
705 }); 705 });
706 let SkipIterator = SkipIterator$(dart.dynamic); 706 let SkipIterator = SkipIterator$(dart.dynamic);
707 let SkipWhileIterable$ = dart.generic(function(E) { 707 let SkipWhileIterable$ = dart.generic(function(E) {
708 class SkipWhileIterable extends collection.IterableBase$(E) { 708 class SkipWhileIterable extends collection.IterableBase$(E) {
709 SkipWhileIterable(iterable$, f$) { 709 SkipWhileIterable(iterable$, f$) {
710 this[_iterable] = iterable$; 710 this[_iterable] = iterable$;
711 this[_f] = f$; 711 this[_f] = f$;
712 super.IterableBase(); 712 super.IterableBase();
713 } 713 }
714 get iterator() { 714 get [core.$iterator]() {
715 return new (SkipWhileIterator$(E))(this[_iterable].iterator, dart.closur eWrap(this[_f], "(E) → bool")); 715 return new (SkipWhileIterator$(E))(this[_iterable][core.$iterator], dart .closureWrap(this[_f], "(E) → bool"));
716 } 716 }
717 } 717 }
718 return SkipWhileIterable; 718 return SkipWhileIterable;
719 }); 719 });
720 let SkipWhileIterable = SkipWhileIterable$(dart.dynamic); 720 let SkipWhileIterable = SkipWhileIterable$(dart.dynamic);
721 let _hasSkipped = dart.JsSymbol('_hasSkipped'); 721 let _hasSkipped = dart.JsSymbol('_hasSkipped');
722 let SkipWhileIterator$ = dart.generic(function(E) { 722 let SkipWhileIterator$ = dart.generic(function(E) {
723 class SkipWhileIterator extends core.Iterator$(E) { 723 class SkipWhileIterator extends core.Iterator$(E) {
724 SkipWhileIterator(iterator$, f$) { 724 SkipWhileIterator(iterator$, f$) {
725 this[_iterator] = iterator$; 725 this[_iterator] = iterator$;
(...skipping 16 matching lines...) Expand all
742 } 742 }
743 } 743 }
744 return SkipWhileIterator; 744 return SkipWhileIterator;
745 }); 745 });
746 let SkipWhileIterator = SkipWhileIterator$(dart.dynamic); 746 let SkipWhileIterator = SkipWhileIterator$(dart.dynamic);
747 let EmptyIterable$ = dart.generic(function(E) { 747 let EmptyIterable$ = dart.generic(function(E) {
748 class EmptyIterable extends collection.IterableBase$(E) { 748 class EmptyIterable extends collection.IterableBase$(E) {
749 EmptyIterable() { 749 EmptyIterable() {
750 super.IterableBase(); 750 super.IterableBase();
751 } 751 }
752 get iterator() { 752 get [core.$iterator]() {
753 return dart.as(new EmptyIterator(), core.Iterator$(E)); 753 return dart.as(new EmptyIterator(), core.Iterator$(E));
754 } 754 }
755 forEach(action) {} 755 [core.$forEach](action) {}
756 get isEmpty() { 756 get [core.$isEmpty]() {
757 return true; 757 return true;
758 } 758 }
759 get length() { 759 get [core.$length]() {
760 return 0; 760 return 0;
761 } 761 }
762 get first() { 762 get [core.$first]() {
763 throw IterableElementError.noElement(); 763 throw IterableElementError.noElement();
764 } 764 }
765 get last() { 765 get [core.$last]() {
766 throw IterableElementError.noElement(); 766 throw IterableElementError.noElement();
767 } 767 }
768 get single() { 768 get [core.$single]() {
769 throw IterableElementError.noElement(); 769 throw IterableElementError.noElement();
770 } 770 }
771 elementAt(index) { 771 [core.$elementAt](index) {
772 throw new core.RangeError.range(index, 0, 0, "index"); 772 throw new core.RangeError.range(index, 0, 0, "index");
773 } 773 }
774 contains(element) { 774 [core.$contains](element) {
775 return false; 775 return false;
776 } 776 }
777 every(test) { 777 [core.$every](test) {
778 return true; 778 return true;
779 } 779 }
780 any(test) { 780 [core.$any](test) {
781 return false; 781 return false;
782 } 782 }
783 firstWhere(test, opts) { 783 [core.$firstWhere](test, opts) {
784 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 784 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
785 if (orElse != null) 785 if (orElse != null)
786 return orElse(); 786 return orElse();
787 throw IterableElementError.noElement(); 787 throw IterableElementError.noElement();
788 } 788 }
789 lastWhere(test, opts) { 789 [core.$lastWhere](test, opts) {
790 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 790 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
791 if (orElse != null) 791 if (orElse != null)
792 return orElse(); 792 return orElse();
793 throw IterableElementError.noElement(); 793 throw IterableElementError.noElement();
794 } 794 }
795 singleWhere(test, opts) { 795 [core.$singleWhere](test, opts) {
796 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 796 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
797 if (orElse != null) 797 if (orElse != null)
798 return orElse(); 798 return orElse();
799 throw IterableElementError.noElement(); 799 throw IterableElementError.noElement();
800 } 800 }
801 join(separator) { 801 [core.$join](separator) {
802 if (separator === void 0) 802 if (separator === void 0)
803 separator = ""; 803 separator = "";
804 return ""; 804 return "";
805 } 805 }
806 where(test) { 806 [core.$where](test) {
807 return this; 807 return this;
808 } 808 }
809 map(f) { 809 [core.$map](f) {
810 return new EmptyIterable(); 810 return new EmptyIterable();
811 } 811 }
812 reduce(combine) { 812 [core.$reduce](combine) {
813 throw IterableElementError.noElement(); 813 throw IterableElementError.noElement();
814 } 814 }
815 fold(initialValue, combine) { 815 [core.$fold](initialValue, combine) {
816 return initialValue; 816 return initialValue;
817 } 817 }
818 skip(count) { 818 [core.$skip](count) {
819 core.RangeError.checkNotNegative(count, "count"); 819 core.RangeError.checkNotNegative(count, "count");
820 return this; 820 return this;
821 } 821 }
822 skipWhile(test) { 822 [core.$skipWhile](test) {
823 return this; 823 return this;
824 } 824 }
825 take(count) { 825 [core.$take](count) {
826 core.RangeError.checkNotNegative(count, "count"); 826 core.RangeError.checkNotNegative(count, "count");
827 return this; 827 return this;
828 } 828 }
829 takeWhile(test) { 829 [core.$takeWhile](test) {
830 return this; 830 return this;
831 } 831 }
832 toList(opts) { 832 [core.$toList](opts) {
833 let growable = opts && 'growable' in opts ? opts.growable : true; 833 let growable = opts && 'growable' in opts ? opts.growable : true;
834 return growable ? new core.List$(E).from([]) : new (core.List$(E))(0); 834 return growable ? new core.List$(E).from([]) : new (core.List$(E))(0);
835 } 835 }
836 toSet() { 836 [core.$toSet]() {
837 return new (core.Set$(E))(); 837 return new (core.Set$(E))();
838 } 838 }
839 } 839 }
840 EmptyIterable[dart.implements] = () => [EfficientLength]; 840 EmptyIterable[dart.implements] = () => [EfficientLength];
841 return EmptyIterable; 841 return EmptyIterable;
842 }); 842 });
843 let EmptyIterable = EmptyIterable$(dart.dynamic); 843 let EmptyIterable = EmptyIterable$(dart.dynamic);
844 let EmptyIterator$ = dart.generic(function(E) { 844 let EmptyIterator$ = dart.generic(function(E) {
845 class EmptyIterator extends core.Object { 845 class EmptyIterator extends core.Object {
846 EmptyIterator() { 846 EmptyIterator() {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 return false; 886 return false;
887 } 887 }
888 static every(iterable, f) { 888 static every(iterable, f) {
889 for (let e of iterable) { 889 for (let e of iterable) {
890 if (!dart.notNull(dart.dinvokef(f, e))) 890 if (!dart.notNull(dart.dinvokef(f, e)))
891 return false; 891 return false;
892 } 892 }
893 return true; 893 return true;
894 } 894 }
895 static reduce(iterable, combine) { 895 static reduce(iterable, combine) {
896 let iterator = iterable.iterator; 896 let iterator = iterable[core.$iterator];
897 if (!dart.notNull(iterator.moveNext())) 897 if (!dart.notNull(iterator.moveNext()))
898 throw IterableElementError.noElement(); 898 throw IterableElementError.noElement();
899 let value = iterator.current; 899 let value = iterator.current;
900 while (iterator.moveNext()) { 900 while (iterator.moveNext()) {
901 value = dart.dinvokef(combine, value, iterator.current); 901 value = dart.dinvokef(combine, value, iterator.current);
902 } 902 }
903 return value; 903 return value;
904 } 904 }
905 static fold(iterable, initialValue, combine) { 905 static fold(iterable, initialValue, combine) {
906 for (let element of iterable) { 906 for (let element of iterable) {
907 initialValue = dart.dinvokef(combine, initialValue, element); 907 initialValue = dart.dinvokef(combine, initialValue, element);
908 } 908 }
909 return initialValue; 909 return initialValue;
910 } 910 }
911 static removeWhereList(list, test) { 911 static removeWhereList(list, test) {
912 let retained = new core.List.from([]); 912 let retained = new core.List.from([]);
913 let length = list.length; 913 let length = list[core.$length];
914 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 914 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
915 let element = list.get(i); 915 let element = list[core.$get](i);
916 if (!dart.notNull(dart.dinvokef(test, element))) { 916 if (!dart.notNull(dart.dinvokef(test, element))) {
917 retained.add(element); 917 retained[core.$add](element);
918 } 918 }
919 if (length != list.length) { 919 if (length != list[core.$length]) {
920 throw new core.ConcurrentModificationError(list); 920 throw new core.ConcurrentModificationError(list);
921 } 921 }
922 } 922 }
923 if (retained.length == length) 923 if (retained[core.$length] == length)
924 return; 924 return;
925 list.length = retained.length; 925 list[core.$length] = retained[core.$length];
926 for (let i = 0; dart.notNull(i) < dart.notNull(retained.length); i = dar t.notNull(i) + 1) { 926 for (let i = 0; dart.notNull(i) < dart.notNull(retained[core.$length]); i = dart.notNull(i) + 1) {
927 list.set(i, retained.get(i)); 927 list[core.$set](i, retained[core.$get](i));
928 } 928 }
929 } 929 }
930 static isEmpty(iterable) { 930 static isEmpty(iterable) {
931 return !dart.notNull(iterable.iterator.moveNext()); 931 return !dart.notNull(iterable[core.$iterator].moveNext());
932 } 932 }
933 static first(iterable) { 933 static first(iterable) {
934 let it = iterable.iterator; 934 let it = iterable[core.$iterator];
935 if (!dart.notNull(it.moveNext())) { 935 if (!dart.notNull(it.moveNext())) {
936 throw IterableElementError.noElement(); 936 throw IterableElementError.noElement();
937 } 937 }
938 return it.current; 938 return it.current;
939 } 939 }
940 static last(iterable) { 940 static last(iterable) {
941 let it = iterable.iterator; 941 let it = iterable[core.$iterator];
942 if (!dart.notNull(it.moveNext())) { 942 if (!dart.notNull(it.moveNext())) {
943 throw IterableElementError.noElement(); 943 throw IterableElementError.noElement();
944 } 944 }
945 let result = null; 945 let result = null;
946 do { 946 do {
947 result = it.current; 947 result = it.current;
948 } while (it.moveNext()); 948 } while (it.moveNext());
949 return result; 949 return result;
950 } 950 }
951 static single(iterable) { 951 static single(iterable) {
952 let it = iterable.iterator; 952 let it = iterable[core.$iterator];
953 if (!dart.notNull(it.moveNext())) 953 if (!dart.notNull(it.moveNext()))
954 throw IterableElementError.noElement(); 954 throw IterableElementError.noElement();
955 let result = it.current; 955 let result = it.current;
956 if (it.moveNext()) 956 if (it.moveNext())
957 throw IterableElementError.tooMany(); 957 throw IterableElementError.tooMany();
958 return result; 958 return result;
959 } 959 }
960 static firstWhere(iterable, test, orElse) { 960 static firstWhere(iterable, test, orElse) {
961 for (let element of iterable) { 961 for (let element of iterable) {
962 if (dart.dinvokef(test, element)) 962 if (dart.dinvokef(test, element))
(...skipping 12 matching lines...) Expand all
975 foundMatching = true; 975 foundMatching = true;
976 } 976 }
977 } 977 }
978 if (foundMatching) 978 if (foundMatching)
979 return result; 979 return result;
980 if (orElse != null) 980 if (orElse != null)
981 return orElse(); 981 return orElse();
982 throw IterableElementError.noElement(); 982 throw IterableElementError.noElement();
983 } 983 }
984 static lastWhereList(list, test, orElse) { 984 static lastWhereList(list, test, orElse) {
985 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) { 985 for (let i = dart.notNull(list[core.$length]) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
986 let element = list.get(i); 986 let element = list[core.$get](i);
987 if (dart.dinvokef(test, element)) 987 if (dart.dinvokef(test, element))
988 return element; 988 return element;
989 } 989 }
990 if (orElse != null) 990 if (orElse != null)
991 return orElse(); 991 return orElse();
992 throw IterableElementError.noElement(); 992 throw IterableElementError.noElement();
993 } 993 }
994 static singleWhere(iterable, test) { 994 static singleWhere(iterable, test) {
995 let result = null; 995 let result = null;
996 let foundMatching = false; 996 let foundMatching = false;
(...skipping 25 matching lines...) Expand all
1022 static join(iterable, separator) { 1022 static join(iterable, separator) {
1023 if (separator === void 0) 1023 if (separator === void 0)
1024 separator = null; 1024 separator = null;
1025 let buffer = new core.StringBuffer(); 1025 let buffer = new core.StringBuffer();
1026 buffer.writeAll(iterable, separator); 1026 buffer.writeAll(iterable, separator);
1027 return buffer.toString(); 1027 return buffer.toString();
1028 } 1028 }
1029 static joinList(list, separator) { 1029 static joinList(list, separator) {
1030 if (separator === void 0) 1030 if (separator === void 0)
1031 separator = null; 1031 separator = null;
1032 if (list.isEmpty) 1032 if (list[core.$isEmpty])
1033 return ""; 1033 return "";
1034 if (list.length == 1) 1034 if (list[core.$length] == 1)
1035 return `${list.get(0)}`; 1035 return `${list[core.$get](0)}`;
1036 let buffer = new core.StringBuffer(); 1036 let buffer = new core.StringBuffer();
1037 if (separator.isEmpty) { 1037 if (separator.isEmpty) {
1038 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1038 for (let i = 0; dart.notNull(i) < dart.notNull(list[core.$length]); i = dart.notNull(i) + 1) {
1039 buffer.write(list.get(i)); 1039 buffer.write(list[core.$get](i));
1040 } 1040 }
1041 } else { 1041 } else {
1042 buffer.write(list.get(0)); 1042 buffer.write(list[core.$get](0));
1043 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1043 for (let i = 1; dart.notNull(i) < dart.notNull(list[core.$length]); i = dart.notNull(i) + 1) {
1044 buffer.write(separator); 1044 buffer.write(separator);
1045 buffer.write(list.get(i)); 1045 buffer.write(list[core.$get](i));
1046 } 1046 }
1047 } 1047 }
1048 return buffer.toString(); 1048 return buffer.toString();
1049 } 1049 }
1050 where(iterable, f) { 1050 where(iterable, f) {
1051 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar t.closureWrap(f, "(T) → bool")); 1051 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar t.closureWrap(f, "(T) → bool"));
1052 } 1052 }
1053 static map(iterable, f) { 1053 static map(iterable, f) {
1054 return new MappedIterable(iterable, f); 1054 return new MappedIterable(iterable, f);
1055 } 1055 }
(...skipping 19 matching lines...) Expand all
1075 return new (ReversedListIterable$(T))(dart.as(list, core.Iterable$(T))); 1075 return new (ReversedListIterable$(T))(dart.as(list, core.Iterable$(T)));
1076 } 1076 }
1077 static sortList(list, compare) { 1077 static sortList(list, compare) {
1078 if (compare == null) 1078 if (compare == null)
1079 compare = core.Comparable.compare; 1079 compare = core.Comparable.compare;
1080 Sort.sort(list, compare); 1080 Sort.sort(list, compare);
1081 } 1081 }
1082 static shuffleList(list, random) { 1082 static shuffleList(list, random) {
1083 if (random == null) 1083 if (random == null)
1084 random = new math.Random(); 1084 random = new math.Random();
1085 let length = list.length; 1085 let length = list[core.$length];
1086 while (dart.notNull(length) > 1) { 1086 while (dart.notNull(length) > 1) {
1087 let pos = random.nextInt(length); 1087 let pos = random.nextInt(length);
1088 length = 1; 1088 length = 1;
1089 let tmp = list.get(length); 1089 let tmp = list[core.$get](length);
1090 list.set(length, list.get(pos)); 1090 list[core.$set](length, list[core.$get](pos));
1091 list.set(pos, tmp); 1091 list[core.$set](pos, tmp);
1092 } 1092 }
1093 } 1093 }
1094 static indexOfList(list, element, start) { 1094 static indexOfList(list, element, start) {
1095 return Lists.indexOf(list, element, start, list.length); 1095 return Lists.indexOf(list, element, start, list[core.$length]);
1096 } 1096 }
1097 static lastIndexOfList(list, element, start) { 1097 static lastIndexOfList(list, element, start) {
1098 if (start == null) 1098 if (start == null)
1099 start = dart.notNull(list.length) - 1; 1099 start = dart.notNull(list[core.$length]) - 1;
1100 return Lists.lastIndexOf(list, element, start); 1100 return Lists.lastIndexOf(list, element, start);
1101 } 1101 }
1102 static [_rangeCheck](list, start, end) { 1102 static [_rangeCheck](list, start, end) {
1103 core.RangeError.checkValidRange(start, end, list.length); 1103 core.RangeError.checkValidRange(start, end, list[core.$length]);
1104 } 1104 }
1105 getRangeList(list, start, end) { 1105 getRangeList(list, start, end) {
1106 IterableMixinWorkaround[_rangeCheck](list, start, end); 1106 IterableMixinWorkaround[_rangeCheck](list, start, end);
1107 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start , end); 1107 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start , end);
1108 } 1108 }
1109 static setRangeList(list, start, end, from, skipCount) { 1109 static setRangeList(list, start, end, from, skipCount) {
1110 IterableMixinWorkaround[_rangeCheck](list, start, end); 1110 IterableMixinWorkaround[_rangeCheck](list, start, end);
1111 let length = dart.notNull(end) - dart.notNull(start); 1111 let length = dart.notNull(end) - dart.notNull(start);
1112 if (length == 0) 1112 if (length == 0)
1113 return; 1113 return;
1114 if (dart.notNull(skipCount) < 0) 1114 if (dart.notNull(skipCount) < 0)
1115 throw new core.ArgumentError(skipCount); 1115 throw new core.ArgumentError(skipCount);
1116 let otherList = null; 1116 let otherList = null;
1117 let otherStart = null; 1117 let otherStart = null;
1118 if (dart.is(from, core.List)) { 1118 if (dart.is(from, core.List)) {
1119 otherList = from; 1119 otherList = from;
1120 otherStart = skipCount; 1120 otherStart = skipCount;
1121 } else { 1121 } else {
1122 otherList = from.skip(skipCount).toList({growable: false}); 1122 otherList = from[core.$skip](skipCount)[core.$toList]({growable: false });
1123 otherStart = 0; 1123 otherStart = 0;
1124 } 1124 }
1125 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List.length)) { 1125 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List[core.$length])) {
1126 throw IterableElementError.tooFew(); 1126 throw IterableElementError.tooFew();
1127 } 1127 }
1128 Lists.copy(otherList, otherStart, list, start, length); 1128 Lists.copy(otherList, otherStart, list, start, length);
1129 } 1129 }
1130 static replaceRangeList(list, start, end, iterable) { 1130 static replaceRangeList(list, start, end, iterable) {
1131 IterableMixinWorkaround[_rangeCheck](list, start, end); 1131 IterableMixinWorkaround[_rangeCheck](list, start, end);
1132 if (!dart.is(iterable, EfficientLength)) { 1132 if (!dart.is(iterable, EfficientLength)) {
1133 iterable = iterable.toList(); 1133 iterable = iterable[core.$toList]();
1134 } 1134 }
1135 let removeLength = dart.notNull(end) - dart.notNull(start); 1135 let removeLength = dart.notNull(end) - dart.notNull(start);
1136 let insertLength = iterable.length; 1136 let insertLength = iterable[core.$length];
1137 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { 1137 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) {
1138 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); 1138 let delta = dart.notNull(removeLength) - dart.notNull(insertLength);
1139 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1139 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1140 let newEnd = dart.notNull(list.length) - dart.notNull(delta); 1140 let newEnd = dart.notNull(list[core.$length]) - dart.notNull(delta);
1141 list.setRange(start, insertEnd, iterable); 1141 list[core.$setRange](start, insertEnd, iterable);
1142 if (delta != 0) { 1142 if (delta != 0) {
1143 list.setRange(insertEnd, newEnd, list, end); 1143 list[core.$setRange](insertEnd, newEnd, list, end);
1144 list.length = newEnd; 1144 list[core.$length] = newEnd;
1145 } 1145 }
1146 } else { 1146 } else {
1147 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); 1147 let delta = dart.notNull(insertLength) - dart.notNull(removeLength);
1148 let newLength = dart.notNull(list.length) + dart.notNull(delta); 1148 let newLength = dart.notNull(list[core.$length]) + dart.notNull(delta) ;
1149 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1149 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1150 list.length = newLength; 1150 list[core.$length] = newLength;
1151 list.setRange(insertEnd, newLength, list, end); 1151 list[core.$setRange](insertEnd, newLength, list, end);
1152 list.setRange(start, insertEnd, iterable); 1152 list[core.$setRange](start, insertEnd, iterable);
1153 } 1153 }
1154 } 1154 }
1155 static fillRangeList(list, start, end, fillValue) { 1155 static fillRangeList(list, start, end, fillValue) {
1156 IterableMixinWorkaround[_rangeCheck](list, start, end); 1156 IterableMixinWorkaround[_rangeCheck](list, start, end);
1157 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 1157 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
1158 list.set(i, fillValue); 1158 list[core.$set](i, fillValue);
1159 } 1159 }
1160 } 1160 }
1161 static insertAllList(list, index, iterable) { 1161 static insertAllList(list, index, iterable) {
1162 core.RangeError.checkValueInInterval(index, 0, list.length, "index"); 1162 core.RangeError.checkValueInInterval(index, 0, list[core.$length], "inde x");
1163 if (!dart.is(iterable, EfficientLength)) { 1163 if (!dart.is(iterable, EfficientLength)) {
1164 iterable = iterable.toList({growable: false}); 1164 iterable = iterable[core.$toList]({growable: false});
1165 } 1165 }
1166 let insertionLength = iterable.length; 1166 let insertionLength = iterable[core.$length];
1167 list.length = insertionLength; 1167 list[core.$length] = insertionLength;
1168 list.setRange(dart.notNull(index) + dart.notNull(insertionLength), list. length, list, index); 1168 list[core.$setRange](dart.notNull(index) + dart.notNull(insertionLength) , list[core.$length], list, index);
1169 for (let element of iterable) { 1169 for (let element of iterable) {
1170 list.set(((x) => index = dart.notNull(x) + 1, x)(index), element); 1170 list[core.$set](((x) => index = dart.notNull(x) + 1, x)(index), elemen t);
1171 } 1171 }
1172 } 1172 }
1173 static setAllList(list, index, iterable) { 1173 static setAllList(list, index, iterable) {
1174 core.RangeError.checkValueInInterval(index, 0, list.length, "index"); 1174 core.RangeError.checkValueInInterval(index, 0, list[core.$length], "inde x");
1175 for (let element of iterable) { 1175 for (let element of iterable) {
1176 list.set(((x) => index = dart.notNull(x) + 1, x)(index), element); 1176 list[core.$set](((x) => index = dart.notNull(x) + 1, x)(index), elemen t);
1177 } 1177 }
1178 } 1178 }
1179 asMapList(l) { 1179 asMapList(l) {
1180 return new (ListMapView$(T))(dart.as(l, core.List$(T))); 1180 return new (ListMapView$(T))(dart.as(l, core.List$(T)));
1181 } 1181 }
1182 static setContainsAll(set, other) { 1182 static setContainsAll(set, other) {
1183 for (let element of other) { 1183 for (let element of other) {
1184 if (!dart.notNull(set.contains(element))) 1184 if (!dart.notNull(set[core.$contains](element)))
1185 return false; 1185 return false;
1186 } 1186 }
1187 return true; 1187 return true;
1188 } 1188 }
1189 static setIntersection(set, other, result) { 1189 static setIntersection(set, other, result) {
1190 let smaller = null; 1190 let smaller = null;
1191 let larger = null; 1191 let larger = null;
1192 if (dart.notNull(set.length) < dart.notNull(other.length)) { 1192 if (dart.notNull(set[core.$length]) < dart.notNull(other[core.$length])) {
1193 smaller = set; 1193 smaller = set;
1194 larger = other; 1194 larger = other;
1195 } else { 1195 } else {
1196 smaller = other; 1196 smaller = other;
1197 larger = set; 1197 larger = set;
1198 } 1198 }
1199 for (let element of smaller) { 1199 for (let element of smaller) {
1200 if (larger.contains(element)) { 1200 if (larger[core.$contains](element)) {
1201 result.add(element); 1201 result.add(element);
1202 } 1202 }
1203 } 1203 }
1204 return result; 1204 return result;
1205 } 1205 }
1206 static setUnion(set, other, result) { 1206 static setUnion(set, other, result) {
1207 result.addAll(set); 1207 result.addAll(set);
1208 result.addAll(other); 1208 result.addAll(other);
1209 return result; 1209 return result;
1210 } 1210 }
1211 static setDifference(set, other, result) { 1211 static setDifference(set, other, result) {
1212 for (let element of set) { 1212 for (let element of set) {
1213 if (!dart.notNull(other.contains(element))) { 1213 if (!dart.notNull(other[core.$contains](element))) {
1214 result.add(element); 1214 result.add(element);
1215 } 1215 }
1216 } 1216 }
1217 return result; 1217 return result;
1218 } 1218 }
1219 } 1219 }
1220 return IterableMixinWorkaround; 1220 return IterableMixinWorkaround;
1221 }); 1221 });
1222 let IterableMixinWorkaround = IterableMixinWorkaround$(dart.dynamic); 1222 let IterableMixinWorkaround = IterableMixinWorkaround$(dart.dynamic);
1223 class IterableElementError extends core.Object { 1223 class IterableElementError extends core.Object {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 } 1271 }
1272 replaceRange(start, end, iterable) { 1272 replaceRange(start, end, iterable) {
1273 throw new core.UnsupportedError("Cannot remove from a fixed-length list" ); 1273 throw new core.UnsupportedError("Cannot remove from a fixed-length list" );
1274 } 1274 }
1275 } 1275 }
1276 return FixedLengthListMixin; 1276 return FixedLengthListMixin;
1277 }); 1277 });
1278 let FixedLengthListMixin = FixedLengthListMixin$(dart.dynamic); 1278 let FixedLengthListMixin = FixedLengthListMixin$(dart.dynamic);
1279 let UnmodifiableListMixin$ = dart.generic(function(E) { 1279 let UnmodifiableListMixin$ = dart.generic(function(E) {
1280 class UnmodifiableListMixin extends core.Object { 1280 class UnmodifiableListMixin extends core.Object {
1281 set(index, value) { 1281 [core.$set](index, value) {
1282 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1282 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1283 } 1283 }
1284 set length(newLength) { 1284 set [core.$length](newLength) {
1285 throw new core.UnsupportedError("Cannot change the length of an unmodifi able list"); 1285 throw new core.UnsupportedError("Cannot change the length of an unmodifi able list");
1286 } 1286 }
1287 setAll(at, iterable) { 1287 [core.$setAll](at, iterable) {
1288 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1288 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1289 } 1289 }
1290 add(value) { 1290 [core.$add](value) {
1291 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1291 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1292 } 1292 }
1293 insert(index, value) { 1293 [core.$insert](index, value) {
1294 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1294 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1295 } 1295 }
1296 insertAll(at, iterable) { 1296 [core.$insertAll](at, iterable) {
1297 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1297 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1298 } 1298 }
1299 addAll(iterable) { 1299 [core.$addAll](iterable) {
1300 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1300 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1301 } 1301 }
1302 remove(element) { 1302 [core.$remove](element) {
1303 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1303 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1304 } 1304 }
1305 removeWhere(test) { 1305 [core.$removeWhere](test) {
1306 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1306 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1307 } 1307 }
1308 retainWhere(test) { 1308 [core.$retainWhere](test) {
1309 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1309 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1310 } 1310 }
1311 sort(compare) { 1311 [core.$sort](compare) {
1312 if (compare === void 0) 1312 if (compare === void 0)
1313 compare = null; 1313 compare = null;
1314 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1314 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1315 } 1315 }
1316 shuffle(random) { 1316 [core.$shuffle](random) {
1317 if (random === void 0) 1317 if (random === void 0)
1318 random = null; 1318 random = null;
1319 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1319 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1320 } 1320 }
1321 clear() { 1321 [core.$clear]() {
1322 throw new core.UnsupportedError("Cannot clear an unmodifiable list"); 1322 throw new core.UnsupportedError("Cannot clear an unmodifiable list");
1323 } 1323 }
1324 removeAt(index) { 1324 [core.$removeAt](index) {
1325 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1325 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1326 } 1326 }
1327 removeLast() { 1327 [core.$removeLast]() {
1328 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1328 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1329 } 1329 }
1330 setRange(start, end, iterable, skipCount) { 1330 [core.$setRange](start, end, iterable, skipCount) {
1331 if (skipCount === void 0) 1331 if (skipCount === void 0)
1332 skipCount = 0; 1332 skipCount = 0;
1333 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1333 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1334 } 1334 }
1335 removeRange(start, end) { 1335 [core.$removeRange](start, end) {
1336 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1336 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1337 } 1337 }
1338 replaceRange(start, end, iterable) { 1338 [core.$replaceRange](start, end, iterable) {
1339 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1339 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1340 } 1340 }
1341 fillRange(start, end, fillValue) { 1341 [core.$fillRange](start, end, fillValue) {
1342 if (fillValue === void 0) 1342 if (fillValue === void 0)
1343 fillValue = null; 1343 fillValue = null;
1344 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1344 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1345 } 1345 }
1346 } 1346 }
1347 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)]; 1347 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)];
1348 return UnmodifiableListMixin; 1348 return UnmodifiableListMixin;
1349 }); 1349 });
1350 let UnmodifiableListMixin = UnmodifiableListMixin$(dart.dynamic); 1350 let UnmodifiableListMixin = UnmodifiableListMixin$(dart.dynamic);
1351 let FixedLengthListBase$ = dart.generic(function(E) { 1351 let FixedLengthListBase$ = dart.generic(function(E) {
1352 class FixedLengthListBase extends dart.mixin(FixedLengthListMixin$(E)) { 1352 class FixedLengthListBase extends dart.mixin(FixedLengthListMixin$(E)) {
1353 } 1353 }
1354 return FixedLengthListBase; 1354 return FixedLengthListBase;
1355 }); 1355 });
1356 let FixedLengthListBase = FixedLengthListBase$(dart.dynamic); 1356 let FixedLengthListBase = FixedLengthListBase$(dart.dynamic);
1357 let UnmodifiableListBase$ = dart.generic(function(E) { 1357 let UnmodifiableListBase$ = dart.generic(function(E) {
1358 class UnmodifiableListBase extends dart.mixin(UnmodifiableListMixin$(E)) { 1358 class UnmodifiableListBase extends dart.mixin(UnmodifiableListMixin$(E)) {
1359 } 1359 }
1360 return UnmodifiableListBase; 1360 return UnmodifiableListBase;
1361 }); 1361 });
1362 let UnmodifiableListBase = UnmodifiableListBase$(dart.dynamic); 1362 let UnmodifiableListBase = UnmodifiableListBase$(dart.dynamic);
1363 let _backedList = dart.JsSymbol('_backedList'); 1363 let _backedList = dart.JsSymbol('_backedList');
1364 class _ListIndicesIterable extends ListIterable$(core.int) { 1364 class _ListIndicesIterable extends ListIterable$(core.int) {
1365 _ListIndicesIterable(backedList) { 1365 _ListIndicesIterable(backedList) {
1366 this[_backedList] = backedList; 1366 this[_backedList] = backedList;
1367 super.ListIterable(); 1367 super.ListIterable();
1368 } 1368 }
1369 get length() { 1369 get [core.$length]() {
1370 return this[_backedList].length; 1370 return this[_backedList][core.$length];
1371 } 1371 }
1372 elementAt(index) { 1372 [core.$elementAt](index) {
1373 core.RangeError.checkValidIndex(index, this); 1373 core.RangeError.checkValidIndex(index, this);
1374 return index; 1374 return index;
1375 } 1375 }
1376 } 1376 }
1377 let _values = dart.JsSymbol('_values'); 1377 let _values = dart.JsSymbol('_values');
1378 let ListMapView$ = dart.generic(function(E) { 1378 let ListMapView$ = dart.generic(function(E) {
1379 class ListMapView extends core.Object { 1379 class ListMapView extends core.Object {
1380 ListMapView(values) { 1380 ListMapView(values) {
1381 this[_values] = values; 1381 this[_values] = values;
1382 } 1382 }
1383 get(key) { 1383 get(key) {
1384 return this.containsKey(key) ? this[_values].get(key) : null; 1384 return this.containsKey(key) ? this[_values][core.$get](key) : null;
1385 } 1385 }
1386 get length() { 1386 get length() {
1387 return this[_values].length; 1387 return this[_values][core.$length];
1388 } 1388 }
1389 get values() { 1389 get values() {
1390 return new (SubListIterable$(E))(this[_values], 0, null); 1390 return new (SubListIterable$(E))(this[_values], 0, null);
1391 } 1391 }
1392 get keys() { 1392 get keys() {
1393 return new _ListIndicesIterable(this[_values]); 1393 return new _ListIndicesIterable(this[_values]);
1394 } 1394 }
1395 get isEmpty() { 1395 get isEmpty() {
1396 return this[_values].isEmpty; 1396 return this[_values][core.$isEmpty];
1397 } 1397 }
1398 get isNotEmpty() { 1398 get isNotEmpty() {
1399 return this[_values].isNotEmpty; 1399 return this[_values][core.$isNotEmpty];
1400 } 1400 }
1401 containsValue(value) { 1401 containsValue(value) {
1402 return this[_values].contains(value); 1402 return this[_values][core.$contains](value);
1403 } 1403 }
1404 containsKey(key) { 1404 containsKey(key) {
1405 return dart.notNull(typeof key == 'number') && dart.notNull(key) >= 0 && dart.notNull(key) < dart.notNull(this.length); 1405 return dart.notNull(typeof key == 'number') && dart.notNull(key) >= 0 && dart.notNull(key) < dart.notNull(this.length);
1406 } 1406 }
1407 forEach(f) { 1407 forEach(f) {
1408 let length = this[_values].length; 1408 let length = this[_values][core.$length];
1409 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1409 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1410 f(i, this[_values].get(i)); 1410 f(i, this[_values][core.$get](i));
1411 if (length != this[_values].length) { 1411 if (length != this[_values][core.$length]) {
1412 throw new core.ConcurrentModificationError(this[_values]); 1412 throw new core.ConcurrentModificationError(this[_values]);
1413 } 1413 }
1414 } 1414 }
1415 } 1415 }
1416 set(key, value) { 1416 set(key, value) {
1417 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1417 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1418 } 1418 }
1419 putIfAbsent(key, ifAbsent) { 1419 putIfAbsent(key, ifAbsent) {
1420 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1420 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1421 } 1421 }
(...skipping 13 matching lines...) Expand all
1435 ListMapView[dart.implements] = () => [core.Map$(core.int, E)]; 1435 ListMapView[dart.implements] = () => [core.Map$(core.int, E)];
1436 return ListMapView; 1436 return ListMapView;
1437 }); 1437 });
1438 let ListMapView = ListMapView$(dart.dynamic); 1438 let ListMapView = ListMapView$(dart.dynamic);
1439 let ReversedListIterable$ = dart.generic(function(E) { 1439 let ReversedListIterable$ = dart.generic(function(E) {
1440 class ReversedListIterable extends ListIterable$(E) { 1440 class ReversedListIterable extends ListIterable$(E) {
1441 ReversedListIterable(source) { 1441 ReversedListIterable(source) {
1442 this[_source] = source; 1442 this[_source] = source;
1443 super.ListIterable(); 1443 super.ListIterable();
1444 } 1444 }
1445 get length() { 1445 get [core.$length]() {
1446 return this[_source].length; 1446 return this[_source][core.$length];
1447 } 1447 }
1448 elementAt(index) { 1448 [core.$elementAt](index) {
1449 return this[_source].elementAt(dart.notNull(this[_source].length) - 1 - dart.notNull(index)); 1449 return this[_source][core.$elementAt](dart.notNull(this[_source][core.$l ength]) - 1 - dart.notNull(index));
1450 } 1450 }
1451 } 1451 }
1452 return ReversedListIterable; 1452 return ReversedListIterable;
1453 }); 1453 });
1454 let ReversedListIterable = ReversedListIterable$(dart.dynamic); 1454 let ReversedListIterable = ReversedListIterable$(dart.dynamic);
1455 class UnmodifiableListError extends core.Object { 1455 class UnmodifiableListError extends core.Object {
1456 static add() { 1456 static add() {
1457 return new core.UnsupportedError("Cannot add to unmodifiable List"); 1457 return new core.UnsupportedError("Cannot add to unmodifiable List");
1458 } 1458 }
1459 static change() { 1459 static change() {
(...skipping 19 matching lines...) Expand all
1479 } 1479 }
1480 // Function makeListFixedLength: (List<dynamic>) → List 1480 // Function makeListFixedLength: (List<dynamic>) → List
1481 function makeListFixedLength(growableList) { 1481 function makeListFixedLength(growableList) {
1482 _interceptors.JSArray.markFixedList(growableList); 1482 _interceptors.JSArray.markFixedList(growableList);
1483 return growableList; 1483 return growableList;
1484 } 1484 }
1485 class Lists extends core.Object { 1485 class Lists extends core.Object {
1486 static copy(src, srcStart, dst, dstStart, count) { 1486 static copy(src, srcStart, dst, dstStart, count) {
1487 if (dart.notNull(srcStart) < dart.notNull(dstStart)) { 1487 if (dart.notNull(srcStart) < dart.notNull(dstStart)) {
1488 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart. notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) { 1488 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart. notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) {
1489 dst.set(j, src.get(i)); 1489 dst[core.$set](j, src[core.$get](i));
1490 } 1490 }
1491 } else { 1491 } else {
1492 for (let i = srcStart, j = dstStart; dart.notNull(i) < dart.notNull(srcS tart) + dart.notNull(count); i = dart.notNull(i) + 1, j = dart.notNull(j) + 1) { 1492 for (let i = srcStart, j = dstStart; dart.notNull(i) < dart.notNull(srcS tart) + dart.notNull(count); i = dart.notNull(i) + 1, j = dart.notNull(j) + 1) {
1493 dst.set(j, src.get(i)); 1493 dst[core.$set](j, src[core.$get](i));
1494 } 1494 }
1495 } 1495 }
1496 } 1496 }
1497 static areEqual(a, b) { 1497 static areEqual(a, b) {
1498 if (core.identical(a, b)) 1498 if (core.identical(a, b))
1499 return true; 1499 return true;
1500 if (!dart.notNull(dart.is(b, core.List))) 1500 if (!dart.notNull(dart.is(b, core.List)))
1501 return false; 1501 return false;
1502 let length = a.length; 1502 let length = a[core.$length];
1503 if (!dart.equals(length, dart.dload(b, 'length'))) 1503 if (!dart.equals(length, dart.dload(b, 'length')))
1504 return false; 1504 return false;
1505 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 1505 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
1506 if (!dart.notNull(core.identical(a.get(i), dart.dindex(b, i)))) 1506 if (!dart.notNull(core.identical(a[core.$get](i), dart.dindex(b, i))))
1507 return false; 1507 return false;
1508 } 1508 }
1509 return true; 1509 return true;
1510 } 1510 }
1511 static indexOf(a, element, startIndex, endIndex) { 1511 static indexOf(a, element, startIndex, endIndex) {
1512 if (dart.notNull(startIndex) >= dart.notNull(a.length)) { 1512 if (dart.notNull(startIndex) >= dart.notNull(a[core.$length])) {
1513 return -1; 1513 return -1;
1514 } 1514 }
1515 if (dart.notNull(startIndex) < 0) { 1515 if (dart.notNull(startIndex) < 0) {
1516 startIndex = 0; 1516 startIndex = 0;
1517 } 1517 }
1518 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar t.notNull(i) + 1) { 1518 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar t.notNull(i) + 1) {
1519 if (dart.equals(a.get(i), element)) { 1519 if (dart.equals(a[core.$get](i), element)) {
1520 return i; 1520 return i;
1521 } 1521 }
1522 } 1522 }
1523 return -1; 1523 return -1;
1524 } 1524 }
1525 static lastIndexOf(a, element, startIndex) { 1525 static lastIndexOf(a, element, startIndex) {
1526 if (dart.notNull(startIndex) < 0) { 1526 if (dart.notNull(startIndex) < 0) {
1527 return -1; 1527 return -1;
1528 } 1528 }
1529 if (dart.notNull(startIndex) >= dart.notNull(a.length)) { 1529 if (dart.notNull(startIndex) >= dart.notNull(a[core.$length])) {
1530 startIndex = dart.notNull(a.length) - 1; 1530 startIndex = dart.notNull(a[core.$length]) - 1;
1531 } 1531 }
1532 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { 1532 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
1533 if (dart.equals(a.get(i), element)) { 1533 if (dart.equals(a[core.$get](i), element)) {
1534 return i; 1534 return i;
1535 } 1535 }
1536 } 1536 }
1537 return -1; 1537 return -1;
1538 } 1538 }
1539 static indicesCheck(a, start, end) { 1539 static indicesCheck(a, start, end) {
1540 core.RangeError.checkValidRange(start, end, a.length); 1540 core.RangeError.checkValidRange(start, end, a[core.$length]);
1541 } 1541 }
1542 static rangeCheck(a, start, length) { 1542 static rangeCheck(a, start, length) {
1543 core.RangeError.checkNotNegative(length); 1543 core.RangeError.checkNotNegative(length);
1544 core.RangeError.checkNotNegative(start); 1544 core.RangeError.checkNotNegative(start);
1545 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a.length)) { 1545 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a[core.$leng th])) {
1546 let message = `${start} + ${length} must be in the range [0..${a.length} ]`; 1546 let message = `${start} + ${length} must be in the range [0..${a[core.$l ength]}]`;
1547 throw new core.RangeError.range(length, 0, dart.notNull(a.length) - dart .notNull(start), "length", message); 1547 throw new core.RangeError.range(length, 0, dart.notNull(a[core.$length]) - dart.notNull(start), "length", message);
1548 } 1548 }
1549 } 1549 }
1550 } 1550 }
1551 exports.printToZone = null; 1551 exports.printToZone = null;
1552 // Function printToConsole: (String) → void 1552 // Function printToConsole: (String) → void
1553 function printToConsole(line) { 1553 function printToConsole(line) {
1554 _js_primitives.printString(`${line}`); 1554 _js_primitives.printString(`${line}`);
1555 } 1555 }
1556 let _doSort = dart.JsSymbol('_doSort'); 1556 let _doSort = dart.JsSymbol('_doSort');
1557 let _INSERTION_SORT_THRESHOLD = dart.JsSymbol('_INSERTION_SORT_THRESHOLD'); 1557 let _INSERTION_SORT_THRESHOLD = dart.JsSymbol('_INSERTION_SORT_THRESHOLD');
1558 let _insertionSort = dart.JsSymbol('_insertionSort'); 1558 let _insertionSort = dart.JsSymbol('_insertionSort');
1559 let _dualPivotQuicksort = dart.JsSymbol('_dualPivotQuicksort'); 1559 let _dualPivotQuicksort = dart.JsSymbol('_dualPivotQuicksort');
1560 class Sort extends core.Object { 1560 class Sort extends core.Object {
1561 static sort(a, compare) { 1561 static sort(a, compare) {
1562 Sort[_doSort](a, 0, dart.notNull(a.length) - 1, compare); 1562 Sort[_doSort](a, 0, dart.notNull(a[core.$length]) - 1, compare);
1563 } 1563 }
1564 static sortRange(a, from, to, compare) { 1564 static sortRange(a, from, to, compare) {
1565 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a.length) || dart.notNull(to) < dart.notNull(from)) { 1565 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a[core.$leng th]) || dart.notNull(to) < dart.notNull(from)) {
1566 throw "OutOfRange"; 1566 throw "OutOfRange";
1567 } 1567 }
1568 Sort[_doSort](a, from, dart.notNull(to) - 1, compare); 1568 Sort[_doSort](a, from, dart.notNull(to) - 1, compare);
1569 } 1569 }
1570 static [_doSort](a, left, right, compare) { 1570 static [_doSort](a, left, right, compare) {
1571 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort[_INSERTI ON_SORT_THRESHOLD])) { 1571 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort[_INSERTI ON_SORT_THRESHOLD])) {
1572 Sort[_insertionSort](a, left, right, compare); 1572 Sort[_insertionSort](a, left, right, compare);
1573 } else { 1573 } else {
1574 Sort[_dualPivotQuicksort](a, left, right, compare); 1574 Sort[_dualPivotQuicksort](a, left, right, compare);
1575 } 1575 }
1576 } 1576 }
1577 static [_insertionSort](a, left, right, compare) { 1577 static [_insertionSort](a, left, right, compare) {
1578 for (let i = dart.notNull(left) + 1; dart.notNull(i) <= dart.notNull(right ); i = dart.notNull(i) + 1) { 1578 for (let i = dart.notNull(left) + 1; dart.notNull(i) <= dart.notNull(right ); i = dart.notNull(i) + 1) {
1579 let el = a.get(i); 1579 let el = a[core.$get](i);
1580 let j = i; 1580 let j = i;
1581 while (dart.notNull(j) > dart.notNull(left) && dart.notNull(dart.dinvoke f(compare, a.get(dart.notNull(j) - 1), el)) > 0) { 1581 while (dart.notNull(j) > dart.notNull(left) && dart.notNull(dart.dinvoke f(compare, a[core.$get](dart.notNull(j) - 1), el)) > 0) {
1582 a.set(j, a.get(dart.notNull(j) - 1)); 1582 a[core.$set](j, a[core.$get](dart.notNull(j) - 1));
1583 j = dart.notNull(j) - 1; 1583 j = dart.notNull(j) - 1;
1584 } 1584 }
1585 a.set(j, el); 1585 a[core.$set](j, el);
1586 } 1586 }
1587 } 1587 }
1588 static [_dualPivotQuicksort](a, left, right, compare) { 1588 static [_dualPivotQuicksort](a, left, right, compare) {
1589 dart.assert(dart.notNull(right) - dart.notNull(left) > dart.notNull(Sort[_ INSERTION_SORT_THRESHOLD])); 1589 dart.assert(dart.notNull(right) - dart.notNull(left) > dart.notNull(Sort[_ INSERTION_SORT_THRESHOLD]));
1590 let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6).truncate( ); 1590 let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6).truncate( );
1591 let index1 = dart.notNull(left) + dart.notNull(sixth); 1591 let index1 = dart.notNull(left) + dart.notNull(sixth);
1592 let index5 = dart.notNull(right) - dart.notNull(sixth); 1592 let index5 = dart.notNull(right) - dart.notNull(sixth);
1593 let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2).truncate(); 1593 let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2).truncate();
1594 let index2 = dart.notNull(index3) - dart.notNull(sixth); 1594 let index2 = dart.notNull(index3) - dart.notNull(sixth);
1595 let index4 = dart.notNull(index3) + dart.notNull(sixth); 1595 let index4 = dart.notNull(index3) + dart.notNull(sixth);
1596 let el1 = a.get(index1); 1596 let el1 = a[core.$get](index1);
1597 let el2 = a.get(index2); 1597 let el2 = a[core.$get](index2);
1598 let el3 = a.get(index3); 1598 let el3 = a[core.$get](index3);
1599 let el4 = a.get(index4); 1599 let el4 = a[core.$get](index4);
1600 let el5 = a.get(index5); 1600 let el5 = a[core.$get](index5);
1601 if (dart.notNull(dart.dinvokef(compare, el1, el2)) > 0) { 1601 if (dart.notNull(dart.dinvokef(compare, el1, el2)) > 0) {
1602 let t = el1; 1602 let t = el1;
1603 el1 = el2; 1603 el1 = el2;
1604 el2 = t; 1604 el2 = t;
1605 } 1605 }
1606 if (dart.notNull(dart.dinvokef(compare, el4, el5)) > 0) { 1606 if (dart.notNull(dart.dinvokef(compare, el4, el5)) > 0) {
1607 let t = el4; 1607 let t = el4;
1608 el4 = el5; 1608 el4 = el5;
1609 el5 = t; 1609 el5 = t;
1610 } 1610 }
(...skipping 27 matching lines...) Expand all
1638 el2 = el3; 1638 el2 = el3;
1639 el3 = t; 1639 el3 = t;
1640 } 1640 }
1641 if (dart.notNull(dart.dinvokef(compare, el4, el5)) > 0) { 1641 if (dart.notNull(dart.dinvokef(compare, el4, el5)) > 0) {
1642 let t = el4; 1642 let t = el4;
1643 el4 = el5; 1643 el4 = el5;
1644 el5 = t; 1644 el5 = t;
1645 } 1645 }
1646 let pivot1 = el2; 1646 let pivot1 = el2;
1647 let pivot2 = el4; 1647 let pivot2 = el4;
1648 a.set(index1, el1); 1648 a[core.$set](index1, el1);
1649 a.set(index3, el3); 1649 a[core.$set](index3, el3);
1650 a.set(index5, el5); 1650 a[core.$set](index5, el5);
1651 a.set(index2, a.get(left)); 1651 a[core.$set](index2, a[core.$get](left));
1652 a.set(index4, a.get(right)); 1652 a[core.$set](index4, a[core.$get](right));
1653 let less = dart.notNull(left) + 1; 1653 let less = dart.notNull(left) + 1;
1654 let great = dart.notNull(right) - 1; 1654 let great = dart.notNull(right) - 1;
1655 let pivots_are_equal = dart.dinvokef(compare, pivot1, pivot2) == 0; 1655 let pivots_are_equal = dart.dinvokef(compare, pivot1, pivot2) == 0;
1656 if (pivots_are_equal) { 1656 if (pivots_are_equal) {
1657 let pivot = pivot1; 1657 let pivot = pivot1;
1658 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 1658 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
1659 let ak = a.get(k); 1659 let ak = a[core.$get](k);
1660 let comp = dart.dinvokef(compare, ak, pivot); 1660 let comp = dart.dinvokef(compare, ak, pivot);
1661 if (comp == 0) 1661 if (comp == 0)
1662 continue; 1662 continue;
1663 if (dart.notNull(comp) < 0) { 1663 if (dart.notNull(comp) < 0) {
1664 if (k != less) { 1664 if (k != less) {
1665 a.set(k, a.get(less)); 1665 a[core.$set](k, a[core.$get](less));
1666 a.set(less, ak); 1666 a[core.$set](less, ak);
1667 } 1667 }
1668 less = dart.notNull(less) + 1; 1668 less = dart.notNull(less) + 1;
1669 } else { 1669 } else {
1670 while (true) { 1670 while (true) {
1671 comp = dart.dinvokef(compare, a.get(great), pivot); 1671 comp = dart.dinvokef(compare, a[core.$get](great), pivot);
1672 if (dart.notNull(comp) > 0) { 1672 if (dart.notNull(comp) > 0) {
1673 great = dart.notNull(great) - 1; 1673 great = dart.notNull(great) - 1;
1674 continue; 1674 continue;
1675 } else if (dart.notNull(comp) < 0) { 1675 } else if (dart.notNull(comp) < 0) {
1676 a.set(k, a.get(less)); 1676 a[core.$set](k, a[core.$get](less));
1677 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(great) ); 1677 a[core.$set](((x) => less = dart.notNull(x) + 1, x)(less), a[cor e.$get](great));
1678 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1678 a[core.$set](((x) => great = dart.notNull(x) - 1, x)(great), ak) ;
1679 break; 1679 break;
1680 } else { 1680 } else {
1681 a.set(k, a.get(great)); 1681 a[core.$set](k, a[core.$get](great));
1682 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1682 a[core.$set](((x) => great = dart.notNull(x) - 1, x)(great), ak) ;
1683 break; 1683 break;
1684 } 1684 }
1685 } 1685 }
1686 } 1686 }
1687 } 1687 }
1688 } else { 1688 } else {
1689 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 1689 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
1690 let ak = a.get(k); 1690 let ak = a[core.$get](k);
1691 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1); 1691 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1);
1692 if (dart.notNull(comp_pivot1) < 0) { 1692 if (dart.notNull(comp_pivot1) < 0) {
1693 if (k != less) { 1693 if (k != less) {
1694 a.set(k, a.get(less)); 1694 a[core.$set](k, a[core.$get](less));
1695 a.set(less, ak); 1695 a[core.$set](less, ak);
1696 } 1696 }
1697 less = dart.notNull(less) + 1; 1697 less = dart.notNull(less) + 1;
1698 } else { 1698 } else {
1699 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2); 1699 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2);
1700 if (dart.notNull(comp_pivot2) > 0) { 1700 if (dart.notNull(comp_pivot2) > 0) {
1701 while (true) { 1701 while (true) {
1702 let comp = dart.dinvokef(compare, a.get(great), pivot2); 1702 let comp = dart.dinvokef(compare, a[core.$get](great), pivot2);
1703 if (dart.notNull(comp) > 0) { 1703 if (dart.notNull(comp) > 0) {
1704 great = dart.notNull(great) - 1; 1704 great = dart.notNull(great) - 1;
1705 if (dart.notNull(great) < dart.notNull(k)) 1705 if (dart.notNull(great) < dart.notNull(k))
1706 break; 1706 break;
1707 continue; 1707 continue;
1708 } else { 1708 } else {
1709 comp = dart.dinvokef(compare, a.get(great), pivot1); 1709 comp = dart.dinvokef(compare, a[core.$get](great), pivot1);
1710 if (dart.notNull(comp) < 0) { 1710 if (dart.notNull(comp) < 0) {
1711 a.set(k, a.get(less)); 1711 a[core.$set](k, a[core.$get](less));
1712 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(gr eat)); 1712 a[core.$set](((x) => less = dart.notNull(x) + 1, x)(less), a [core.$get](great));
1713 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1713 a[core.$set](((x) => great = dart.notNull(x) - 1, x)(great), ak);
1714 } else { 1714 } else {
1715 a.set(k, a.get(great)); 1715 a[core.$set](k, a[core.$get](great));
1716 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1716 a[core.$set](((x) => great = dart.notNull(x) - 1, x)(great), ak);
1717 } 1717 }
1718 break; 1718 break;
1719 } 1719 }
1720 } 1720 }
1721 } 1721 }
1722 } 1722 }
1723 } 1723 }
1724 } 1724 }
1725 a.set(left, a.get(dart.notNull(less) - 1)); 1725 a[core.$set](left, a[core.$get](dart.notNull(less) - 1));
1726 a.set(dart.notNull(less) - 1, pivot1); 1726 a[core.$set](dart.notNull(less) - 1, pivot1);
1727 a.set(right, a.get(dart.notNull(great) + 1)); 1727 a[core.$set](right, a[core.$get](dart.notNull(great) + 1));
1728 a.set(dart.notNull(great) + 1, pivot2); 1728 a[core.$set](dart.notNull(great) + 1, pivot2);
1729 Sort[_doSort](a, left, dart.notNull(less) - 2, compare); 1729 Sort[_doSort](a, left, dart.notNull(less) - 2, compare);
1730 Sort[_doSort](a, dart.notNull(great) + 2, right, compare); 1730 Sort[_doSort](a, dart.notNull(great) + 2, right, compare);
1731 if (pivots_are_equal) { 1731 if (pivots_are_equal) {
1732 return; 1732 return;
1733 } 1733 }
1734 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) { 1734 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) {
1735 while (dart.dinvokef(compare, a.get(less), pivot1) == 0) { 1735 while (dart.dinvokef(compare, a[core.$get](less), pivot1) == 0) {
1736 less = dart.notNull(less) + 1; 1736 less = dart.notNull(less) + 1;
1737 } 1737 }
1738 while (dart.dinvokef(compare, a.get(great), pivot2) == 0) { 1738 while (dart.dinvokef(compare, a[core.$get](great), pivot2) == 0) {
1739 great = dart.notNull(great) - 1; 1739 great = dart.notNull(great) - 1;
1740 } 1740 }
1741 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 1741 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
1742 let ak = a.get(k); 1742 let ak = a[core.$get](k);
1743 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1); 1743 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1);
1744 if (comp_pivot1 == 0) { 1744 if (comp_pivot1 == 0) {
1745 if (k != less) { 1745 if (k != less) {
1746 a.set(k, a.get(less)); 1746 a[core.$set](k, a[core.$get](less));
1747 a.set(less, ak); 1747 a[core.$set](less, ak);
1748 } 1748 }
1749 less = dart.notNull(less) + 1; 1749 less = dart.notNull(less) + 1;
1750 } else { 1750 } else {
1751 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2); 1751 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2);
1752 if (comp_pivot2 == 0) { 1752 if (comp_pivot2 == 0) {
1753 while (true) { 1753 while (true) {
1754 let comp = dart.dinvokef(compare, a.get(great), pivot2); 1754 let comp = dart.dinvokef(compare, a[core.$get](great), pivot2);
1755 if (comp == 0) { 1755 if (comp == 0) {
1756 great = dart.notNull(great) - 1; 1756 great = dart.notNull(great) - 1;
1757 if (dart.notNull(great) < dart.notNull(k)) 1757 if (dart.notNull(great) < dart.notNull(k))
1758 break; 1758 break;
1759 continue; 1759 continue;
1760 } else { 1760 } else {
1761 comp = dart.dinvokef(compare, a.get(great), pivot1); 1761 comp = dart.dinvokef(compare, a[core.$get](great), pivot1);
1762 if (dart.notNull(comp) < 0) { 1762 if (dart.notNull(comp) < 0) {
1763 a.set(k, a.get(less)); 1763 a[core.$set](k, a[core.$get](less));
1764 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(gr eat)); 1764 a[core.$set](((x) => less = dart.notNull(x) + 1, x)(less), a [core.$get](great));
1765 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1765 a[core.$set](((x) => great = dart.notNull(x) - 1, x)(great), ak);
1766 } else { 1766 } else {
1767 a.set(k, a.get(great)); 1767 a[core.$set](k, a[core.$get](great));
1768 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1768 a[core.$set](((x) => great = dart.notNull(x) - 1, x)(great), ak);
1769 } 1769 }
1770 break; 1770 break;
1771 } 1771 }
1772 } 1772 }
1773 } 1773 }
1774 } 1774 }
1775 } 1775 }
1776 Sort[_doSort](a, less, great, compare); 1776 Sort[_doSort](a, less, great, compare);
1777 } else { 1777 } else {
1778 Sort[_doSort](a, less, great, compare); 1778 Sort[_doSort](a, less, great, compare);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
1899 exports.ReversedListIterable$ = ReversedListIterable$; 1899 exports.ReversedListIterable$ = ReversedListIterable$;
1900 exports.UnmodifiableListError = UnmodifiableListError; 1900 exports.UnmodifiableListError = UnmodifiableListError;
1901 exports.NonGrowableListError = NonGrowableListError; 1901 exports.NonGrowableListError = NonGrowableListError;
1902 exports.makeListFixedLength = makeListFixedLength; 1902 exports.makeListFixedLength = makeListFixedLength;
1903 exports.Lists = Lists; 1903 exports.Lists = Lists;
1904 exports.printToConsole = printToConsole; 1904 exports.printToConsole = printToConsole;
1905 exports.Sort = Sort; 1905 exports.Sort = Sort;
1906 exports.Symbol = Symbol; 1906 exports.Symbol = Symbol;
1907 exports.POWERS_OF_TEN = POWERS_OF_TEN; 1907 exports.POWERS_OF_TEN = POWERS_OF_TEN;
1908 })(_internal || (_internal = {})); 1908 })(_internal || (_internal = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/_interceptors.js ('k') | lib/runtime/dart/_isolate_helper.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698