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

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

Issue 1047023002: use == and != to enable handling null/undefined (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: 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 iterator() {
12 return new ListIterator(this); 12 return new ListIterator(this);
13 } 13 }
14 forEach(action) { 14 forEach(action) {
15 let length = this.length; 15 let length = this.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.length) {
19 throw new core.ConcurrentModificationError(this); 19 throw new core.ConcurrentModificationError(this);
20 } 20 }
21 } 21 }
22 } 22 }
23 get isEmpty() { 23 get isEmpty() {
24 return this.length === 0; 24 return this.length == 0;
25 } 25 }
26 get first() { 26 get 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 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 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 contains(element) {
44 let length = this.length; 44 let length = this.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.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 every(test) {
55 let length = this.length; 55 let length = this.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.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 any(test) {
66 let length = this.length; 66 let length = this.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.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 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.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.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 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.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.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 singleWhere(test) {
107 let length = this.length; 107 let length = this.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.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 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.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.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.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.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 where(test) {
159 return super.where(test); 159 return super.where(test);
160 } 160 }
161 map(f) { 161 map(f) {
162 return new MappedListIterable(this, f); 162 return new MappedListIterable(this, f);
163 } 163 }
164 reduce(combine) { 164 reduce(combine) {
165 let length = this.length; 165 let length = this.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.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 fold(initialValue, combine) {
178 let value = initialValue; 178 let value = initialValue;
179 let length = this.length; 179 let length = this.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.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 skip(count) {
189 return new SubListIterable(this, count, null); 189 return new SubListIterable(this, count, null);
190 } 190 }
191 skipWhile(test) { 191 skipWhile(test) {
192 return super.skipWhile(test); 192 return super.skipWhile(test);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 let _endIndex = Symbol('_endIndex'); 230 let _endIndex = Symbol('_endIndex');
231 let _startIndex = Symbol('_startIndex'); 231 let _startIndex = Symbol('_startIndex');
232 let SubListIterable$ = dart.generic(function(E) { 232 let SubListIterable$ = dart.generic(function(E) {
233 class SubListIterable extends ListIterable$(E) { 233 class SubListIterable extends ListIterable$(E) {
234 SubListIterable(iterable$, start$, endOrLength) { 234 SubListIterable(iterable$, start$, endOrLength) {
235 this[_iterable] = iterable$; 235 this[_iterable] = iterable$;
236 this[_start] = start$; 236 this[_start] = start$;
237 this[_endOrLength] = endOrLength; 237 this[_endOrLength] = endOrLength;
238 super.ListIterable(); 238 super.ListIterable();
239 core.RangeError.checkNotNegative(this[_start], "start"); 239 core.RangeError.checkNotNegative(this[_start], "start");
240 if (this[_endOrLength] !== null) { 240 if (this[_endOrLength] != null) {
241 core.RangeError.checkNotNegative(this[_endOrLength], "end"); 241 core.RangeError.checkNotNegative(this[_endOrLength], "end");
242 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { 242 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) {
243 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start"); 243 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start");
244 } 244 }
245 } 245 }
246 } 246 }
247 get [_endIndex]() { 247 get [_endIndex]() {
248 let length = this[_iterable].length; 248 let length = this[_iterable].length;
249 if (this[_endOrLength] === null || dart.notNull(this[_endOrLength]) > da rt.notNull(length)) 249 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length))
250 return length; 250 return length;
251 return this[_endOrLength]; 251 return this[_endOrLength];
252 } 252 }
253 get [_startIndex]() { 253 get [_startIndex]() {
254 let length = this[_iterable].length; 254 let length = this[_iterable].length;
255 if (dart.notNull(this[_start]) > dart.notNull(length)) 255 if (dart.notNull(this[_start]) > dart.notNull(length))
256 return length; 256 return length;
257 return this[_start]; 257 return this[_start];
258 } 258 }
259 get length() { 259 get length() {
260 let length = this[_iterable].length; 260 let length = this[_iterable].length;
261 if (dart.notNull(this[_start]) >= dart.notNull(length)) 261 if (dart.notNull(this[_start]) >= dart.notNull(length))
262 return 0; 262 return 0;
263 if (this[_endOrLength] === null || dart.notNull(this[_endOrLength]) >= d art.notNull(length)) { 263 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) {
264 return dart.notNull(length) - dart.notNull(this[_start]); 264 return dart.notNull(length) - dart.notNull(this[_start]);
265 } 265 }
266 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); 266 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]);
267 } 267 }
268 elementAt(index) { 268 elementAt(index) {
269 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); 269 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index);
270 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) { 270 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) {
271 throw new core.RangeError.index(index, this, "index"); 271 throw new core.RangeError.index(index, this, "index");
272 } 272 }
273 return this[_iterable].elementAt(realIndex); 273 return this[_iterable].elementAt(realIndex);
274 } 274 }
275 skip(count) { 275 skip(count) {
276 core.RangeError.checkNotNegative(count, "count"); 276 core.RangeError.checkNotNegative(count, "count");
277 let newStart = dart.notNull(this[_start]) + dart.notNull(count); 277 let newStart = dart.notNull(this[_start]) + dart.notNull(count);
278 if (this[_endOrLength] !== null && dart.notNull(newStart) >= dart.notNul l(this[_endOrLength])) { 278 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull (this[_endOrLength])) {
279 return new EmptyIterable(); 279 return new EmptyIterable();
280 } 280 }
281 return new SubListIterable(this[_iterable], newStart, this[_endOrLength] ); 281 return new SubListIterable(this[_iterable], newStart, this[_endOrLength] );
282 } 282 }
283 take(count) { 283 take(count) {
284 core.RangeError.checkNotNegative(count, "count"); 284 core.RangeError.checkNotNegative(count, "count");
285 if (this[_endOrLength] === null) { 285 if (this[_endOrLength] == null) {
286 return new SubListIterable(this[_iterable], this[_start], dart.notNull (this[_start]) + dart.notNull(count)); 286 return new SubListIterable(this[_iterable], this[_start], dart.notNull (this[_start]) + dart.notNull(count));
287 } else { 287 } else {
288 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 288 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
289 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) 289 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd))
290 return this; 290 return this;
291 return new SubListIterable(this[_iterable], this[_start], newEnd); 291 return new SubListIterable(this[_iterable], this[_start], newEnd);
292 } 292 }
293 } 293 }
294 toList(opts) { 294 toList(opts) {
295 let growable = opts && 'growable' in opts ? opts.growable : true; 295 let growable = opts && 'growable' in opts ? opts.growable : true;
296 let start = this[_start]; 296 let start = this[_start];
297 let end = this[_iterable].length; 297 let end = this[_iterable].length;
298 if (this[_endOrLength] !== null && dart.notNull(this[_endOrLength]) < da rt.notNull(end)) 298 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end))
299 end = this[_endOrLength]; 299 end = this[_endOrLength];
300 let length = dart.notNull(end) - dart.notNull(start); 300 let length = dart.notNull(end) - dart.notNull(start);
301 if (dart.notNull(length) < 0) 301 if (dart.notNull(length) < 0)
302 length = 0; 302 length = 0;
303 let result = growable ? ((_) => { 303 let result = growable ? ((_) => {
304 _.length = length; 304 _.length = length;
305 return _; 305 return _;
306 }).bind(this)(new core.List()) : new core.List(length); 306 }).bind(this)(new core.List()) : new core.List(length);
307 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 307 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
308 result.set(i, this[_iterable].elementAt(dart.notNull(start) + dart.not Null(i))); 308 result.set(i, this[_iterable].elementAt(dart.notNull(start) + dart.not Null(i)));
(...skipping 15 matching lines...) Expand all
324 this[_iterable] = iterable; 324 this[_iterable] = iterable;
325 this[_length] = iterable.length; 325 this[_length] = iterable.length;
326 this[_index] = 0; 326 this[_index] = 0;
327 this[_current] = null; 327 this[_current] = null;
328 } 328 }
329 get current() { 329 get current() {
330 return this[_current]; 330 return this[_current];
331 } 331 }
332 moveNext() { 332 moveNext() {
333 let length = this[_iterable].length; 333 let length = this[_iterable].length;
334 if (this[_length] !== length) { 334 if (this[_length] != length) {
335 throw new core.ConcurrentModificationError(this[_iterable]); 335 throw new core.ConcurrentModificationError(this[_iterable]);
336 } 336 }
337 if (dart.notNull(this[_index]) >= dart.notNull(length)) { 337 if (dart.notNull(this[_index]) >= dart.notNull(length)) {
338 this[_current] = null; 338 this[_current] = null;
339 return false; 339 return false;
340 } 340 }
341 this[_current] = this[_iterable].elementAt(this[_index]); 341 this[_current] = this[_iterable].elementAt(this[_index]);
342 this[_index] = dart.notNull(this[_index]) + 1; 342 this[_index] = dart.notNull(this[_index]) + 1;
343 return true; 343 return true;
344 } 344 }
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 this[_iterator] = iterator$; 496 this[_iterator] = iterator$;
497 this[_f] = f$; 497 this[_f] = f$;
498 this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T) ); 498 this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T) );
499 this[_current] = null; 499 this[_current] = null;
500 } 500 }
501 [_nextExpansion]() {} 501 [_nextExpansion]() {}
502 get current() { 502 get current() {
503 return this[_current]; 503 return this[_current];
504 } 504 }
505 moveNext() { 505 moveNext() {
506 if (this[_currentExpansion] === null) 506 if (this[_currentExpansion] == null)
507 return false; 507 return false;
508 while (!dart.notNull(this[_currentExpansion].moveNext())) { 508 while (!dart.notNull(this[_currentExpansion].moveNext())) {
509 this[_current] = null; 509 this[_current] = null;
510 if (this[_iterator].moveNext()) { 510 if (this[_iterator].moveNext()) {
511 this[_currentExpansion] = null; 511 this[_currentExpansion] = null;
512 this[_currentExpansion] = dart.as(dart.dinvokef(this[_f], this[_iter ator].current).iterator, core.Iterator$(T)); 512 this[_currentExpansion] = dart.as(dart.dinvokef(this[_f], this[_iter ator].current).iterator, core.Iterator$(T));
513 } else { 513 } else {
514 return false; 514 return false;
515 } 515 }
516 } 516 }
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 return false; 768 return false;
769 } 769 }
770 every(test) { 770 every(test) {
771 return true; 771 return true;
772 } 772 }
773 any(test) { 773 any(test) {
774 return false; 774 return false;
775 } 775 }
776 firstWhere(test, opts) { 776 firstWhere(test, opts) {
777 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 777 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
778 if (orElse !== null) 778 if (orElse != null)
779 return orElse(); 779 return orElse();
780 throw IterableElementError.noElement(); 780 throw IterableElementError.noElement();
781 } 781 }
782 lastWhere(test, opts) { 782 lastWhere(test, opts) {
783 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 783 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
784 if (orElse !== null) 784 if (orElse != null)
785 return orElse(); 785 return orElse();
786 throw IterableElementError.noElement(); 786 throw IterableElementError.noElement();
787 } 787 }
788 singleWhere(test, opts) { 788 singleWhere(test, opts) {
789 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 789 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
790 if (orElse !== null) 790 if (orElse != null)
791 return orElse(); 791 return orElse();
792 throw IterableElementError.noElement(); 792 throw IterableElementError.noElement();
793 } 793 }
794 join(separator) { 794 join(separator) {
795 if (separator === void 0) 795 if (separator === void 0)
796 separator = ""; 796 separator = "";
797 return ""; 797 return "";
798 } 798 }
799 where(test) { 799 where(test) {
800 return this; 800 return this;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 return initialValue; 899 return initialValue;
900 } 900 }
901 static removeWhereList(list, test) { 901 static removeWhereList(list, test) {
902 let retained = new core.List.from([]); 902 let retained = new core.List.from([]);
903 let length = list.length; 903 let length = list.length;
904 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 904 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
905 let element = list.get(i); 905 let element = list.get(i);
906 if (!dart.notNull(dart.dinvokef(test, element))) { 906 if (!dart.notNull(dart.dinvokef(test, element))) {
907 retained.add(element); 907 retained.add(element);
908 } 908 }
909 if (length !== list.length) { 909 if (length != list.length) {
910 throw new core.ConcurrentModificationError(list); 910 throw new core.ConcurrentModificationError(list);
911 } 911 }
912 } 912 }
913 if (retained.length === length) 913 if (retained.length == length)
914 return; 914 return;
915 list.length = retained.length; 915 list.length = retained.length;
916 for (let i = 0; dart.notNull(i) < dart.notNull(retained.length); i = dar t.notNull(i) + 1) { 916 for (let i = 0; dart.notNull(i) < dart.notNull(retained.length); i = dar t.notNull(i) + 1) {
917 list.set(i, retained.get(i)); 917 list.set(i, retained.get(i));
918 } 918 }
919 } 919 }
920 static isEmpty(iterable) { 920 static isEmpty(iterable) {
921 return !dart.notNull(iterable.iterator.moveNext()); 921 return !dart.notNull(iterable.iterator.moveNext());
922 } 922 }
923 static first(iterable) { 923 static first(iterable) {
(...skipping 21 matching lines...) Expand all
945 let result = it.current; 945 let result = it.current;
946 if (it.moveNext()) 946 if (it.moveNext())
947 throw IterableElementError.tooMany(); 947 throw IterableElementError.tooMany();
948 return result; 948 return result;
949 } 949 }
950 static firstWhere(iterable, test, orElse) { 950 static firstWhere(iterable, test, orElse) {
951 for (let element of iterable) { 951 for (let element of iterable) {
952 if (dart.dinvokef(test, element)) 952 if (dart.dinvokef(test, element))
953 return element; 953 return element;
954 } 954 }
955 if (orElse !== null) 955 if (orElse != null)
956 return orElse(); 956 return orElse();
957 throw IterableElementError.noElement(); 957 throw IterableElementError.noElement();
958 } 958 }
959 static lastWhere(iterable, test, orElse) { 959 static lastWhere(iterable, test, orElse) {
960 let result = null; 960 let result = null;
961 let foundMatching = false; 961 let foundMatching = false;
962 for (let element of iterable) { 962 for (let element of iterable) {
963 if (dart.dinvokef(test, element)) { 963 if (dart.dinvokef(test, element)) {
964 result = element; 964 result = element;
965 foundMatching = true; 965 foundMatching = true;
966 } 966 }
967 } 967 }
968 if (foundMatching) 968 if (foundMatching)
969 return result; 969 return result;
970 if (orElse !== null) 970 if (orElse != null)
971 return orElse(); 971 return orElse();
972 throw IterableElementError.noElement(); 972 throw IterableElementError.noElement();
973 } 973 }
974 static lastWhereList(list, test, orElse) { 974 static lastWhereList(list, test, orElse) {
975 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) { 975 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) {
976 let element = list.get(i); 976 let element = list.get(i);
977 if (dart.dinvokef(test, element)) 977 if (dart.dinvokef(test, element))
978 return element; 978 return element;
979 } 979 }
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 singleWhere(iterable, test) { 984 static singleWhere(iterable, test) {
985 let result = null; 985 let result = null;
986 let foundMatching = false; 986 let foundMatching = false;
987 for (let element of iterable) { 987 for (let element of iterable) {
988 if (dart.dinvokef(test, element)) { 988 if (dart.dinvokef(test, element)) {
989 if (foundMatching) { 989 if (foundMatching) {
990 throw IterableElementError.tooMany(); 990 throw IterableElementError.tooMany();
991 } 991 }
992 result = element; 992 result = element;
993 foundMatching = true; 993 foundMatching = true;
994 } 994 }
995 } 995 }
996 if (foundMatching) 996 if (foundMatching)
997 return result; 997 return result;
998 throw IterableElementError.noElement(); 998 throw IterableElementError.noElement();
999 } 999 }
1000 static elementAt(iterable, index) { 1000 static elementAt(iterable, index) {
1001 if (!(typeof index == 'number')) 1001 if (!(typeof index == 'number'))
1002 throw new core.ArgumentError.notNull("index"); 1002 throw new core.ArgumentError.notNull("index");
1003 core.RangeError.checkNotNegative(index, "index"); 1003 core.RangeError.checkNotNegative(index, "index");
1004 let elementIndex = 0; 1004 let elementIndex = 0;
1005 for (let element of iterable) { 1005 for (let element of iterable) {
1006 if (index === elementIndex) 1006 if (index == elementIndex)
1007 return element; 1007 return element;
1008 elementIndex = dart.notNull(elementIndex) + 1; 1008 elementIndex = dart.notNull(elementIndex) + 1;
1009 } 1009 }
1010 throw new core.RangeError.index(index, iterable, "index", null, elementI ndex); 1010 throw new core.RangeError.index(index, iterable, "index", null, elementI ndex);
1011 } 1011 }
1012 static join(iterable, separator) { 1012 static join(iterable, separator) {
1013 if (separator === void 0) 1013 if (separator === void 0)
1014 separator = null; 1014 separator = null;
1015 let buffer = new core.StringBuffer(); 1015 let buffer = new core.StringBuffer();
1016 buffer.writeAll(iterable, separator); 1016 buffer.writeAll(iterable, separator);
1017 return buffer.toString(); 1017 return buffer.toString();
1018 } 1018 }
1019 static joinList(list, separator) { 1019 static joinList(list, separator) {
1020 if (separator === void 0) 1020 if (separator === void 0)
1021 separator = null; 1021 separator = null;
1022 if (list.isEmpty) 1022 if (list.isEmpty)
1023 return ""; 1023 return "";
1024 if (list.length === 1) 1024 if (list.length == 1)
1025 return `${list.get(0)}`; 1025 return `${list.get(0)}`;
1026 let buffer = new core.StringBuffer(); 1026 let buffer = new core.StringBuffer();
1027 if (separator.isEmpty) { 1027 if (separator.isEmpty) {
1028 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1028 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) {
1029 buffer.write(list.get(i)); 1029 buffer.write(list.get(i));
1030 } 1030 }
1031 } else { 1031 } else {
1032 buffer.write(list.get(0)); 1032 buffer.write(list.get(0));
1033 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1033 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) {
1034 buffer.write(separator); 1034 buffer.write(separator);
(...skipping 23 matching lines...) Expand all
1058 skipList(list, n) { 1058 skipList(list, n) {
1059 return new SubListIterable(dart.as(list, core.Iterable$(T)), n, null); 1059 return new SubListIterable(dart.as(list, core.Iterable$(T)), n, null);
1060 } 1060 }
1061 skipWhile(iterable, test) { 1061 skipWhile(iterable, test) {
1062 return new SkipWhileIterable(dart.as(iterable, core.Iterable$(T)), dart. closureWrap(test, "(T) → bool")); 1062 return new SkipWhileIterable(dart.as(iterable, core.Iterable$(T)), dart. closureWrap(test, "(T) → bool"));
1063 } 1063 }
1064 reversedList(list) { 1064 reversedList(list) {
1065 return new ReversedListIterable(dart.as(list, core.Iterable$(T))); 1065 return new ReversedListIterable(dart.as(list, core.Iterable$(T)));
1066 } 1066 }
1067 static sortList(list, compare) { 1067 static sortList(list, compare) {
1068 if (compare === null) 1068 if (compare == null)
1069 compare = core.Comparable.compare; 1069 compare = core.Comparable.compare;
1070 Sort.sort(list, compare); 1070 Sort.sort(list, compare);
1071 } 1071 }
1072 static shuffleList(list, random) { 1072 static shuffleList(list, random) {
1073 if (random === null) 1073 if (random == null)
1074 random = new math.Random(); 1074 random = new math.Random();
1075 let length = list.length; 1075 let length = list.length;
1076 while (dart.notNull(length) > 1) { 1076 while (dart.notNull(length) > 1) {
1077 let pos = random.nextInt(length); 1077 let pos = random.nextInt(length);
1078 length = 1; 1078 length = 1;
1079 let tmp = list.get(length); 1079 let tmp = list.get(length);
1080 list.set(length, list.get(pos)); 1080 list.set(length, list.get(pos));
1081 list.set(pos, tmp); 1081 list.set(pos, tmp);
1082 } 1082 }
1083 } 1083 }
1084 static indexOfList(list, element, start) { 1084 static indexOfList(list, element, start) {
1085 return Lists.indexOf(list, element, start, list.length); 1085 return Lists.indexOf(list, element, start, list.length);
1086 } 1086 }
1087 static lastIndexOfList(list, element, start) { 1087 static lastIndexOfList(list, element, start) {
1088 if (start === null) 1088 if (start == null)
1089 start = dart.notNull(list.length) - 1; 1089 start = dart.notNull(list.length) - 1;
1090 return Lists.lastIndexOf(list, element, start); 1090 return Lists.lastIndexOf(list, element, start);
1091 } 1091 }
1092 static [_rangeCheck](list, start, end) { 1092 static [_rangeCheck](list, start, end) {
1093 core.RangeError.checkValidRange(start, end, list.length); 1093 core.RangeError.checkValidRange(start, end, list.length);
1094 } 1094 }
1095 getRangeList(list, start, end) { 1095 getRangeList(list, start, end) {
1096 IterableMixinWorkaround[_rangeCheck](list, start, end); 1096 IterableMixinWorkaround[_rangeCheck](list, start, end);
1097 return new SubListIterable(dart.as(list, core.Iterable$(T)), start, end) ; 1097 return new SubListIterable(dart.as(list, core.Iterable$(T)), start, end) ;
1098 } 1098 }
1099 static setRangeList(list, start, end, from, skipCount) { 1099 static setRangeList(list, start, end, from, skipCount) {
1100 IterableMixinWorkaround[_rangeCheck](list, start, end); 1100 IterableMixinWorkaround[_rangeCheck](list, start, end);
1101 let length = dart.notNull(end) - dart.notNull(start); 1101 let length = dart.notNull(end) - dart.notNull(start);
1102 if (length === 0) 1102 if (length == 0)
1103 return; 1103 return;
1104 if (dart.notNull(skipCount) < 0) 1104 if (dart.notNull(skipCount) < 0)
1105 throw new core.ArgumentError(skipCount); 1105 throw new core.ArgumentError(skipCount);
1106 let otherList = null; 1106 let otherList = null;
1107 let otherStart = null; 1107 let otherStart = null;
1108 if (dart.is(from, core.List)) { 1108 if (dart.is(from, core.List)) {
1109 otherList = from; 1109 otherList = from;
1110 otherStart = skipCount; 1110 otherStart = skipCount;
1111 } else { 1111 } else {
1112 otherList = from.skip(skipCount).toList({growable: false}); 1112 otherList = from.skip(skipCount).toList({growable: false});
1113 otherStart = 0; 1113 otherStart = 0;
1114 } 1114 }
1115 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List.length)) { 1115 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List.length)) {
1116 throw IterableElementError.tooFew(); 1116 throw IterableElementError.tooFew();
1117 } 1117 }
1118 Lists.copy(otherList, otherStart, list, start, length); 1118 Lists.copy(otherList, otherStart, list, start, length);
1119 } 1119 }
1120 static replaceRangeList(list, start, end, iterable) { 1120 static replaceRangeList(list, start, end, iterable) {
1121 IterableMixinWorkaround[_rangeCheck](list, start, end); 1121 IterableMixinWorkaround[_rangeCheck](list, start, end);
1122 if (!dart.is(iterable, EfficientLength)) { 1122 if (!dart.is(iterable, EfficientLength)) {
1123 iterable = iterable.toList(); 1123 iterable = iterable.toList();
1124 } 1124 }
1125 let removeLength = dart.notNull(end) - dart.notNull(start); 1125 let removeLength = dart.notNull(end) - dart.notNull(start);
1126 let insertLength = iterable.length; 1126 let insertLength = iterable.length;
1127 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { 1127 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) {
1128 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); 1128 let delta = dart.notNull(removeLength) - dart.notNull(insertLength);
1129 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1129 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1130 let newEnd = dart.notNull(list.length) - dart.notNull(delta); 1130 let newEnd = dart.notNull(list.length) - dart.notNull(delta);
1131 list.setRange(start, insertEnd, iterable); 1131 list.setRange(start, insertEnd, iterable);
1132 if (delta !== 0) { 1132 if (delta != 0) {
1133 list.setRange(insertEnd, newEnd, list, end); 1133 list.setRange(insertEnd, newEnd, list, end);
1134 list.length = newEnd; 1134 list.length = newEnd;
1135 } 1135 }
1136 } else { 1136 } else {
1137 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); 1137 let delta = dart.notNull(insertLength) - dart.notNull(removeLength);
1138 let newLength = dart.notNull(list.length) + dart.notNull(delta); 1138 let newLength = dart.notNull(list.length) + dart.notNull(delta);
1139 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1139 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1140 list.length = newLength; 1140 list.length = newLength;
1141 list.setRange(insertEnd, newLength, list, end); 1141 list.setRange(insertEnd, newLength, list, end);
1142 list.setRange(start, insertEnd, iterable); 1142 list.setRange(start, insertEnd, iterable);
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1390 containsValue(value) { 1390 containsValue(value) {
1391 return this[_values].contains(value); 1391 return this[_values].contains(value);
1392 } 1392 }
1393 containsKey(key) { 1393 containsKey(key) {
1394 return dart.notNull(typeof key == 'number') && dart.notNull(key) >= 0 && dart.notNull(key) < dart.notNull(this.length); 1394 return dart.notNull(typeof key == 'number') && dart.notNull(key) >= 0 && dart.notNull(key) < dart.notNull(this.length);
1395 } 1395 }
1396 forEach(f) { 1396 forEach(f) {
1397 let length = this[_values].length; 1397 let length = this[_values].length;
1398 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1398 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1399 f(i, this[_values].get(i)); 1399 f(i, this[_values].get(i));
1400 if (length !== this[_values].length) { 1400 if (length != this[_values].length) {
1401 throw new core.ConcurrentModificationError(this[_values]); 1401 throw new core.ConcurrentModificationError(this[_values]);
1402 } 1402 }
1403 } 1403 }
1404 } 1404 }
1405 set(key, value) { 1405 set(key, value) {
1406 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1406 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1407 } 1407 }
1408 putIfAbsent(key, ifAbsent) { 1408 putIfAbsent(key, ifAbsent) {
1409 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1409 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1410 } 1410 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 dst.set(j, src.get(i)); 1481 dst.set(j, src.get(i));
1482 } 1482 }
1483 } 1483 }
1484 } 1484 }
1485 static areEqual(a, b) { 1485 static areEqual(a, b) {
1486 if (core.identical(a, b)) 1486 if (core.identical(a, b))
1487 return true; 1487 return true;
1488 if (!dart.notNull(dart.is(b, core.List))) 1488 if (!dart.notNull(dart.is(b, core.List)))
1489 return false; 1489 return false;
1490 let length = a.length; 1490 let length = a.length;
1491 if (length !== dart.dload(b, 'length')) 1491 if (!dart.equals(length, dart.dload(b, 'length')))
1492 return false; 1492 return false;
1493 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 1493 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
1494 if (!dart.notNull(core.identical(a.get(i), dart.dindex(b, i)))) 1494 if (!dart.notNull(core.identical(a.get(i), dart.dindex(b, i))))
1495 return false; 1495 return false;
1496 } 1496 }
1497 return true; 1497 return true;
1498 } 1498 }
1499 static indexOf(a, element, startIndex, endIndex) { 1499 static indexOf(a, element, startIndex, endIndex) {
1500 if (dart.notNull(startIndex) >= dart.notNull(a.length)) { 1500 if (dart.notNull(startIndex) >= dart.notNull(a.length)) {
1501 return -1; 1501 return -1;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1633 } 1633 }
1634 let pivot1 = el2; 1634 let pivot1 = el2;
1635 let pivot2 = el4; 1635 let pivot2 = el4;
1636 a.set(index1, el1); 1636 a.set(index1, el1);
1637 a.set(index3, el3); 1637 a.set(index3, el3);
1638 a.set(index5, el5); 1638 a.set(index5, el5);
1639 a.set(index2, a.get(left)); 1639 a.set(index2, a.get(left));
1640 a.set(index4, a.get(right)); 1640 a.set(index4, a.get(right));
1641 let less = dart.notNull(left) + 1; 1641 let less = dart.notNull(left) + 1;
1642 let great = dart.notNull(right) - 1; 1642 let great = dart.notNull(right) - 1;
1643 let pivots_are_equal = dart.dinvokef(compare, pivot1, pivot2) === 0; 1643 let pivots_are_equal = dart.dinvokef(compare, pivot1, pivot2) == 0;
1644 if (pivots_are_equal) { 1644 if (pivots_are_equal) {
1645 let pivot = pivot1; 1645 let pivot = pivot1;
1646 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 1646 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
1647 let ak = a.get(k); 1647 let ak = a.get(k);
1648 let comp = dart.dinvokef(compare, ak, pivot); 1648 let comp = dart.dinvokef(compare, ak, pivot);
1649 if (comp === 0) 1649 if (comp == 0)
1650 continue; 1650 continue;
1651 if (dart.notNull(comp) < 0) { 1651 if (dart.notNull(comp) < 0) {
1652 if (k !== less) { 1652 if (k != less) {
1653 a.set(k, a.get(less)); 1653 a.set(k, a.get(less));
1654 a.set(less, ak); 1654 a.set(less, ak);
1655 } 1655 }
1656 less = dart.notNull(less) + 1; 1656 less = dart.notNull(less) + 1;
1657 } else { 1657 } else {
1658 while (true) { 1658 while (true) {
1659 comp = dart.dinvokef(compare, a.get(great), pivot); 1659 comp = dart.dinvokef(compare, a.get(great), pivot);
1660 if (dart.notNull(comp) > 0) { 1660 if (dart.notNull(comp) > 0) {
1661 great = dart.notNull(great) - 1; 1661 great = dart.notNull(great) - 1;
1662 continue; 1662 continue;
1663 } else if (dart.notNull(comp) < 0) { 1663 } else if (dart.notNull(comp) < 0) {
1664 a.set(k, a.get(less)); 1664 a.set(k, a.get(less));
1665 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(great) ); 1665 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(great) );
1666 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1666 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak);
1667 break; 1667 break;
1668 } else { 1668 } else {
1669 a.set(k, a.get(great)); 1669 a.set(k, a.get(great));
1670 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1670 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak);
1671 break; 1671 break;
1672 } 1672 }
1673 } 1673 }
1674 } 1674 }
1675 } 1675 }
1676 } else { 1676 } else {
1677 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 1677 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
1678 let ak = a.get(k); 1678 let ak = a.get(k);
1679 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1); 1679 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1);
1680 if (dart.notNull(comp_pivot1) < 0) { 1680 if (dart.notNull(comp_pivot1) < 0) {
1681 if (k !== less) { 1681 if (k != less) {
1682 a.set(k, a.get(less)); 1682 a.set(k, a.get(less));
1683 a.set(less, ak); 1683 a.set(less, ak);
1684 } 1684 }
1685 less = dart.notNull(less) + 1; 1685 less = dart.notNull(less) + 1;
1686 } else { 1686 } else {
1687 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2); 1687 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2);
1688 if (dart.notNull(comp_pivot2) > 0) { 1688 if (dart.notNull(comp_pivot2) > 0) {
1689 while (true) { 1689 while (true) {
1690 let comp = dart.dinvokef(compare, a.get(great), pivot2); 1690 let comp = dart.dinvokef(compare, a.get(great), pivot2);
1691 if (dart.notNull(comp) > 0) { 1691 if (dart.notNull(comp) > 0) {
(...skipping 21 matching lines...) Expand all
1713 a.set(left, a.get(dart.notNull(less) - 1)); 1713 a.set(left, a.get(dart.notNull(less) - 1));
1714 a.set(dart.notNull(less) - 1, pivot1); 1714 a.set(dart.notNull(less) - 1, pivot1);
1715 a.set(right, a.get(dart.notNull(great) + 1)); 1715 a.set(right, a.get(dart.notNull(great) + 1));
1716 a.set(dart.notNull(great) + 1, pivot2); 1716 a.set(dart.notNull(great) + 1, pivot2);
1717 Sort[_doSort](a, left, dart.notNull(less) - 2, compare); 1717 Sort[_doSort](a, left, dart.notNull(less) - 2, compare);
1718 Sort[_doSort](a, dart.notNull(great) + 2, right, compare); 1718 Sort[_doSort](a, dart.notNull(great) + 2, right, compare);
1719 if (pivots_are_equal) { 1719 if (pivots_are_equal) {
1720 return; 1720 return;
1721 } 1721 }
1722 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) { 1722 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) {
1723 while (dart.dinvokef(compare, a.get(less), pivot1) === 0) { 1723 while (dart.dinvokef(compare, a.get(less), pivot1) == 0) {
1724 less = dart.notNull(less) + 1; 1724 less = dart.notNull(less) + 1;
1725 } 1725 }
1726 while (dart.dinvokef(compare, a.get(great), pivot2) === 0) { 1726 while (dart.dinvokef(compare, a.get(great), pivot2) == 0) {
1727 great = dart.notNull(great) - 1; 1727 great = dart.notNull(great) - 1;
1728 } 1728 }
1729 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 1729 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
1730 let ak = a.get(k); 1730 let ak = a.get(k);
1731 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1); 1731 let comp_pivot1 = dart.dinvokef(compare, ak, pivot1);
1732 if (comp_pivot1 === 0) { 1732 if (comp_pivot1 == 0) {
1733 if (k !== less) { 1733 if (k != less) {
1734 a.set(k, a.get(less)); 1734 a.set(k, a.get(less));
1735 a.set(less, ak); 1735 a.set(less, ak);
1736 } 1736 }
1737 less = dart.notNull(less) + 1; 1737 less = dart.notNull(less) + 1;
1738 } else { 1738 } else {
1739 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2); 1739 let comp_pivot2 = dart.dinvokef(compare, ak, pivot2);
1740 if (comp_pivot2 === 0) { 1740 if (comp_pivot2 == 0) {
1741 while (true) { 1741 while (true) {
1742 let comp = dart.dinvokef(compare, a.get(great), pivot2); 1742 let comp = dart.dinvokef(compare, a.get(great), pivot2);
1743 if (comp === 0) { 1743 if (comp == 0) {
1744 great = dart.notNull(great) - 1; 1744 great = dart.notNull(great) - 1;
1745 if (dart.notNull(great) < dart.notNull(k)) 1745 if (dart.notNull(great) < dart.notNull(k))
1746 break; 1746 break;
1747 continue; 1747 continue;
1748 } else { 1748 } else {
1749 comp = dart.dinvokef(compare, a.get(great), pivot1); 1749 comp = dart.dinvokef(compare, a.get(great), pivot1);
1750 if (dart.notNull(comp) < 0) { 1750 if (dart.notNull(comp) < 0) {
1751 a.set(k, a.get(less)); 1751 a.set(k, a.get(less));
1752 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(gr eat)); 1752 a.set(((x) => less = dart.notNull(x) + 1, x)(less), a.get(gr eat));
1753 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak); 1753 a.set(((x) => great = dart.notNull(x) - 1, x)(great), ak);
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1886 exports.ReversedListIterable$ = ReversedListIterable$; 1886 exports.ReversedListIterable$ = ReversedListIterable$;
1887 exports.UnmodifiableListError = UnmodifiableListError; 1887 exports.UnmodifiableListError = UnmodifiableListError;
1888 exports.NonGrowableListError = NonGrowableListError; 1888 exports.NonGrowableListError = NonGrowableListError;
1889 exports.makeListFixedLength = makeListFixedLength; 1889 exports.makeListFixedLength = makeListFixedLength;
1890 exports.Lists = Lists; 1890 exports.Lists = Lists;
1891 exports.printToConsole = printToConsole; 1891 exports.printToConsole = printToConsole;
1892 exports.Sort = Sort; 1892 exports.Sort = Sort;
1893 exports.Symbol = Symbol; 1893 exports.Symbol = Symbol;
1894 exports.POWERS_OF_TEN = POWERS_OF_TEN; 1894 exports.POWERS_OF_TEN = POWERS_OF_TEN;
1895 })(_internal || (_internal = {})); 1895 })(_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