OLD | NEW |
1 dart_library.library('dart/_internal', null, /* Imports */[ | 1 dart_library.library('dart/_internal', null, /* Imports */[ |
2 "dart/_runtime", | 2 "dart/_runtime", |
3 'dart/core', | 3 'dart/core', |
4 'dart/collection' | 4 'dart/collection' |
5 ], /* Lazy imports */[ | 5 ], /* Lazy imports */[ |
6 'dart/math', | 6 'dart/math', |
7 'dart/_interceptors', | 7 'dart/_interceptors', |
8 'dart/_js_primitives' | 8 'dart/_js_primitives' |
9 ], function(exports, dart, core, collection, math, _interceptors, _js_primitives
) { | 9 ], function(exports, dart, core, collection, math, _interceptors, _js_primitives
) { |
10 'use strict'; | 10 'use strict'; |
(...skipping 14 matching lines...) Expand all Loading... |
25 action(this.elementAt(i)); | 25 action(this.elementAt(i)); |
26 if (length != this.length) { | 26 if (length != this.length) { |
27 dart.throw(new core.ConcurrentModificationError(this)); | 27 dart.throw(new core.ConcurrentModificationError(this)); |
28 } | 28 } |
29 } | 29 } |
30 } | 30 } |
31 get isEmpty() { | 31 get isEmpty() { |
32 return this.length == 0; | 32 return this.length == 0; |
33 } | 33 } |
34 get first() { | 34 get first() { |
35 if (this.length == 0) | 35 if (this.length == 0) dart.throw(IterableElementError.noElement()); |
36 dart.throw(IterableElementError.noElement()); | |
37 return this.elementAt(0); | 36 return this.elementAt(0); |
38 } | 37 } |
39 get last() { | 38 get last() { |
40 if (this.length == 0) | 39 if (this.length == 0) dart.throw(IterableElementError.noElement()); |
41 dart.throw(IterableElementError.noElement()); | |
42 return this.elementAt(dart.notNull(this.length) - 1); | 40 return this.elementAt(dart.notNull(this.length) - 1); |
43 } | 41 } |
44 get single() { | 42 get single() { |
45 if (this.length == 0) | 43 if (this.length == 0) dart.throw(IterableElementError.noElement()); |
46 dart.throw(IterableElementError.noElement()); | 44 if (dart.notNull(this.length) > 1) dart.throw(IterableElementError.tooMa
ny()); |
47 if (dart.notNull(this.length) > 1) | |
48 dart.throw(IterableElementError.tooMany()); | |
49 return this.elementAt(0); | 45 return this.elementAt(0); |
50 } | 46 } |
51 contains(element) { | 47 contains(element) { |
52 let length = this.length; | 48 let length = this.length; |
53 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 49 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
54 if (dart.equals(this.elementAt(i), element)) | 50 if (dart.equals(this.elementAt(i), element)) return true; |
55 return true; | |
56 if (length != this.length) { | 51 if (length != this.length) { |
57 dart.throw(new core.ConcurrentModificationError(this)); | 52 dart.throw(new core.ConcurrentModificationError(this)); |
58 } | 53 } |
59 } | 54 } |
60 return false; | 55 return false; |
61 } | 56 } |
62 every(test) { | 57 every(test) { |
63 dart.as(test, dart.functionType(core.bool, [E])); | 58 dart.as(test, dart.functionType(core.bool, [E])); |
64 let length = this.length; | 59 let length = this.length; |
65 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 60 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
66 if (!dart.notNull(test(this.elementAt(i)))) | 61 if (!dart.notNull(test(this.elementAt(i)))) return false; |
67 return false; | |
68 if (length != this.length) { | 62 if (length != this.length) { |
69 dart.throw(new core.ConcurrentModificationError(this)); | 63 dart.throw(new core.ConcurrentModificationError(this)); |
70 } | 64 } |
71 } | 65 } |
72 return true; | 66 return true; |
73 } | 67 } |
74 any(test) { | 68 any(test) { |
75 dart.as(test, dart.functionType(core.bool, [E])); | 69 dart.as(test, dart.functionType(core.bool, [E])); |
76 let length = this.length; | 70 let length = this.length; |
77 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 71 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
78 if (dart.notNull(test(this.elementAt(i)))) | 72 if (dart.notNull(test(this.elementAt(i)))) return true; |
79 return true; | |
80 if (length != this.length) { | 73 if (length != this.length) { |
81 dart.throw(new core.ConcurrentModificationError(this)); | 74 dart.throw(new core.ConcurrentModificationError(this)); |
82 } | 75 } |
83 } | 76 } |
84 return false; | 77 return false; |
85 } | 78 } |
86 firstWhere(test, opts) { | 79 firstWhere(test, opts) { |
87 dart.as(test, dart.functionType(core.bool, [E])); | 80 dart.as(test, dart.functionType(core.bool, [E])); |
88 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 81 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
89 dart.as(orElse, dart.functionType(E, [])); | 82 dart.as(orElse, dart.functionType(E, [])); |
90 let length = this.length; | 83 let length = this.length; |
91 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 84 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
92 let element = this.elementAt(i); | 85 let element = this.elementAt(i); |
93 if (dart.notNull(test(element))) | 86 if (dart.notNull(test(element))) return element; |
94 return element; | |
95 if (length != this.length) { | 87 if (length != this.length) { |
96 dart.throw(new core.ConcurrentModificationError(this)); | 88 dart.throw(new core.ConcurrentModificationError(this)); |
97 } | 89 } |
98 } | 90 } |
99 if (orElse != null) | 91 if (orElse != null) return orElse(); |
100 return orElse(); | |
101 dart.throw(IterableElementError.noElement()); | 92 dart.throw(IterableElementError.noElement()); |
102 } | 93 } |
103 lastWhere(test, opts) { | 94 lastWhere(test, opts) { |
104 dart.as(test, dart.functionType(core.bool, [E])); | 95 dart.as(test, dart.functionType(core.bool, [E])); |
105 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 96 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
106 dart.as(orElse, dart.functionType(E, [])); | 97 dart.as(orElse, dart.functionType(E, [])); |
107 let length = this.length; | 98 let length = this.length; |
108 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no
tNull(i) - 1) { | 99 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no
tNull(i) - 1) { |
109 let element = this.elementAt(i); | 100 let element = this.elementAt(i); |
110 if (dart.notNull(test(element))) | 101 if (dart.notNull(test(element))) return element; |
111 return element; | |
112 if (length != this.length) { | 102 if (length != this.length) { |
113 dart.throw(new core.ConcurrentModificationError(this)); | 103 dart.throw(new core.ConcurrentModificationError(this)); |
114 } | 104 } |
115 } | 105 } |
116 if (orElse != null) | 106 if (orElse != null) return orElse(); |
117 return orElse(); | |
118 dart.throw(IterableElementError.noElement()); | 107 dart.throw(IterableElementError.noElement()); |
119 } | 108 } |
120 singleWhere(test) { | 109 singleWhere(test) { |
121 dart.as(test, dart.functionType(core.bool, [E])); | 110 dart.as(test, dart.functionType(core.bool, [E])); |
122 let length = this.length; | 111 let length = this.length; |
123 let match = null; | 112 let match = null; |
124 let matchFound = false; | 113 let matchFound = false; |
125 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 114 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
126 let element = this.elementAt(i); | 115 let element = this.elementAt(i); |
127 if (dart.notNull(test(element))) { | 116 if (dart.notNull(test(element))) { |
128 if (dart.notNull(matchFound)) { | 117 if (dart.notNull(matchFound)) { |
129 dart.throw(IterableElementError.tooMany()); | 118 dart.throw(IterableElementError.tooMany()); |
130 } | 119 } |
131 matchFound = true; | 120 matchFound = true; |
132 match = element; | 121 match = element; |
133 } | 122 } |
134 if (length != this.length) { | 123 if (length != this.length) { |
135 dart.throw(new core.ConcurrentModificationError(this)); | 124 dart.throw(new core.ConcurrentModificationError(this)); |
136 } | 125 } |
137 } | 126 } |
138 if (dart.notNull(matchFound)) | 127 if (dart.notNull(matchFound)) return match; |
139 return match; | |
140 dart.throw(IterableElementError.noElement()); | 128 dart.throw(IterableElementError.noElement()); |
141 } | 129 } |
142 join(separator) { | 130 join(separator) { |
143 if (separator === void 0) | 131 if (separator === void 0) separator = ""; |
144 separator = ""; | |
145 let length = this.length; | 132 let length = this.length; |
146 if (!dart.notNull(separator[dartx.isEmpty])) { | 133 if (!dart.notNull(separator[dartx.isEmpty])) { |
147 if (length == 0) | 134 if (length == 0) return ""; |
148 return ""; | |
149 let first = `${this.elementAt(0)}`; | 135 let first = `${this.elementAt(0)}`; |
150 if (length != this.length) { | 136 if (length != this.length) { |
151 dart.throw(new core.ConcurrentModificationError(this)); | 137 dart.throw(new core.ConcurrentModificationError(this)); |
152 } | 138 } |
153 let buffer = new core.StringBuffer(first); | 139 let buffer = new core.StringBuffer(first); |
154 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { | 140 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { |
155 buffer.write(separator); | 141 buffer.write(separator); |
156 buffer.write(this.elementAt(i)); | 142 buffer.write(this.elementAt(i)); |
157 if (length != this.length) { | 143 if (length != this.length) { |
158 dart.throw(new core.ConcurrentModificationError(this)); | 144 dart.throw(new core.ConcurrentModificationError(this)); |
(...skipping 15 matching lines...) Expand all Loading... |
174 dart.as(test, dart.functionType(core.bool, [E])); | 160 dart.as(test, dart.functionType(core.bool, [E])); |
175 return super.where(test); | 161 return super.where(test); |
176 } | 162 } |
177 map(f) { | 163 map(f) { |
178 dart.as(f, dart.functionType(dart.dynamic, [E])); | 164 dart.as(f, dart.functionType(dart.dynamic, [E])); |
179 return new MappedListIterable(this, f); | 165 return new MappedListIterable(this, f); |
180 } | 166 } |
181 reduce(combine) { | 167 reduce(combine) { |
182 dart.as(combine, dart.functionType(E, [dart.dynamic, E])); | 168 dart.as(combine, dart.functionType(E, [dart.dynamic, E])); |
183 let length = this.length; | 169 let length = this.length; |
184 if (length == 0) | 170 if (length == 0) dart.throw(IterableElementError.noElement()); |
185 dart.throw(IterableElementError.noElement()); | |
186 let value = this.elementAt(0); | 171 let value = this.elementAt(0); |
187 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 172 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
188 value = dart.dcall(combine, value, this.elementAt(i)); | 173 value = dart.dcall(combine, value, this.elementAt(i)); |
189 if (length != this.length) { | 174 if (length != this.length) { |
190 dart.throw(new core.ConcurrentModificationError(this)); | 175 dart.throw(new core.ConcurrentModificationError(this)); |
191 } | 176 } |
192 } | 177 } |
193 return value; | 178 return value; |
194 } | 179 } |
195 fold(initialValue, combine) { | 180 fold(initialValue, combine) { |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 core.RangeError.checkNotNegative(this[_start], "start"); | 290 core.RangeError.checkNotNegative(this[_start], "start"); |
306 if (this[_endOrLength] != null) { | 291 if (this[_endOrLength] != null) { |
307 core.RangeError.checkNotNegative(this[_endOrLength], "end"); | 292 core.RangeError.checkNotNegative(this[_endOrLength], "end"); |
308 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { | 293 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { |
309 dart.throw(new core.RangeError.range(this[_start], 0, this[_endOrLen
gth], "start")); | 294 dart.throw(new core.RangeError.range(this[_start], 0, this[_endOrLen
gth], "start")); |
310 } | 295 } |
311 } | 296 } |
312 } | 297 } |
313 get [_endIndex]() { | 298 get [_endIndex]() { |
314 let length = this[_iterable][dartx.length]; | 299 let length = this[_iterable][dartx.length]; |
315 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar
t.notNull(length)) | 300 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar
t.notNull(length)) return length; |
316 return length; | |
317 return this[_endOrLength]; | 301 return this[_endOrLength]; |
318 } | 302 } |
319 get [_startIndex]() { | 303 get [_startIndex]() { |
320 let length = this[_iterable][dartx.length]; | 304 let length = this[_iterable][dartx.length]; |
321 if (dart.notNull(this[_start]) > dart.notNull(length)) | 305 if (dart.notNull(this[_start]) > dart.notNull(length)) return length; |
322 return length; | |
323 return this[_start]; | 306 return this[_start]; |
324 } | 307 } |
325 get length() { | 308 get length() { |
326 let length = this[_iterable][dartx.length]; | 309 let length = this[_iterable][dartx.length]; |
327 if (dart.notNull(this[_start]) >= dart.notNull(length)) | 310 if (dart.notNull(this[_start]) >= dart.notNull(length)) return 0; |
328 return 0; | |
329 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da
rt.notNull(length)) { | 311 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da
rt.notNull(length)) { |
330 return dart.notNull(length) - dart.notNull(this[_start]); | 312 return dart.notNull(length) - dart.notNull(this[_start]); |
331 } | 313 } |
332 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); | 314 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); |
333 } | 315 } |
334 elementAt(index) { | 316 elementAt(index) { |
335 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); | 317 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); |
336 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t
his[_endIndex])) { | 318 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t
his[_endIndex])) { |
337 dart.throw(core.RangeError.index(index, this, "index")); | 319 dart.throw(core.RangeError.index(index, this, "index")); |
338 } | 320 } |
339 return this[_iterable][dartx.elementAt](realIndex); | 321 return this[_iterable][dartx.elementAt](realIndex); |
340 } | 322 } |
341 skip(count) { | 323 skip(count) { |
342 core.RangeError.checkNotNegative(count, "count"); | 324 core.RangeError.checkNotNegative(count, "count"); |
343 let newStart = dart.notNull(this[_start]) + dart.notNull(count); | 325 let newStart = dart.notNull(this[_start]) + dart.notNull(count); |
344 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull
(this[_endOrLength])) { | 326 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull
(this[_endOrLength])) { |
345 return new (EmptyIterable$(E))(); | 327 return new (EmptyIterable$(E))(); |
346 } | 328 } |
347 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL
ength]); | 329 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL
ength]); |
348 } | 330 } |
349 take(count) { | 331 take(count) { |
350 core.RangeError.checkNotNegative(count, "count"); | 332 core.RangeError.checkNotNegative(count, "count"); |
351 if (this[_endOrLength] == null) { | 333 if (this[_endOrLength] == null) { |
352 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n
otNull(this[_start]) + dart.notNull(count)); | 334 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n
otNull(this[_start]) + dart.notNull(count)); |
353 } else { | 335 } else { |
354 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); | 336 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); |
355 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) | 337 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) return th
is; |
356 return this; | |
357 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd
); | 338 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd
); |
358 } | 339 } |
359 } | 340 } |
360 toList(opts) { | 341 toList(opts) { |
361 let growable = opts && 'growable' in opts ? opts.growable : true; | 342 let growable = opts && 'growable' in opts ? opts.growable : true; |
362 let start = this[_start]; | 343 let start = this[_start]; |
363 let end = this[_iterable][dartx.length]; | 344 let end = this[_iterable][dartx.length]; |
364 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar
t.notNull(end)) | 345 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar
t.notNull(end)) end = this[_endOrLength]; |
365 end = this[_endOrLength]; | |
366 let length = dart.notNull(end) - dart.notNull(start); | 346 let length = dart.notNull(end) - dart.notNull(start); |
367 if (dart.notNull(length) < 0) | 347 if (dart.notNull(length) < 0) length = 0; |
368 length = 0; | |
369 let result = dart.notNull(growable) ? (() => { | 348 let result = dart.notNull(growable) ? (() => { |
370 let _ = core.List$(E).new(); | 349 let _ = core.List$(E).new(); |
371 _[dartx.length] = length; | 350 _[dartx.length] = length; |
372 return _; | 351 return _; |
373 })() : core.List$(E).new(length); | 352 })() : core.List$(E).new(length); |
374 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 353 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
375 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta
rt) + dart.notNull(i))); | 354 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta
rt) + dart.notNull(i))); |
376 if (dart.notNull(this[_iterable][dartx.length]) < dart.notNull(end)) | 355 if (dart.notNull(this[_iterable][dartx.length]) < dart.notNull(end)) d
art.throw(new core.ConcurrentModificationError(this)); |
377 dart.throw(new core.ConcurrentModificationError(this)); | |
378 } | 356 } |
379 return dart.as(result, core.List$(E)); | 357 return dart.as(result, core.List$(E)); |
380 } | 358 } |
381 } | 359 } |
382 dart.setSignature(SubListIterable, { | 360 dart.setSignature(SubListIterable, { |
383 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl
e$(E), core.int, core.int]]}), | 361 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl
e$(E), core.int, core.int]]}), |
384 methods: () => ({ | 362 methods: () => ({ |
385 elementAt: [E, [core.int]], | 363 elementAt: [E, [core.int]], |
386 skip: [core.Iterable$(E), [core.int]], | 364 skip: [core.Iterable$(E), [core.int]], |
387 take: [core.Iterable$(E), [core.int]], | 365 take: [core.Iterable$(E), [core.int]], |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
638 this[_iterator] = iterator; | 616 this[_iterator] = iterator; |
639 this[_f] = f; | 617 this[_f] = f; |
640 this[_currentExpansion] = dart.const(new (EmptyIterator$(T))()); | 618 this[_currentExpansion] = dart.const(new (EmptyIterator$(T))()); |
641 this[_current] = null; | 619 this[_current] = null; |
642 } | 620 } |
643 [_nextExpansion]() {} | 621 [_nextExpansion]() {} |
644 get current() { | 622 get current() { |
645 return this[_current]; | 623 return this[_current]; |
646 } | 624 } |
647 moveNext() { | 625 moveNext() { |
648 if (this[_currentExpansion] == null) | 626 if (this[_currentExpansion] == null) return false; |
649 return false; | |
650 while (!dart.notNull(this[_currentExpansion].moveNext())) { | 627 while (!dart.notNull(this[_currentExpansion].moveNext())) { |
651 this[_current] = null; | 628 this[_current] = null; |
652 if (dart.notNull(this[_iterator].moveNext())) { | 629 if (dart.notNull(this[_iterator].moveNext())) { |
653 this[_currentExpansion] = null; | 630 this[_currentExpansion] = null; |
654 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato
r].current)[dartx.iterator], core.Iterator$(T)); | 631 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato
r].current)[dartx.iterator], core.Iterator$(T)); |
655 } else { | 632 } else { |
656 return false; | 633 return false; |
657 } | 634 } |
658 } | 635 } |
659 this[_current] = this[_currentExpansion].current; | 636 this[_current] = this[_currentExpansion].current; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 return TakeIterable; | 680 return TakeIterable; |
704 }); | 681 }); |
705 let TakeIterable = TakeIterable$(); | 682 let TakeIterable = TakeIterable$(); |
706 const EfficientLengthTakeIterable$ = dart.generic(function(E) { | 683 const EfficientLengthTakeIterable$ = dart.generic(function(E) { |
707 class EfficientLengthTakeIterable extends TakeIterable$(E) { | 684 class EfficientLengthTakeIterable extends TakeIterable$(E) { |
708 EfficientLengthTakeIterable(iterable, takeCount) { | 685 EfficientLengthTakeIterable(iterable, takeCount) { |
709 super._(iterable, takeCount); | 686 super._(iterable, takeCount); |
710 } | 687 } |
711 get length() { | 688 get length() { |
712 let iterableLength = this[_iterable][dartx.length]; | 689 let iterableLength = this[_iterable][dartx.length]; |
713 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount])) | 690 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount])) retur
n this[_takeCount]; |
714 return this[_takeCount]; | |
715 return iterableLength; | 691 return iterableLength; |
716 } | 692 } |
717 } | 693 } |
718 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength]; | 694 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength]; |
719 dart.setSignature(EfficientLengthTakeIterable, { | 695 dart.setSignature(EfficientLengthTakeIterable, { |
720 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte
rable$(E), [core.Iterable$(E), core.int]]}) | 696 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte
rable$(E), [core.Iterable$(E), core.int]]}) |
721 }); | 697 }); |
722 dart.defineExtensionMembers(EfficientLengthTakeIterable, ['length']); | 698 dart.defineExtensionMembers(EfficientLengthTakeIterable, ['length']); |
723 return EfficientLengthTakeIterable; | 699 return EfficientLengthTakeIterable; |
724 }); | 700 }); |
725 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(); | 701 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(); |
726 const _remaining = dart.JsSymbol('_remaining'); | 702 const _remaining = dart.JsSymbol('_remaining'); |
727 const TakeIterator$ = dart.generic(function(E) { | 703 const TakeIterator$ = dart.generic(function(E) { |
728 class TakeIterator extends core.Iterator$(E) { | 704 class TakeIterator extends core.Iterator$(E) { |
729 TakeIterator(iterator, remaining) { | 705 TakeIterator(iterator, remaining) { |
730 this[_iterator] = iterator; | 706 this[_iterator] = iterator; |
731 this[_remaining] = remaining; | 707 this[_remaining] = remaining; |
732 dart.assert(typeof this[_remaining] == 'number' && dart.notNull(this[_re
maining]) >= 0); | 708 dart.assert(typeof this[_remaining] == 'number' && dart.notNull(this[_re
maining]) >= 0); |
733 } | 709 } |
734 moveNext() { | 710 moveNext() { |
735 this[_remaining] = dart.notNull(this[_remaining]) - 1; | 711 this[_remaining] = dart.notNull(this[_remaining]) - 1; |
736 if (dart.notNull(this[_remaining]) >= 0) { | 712 if (dart.notNull(this[_remaining]) >= 0) { |
737 return this[_iterator].moveNext(); | 713 return this[_iterator].moveNext(); |
738 } | 714 } |
739 this[_remaining] = -1; | 715 this[_remaining] = -1; |
740 return false; | 716 return false; |
741 } | 717 } |
742 get current() { | 718 get current() { |
743 if (dart.notNull(this[_remaining]) < 0) | 719 if (dart.notNull(this[_remaining]) < 0) return null; |
744 return null; | |
745 return this[_iterator].current; | 720 return this[_iterator].current; |
746 } | 721 } |
747 } | 722 } |
748 dart.setSignature(TakeIterator, { | 723 dart.setSignature(TakeIterator, { |
749 constructors: () => ({TakeIterator: [TakeIterator$(E), [core.Iterator$(E),
core.int]]}), | 724 constructors: () => ({TakeIterator: [TakeIterator$(E), [core.Iterator$(E),
core.int]]}), |
750 methods: () => ({moveNext: [core.bool, []]}) | 725 methods: () => ({moveNext: [core.bool, []]}) |
751 }); | 726 }); |
752 return TakeIterator; | 727 return TakeIterator; |
753 }); | 728 }); |
754 let TakeIterator = TakeIterator$(); | 729 let TakeIterator = TakeIterator$(); |
(...skipping 17 matching lines...) Expand all Loading... |
772 let TakeWhileIterable = TakeWhileIterable$(); | 747 let TakeWhileIterable = TakeWhileIterable$(); |
773 const _isFinished = dart.JsSymbol('_isFinished'); | 748 const _isFinished = dart.JsSymbol('_isFinished'); |
774 const TakeWhileIterator$ = dart.generic(function(E) { | 749 const TakeWhileIterator$ = dart.generic(function(E) { |
775 class TakeWhileIterator extends core.Iterator$(E) { | 750 class TakeWhileIterator extends core.Iterator$(E) { |
776 TakeWhileIterator(iterator, f) { | 751 TakeWhileIterator(iterator, f) { |
777 this[_iterator] = iterator; | 752 this[_iterator] = iterator; |
778 this[_f] = f; | 753 this[_f] = f; |
779 this[_isFinished] = false; | 754 this[_isFinished] = false; |
780 } | 755 } |
781 moveNext() { | 756 moveNext() { |
782 if (dart.notNull(this[_isFinished])) | 757 if (dart.notNull(this[_isFinished])) return false; |
783 return false; | |
784 if (!dart.notNull(this[_iterator].moveNext()) || !dart.notNull(this[_f](
this[_iterator].current))) { | 758 if (!dart.notNull(this[_iterator].moveNext()) || !dart.notNull(this[_f](
this[_iterator].current))) { |
785 this[_isFinished] = true; | 759 this[_isFinished] = true; |
786 return false; | 760 return false; |
787 } | 761 } |
788 return true; | 762 return true; |
789 } | 763 } |
790 get current() { | 764 get current() { |
791 if (dart.notNull(this[_isFinished])) | 765 if (dart.notNull(this[_isFinished])) return null; |
792 return null; | |
793 return this[_iterator].current; | 766 return this[_iterator].current; |
794 } | 767 } |
795 } | 768 } |
796 dart.setSignature(TakeWhileIterator, { | 769 dart.setSignature(TakeWhileIterator, { |
797 constructors: () => ({TakeWhileIterator: [TakeWhileIterator$(E), [core.Ite
rator$(E), dart.functionType(core.bool, [E])]]}), | 770 constructors: () => ({TakeWhileIterator: [TakeWhileIterator$(E), [core.Ite
rator$(E), dart.functionType(core.bool, [E])]]}), |
798 methods: () => ({moveNext: [core.bool, []]}) | 771 methods: () => ({moveNext: [core.bool, []]}) |
799 }); | 772 }); |
800 return TakeWhileIterator; | 773 return TakeWhileIterator; |
801 }); | 774 }); |
802 let TakeWhileIterator = TakeWhileIterator$(); | 775 let TakeWhileIterator = TakeWhileIterator$(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 return SkipIterable; | 814 return SkipIterable; |
842 }); | 815 }); |
843 let SkipIterable = SkipIterable$(); | 816 let SkipIterable = SkipIterable$(); |
844 const EfficientLengthSkipIterable$ = dart.generic(function(E) { | 817 const EfficientLengthSkipIterable$ = dart.generic(function(E) { |
845 class EfficientLengthSkipIterable extends SkipIterable$(E) { | 818 class EfficientLengthSkipIterable extends SkipIterable$(E) { |
846 EfficientLengthSkipIterable(iterable, skipCount) { | 819 EfficientLengthSkipIterable(iterable, skipCount) { |
847 super._(iterable, skipCount); | 820 super._(iterable, skipCount); |
848 } | 821 } |
849 get length() { | 822 get length() { |
850 let length = dart.notNull(this[_iterable][dartx.length]) - dart.notNull(
this[_skipCount]); | 823 let length = dart.notNull(this[_iterable][dartx.length]) - dart.notNull(
this[_skipCount]); |
851 if (dart.notNull(length) >= 0) | 824 if (dart.notNull(length) >= 0) return length; |
852 return length; | |
853 return 0; | 825 return 0; |
854 } | 826 } |
855 } | 827 } |
856 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength]; | 828 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength]; |
857 dart.setSignature(EfficientLengthSkipIterable, { | 829 dart.setSignature(EfficientLengthSkipIterable, { |
858 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte
rable$(E), [core.Iterable$(E), core.int]]}) | 830 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte
rable$(E), [core.Iterable$(E), core.int]]}) |
859 }); | 831 }); |
860 dart.defineExtensionMembers(EfficientLengthSkipIterable, ['length']); | 832 dart.defineExtensionMembers(EfficientLengthSkipIterable, ['length']); |
861 return EfficientLengthSkipIterable; | 833 return EfficientLengthSkipIterable; |
862 }); | 834 }); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
908 class SkipWhileIterator extends core.Iterator$(E) { | 880 class SkipWhileIterator extends core.Iterator$(E) { |
909 SkipWhileIterator(iterator, f) { | 881 SkipWhileIterator(iterator, f) { |
910 this[_iterator] = iterator; | 882 this[_iterator] = iterator; |
911 this[_f] = f; | 883 this[_f] = f; |
912 this[_hasSkipped] = false; | 884 this[_hasSkipped] = false; |
913 } | 885 } |
914 moveNext() { | 886 moveNext() { |
915 if (!dart.notNull(this[_hasSkipped])) { | 887 if (!dart.notNull(this[_hasSkipped])) { |
916 this[_hasSkipped] = true; | 888 this[_hasSkipped] = true; |
917 while (dart.notNull(this[_iterator].moveNext())) { | 889 while (dart.notNull(this[_iterator].moveNext())) { |
918 if (!dart.notNull(this[_f](this[_iterator].current))) | 890 if (!dart.notNull(this[_f](this[_iterator].current))) return true; |
919 return true; | |
920 } | 891 } |
921 } | 892 } |
922 return this[_iterator].moveNext(); | 893 return this[_iterator].moveNext(); |
923 } | 894 } |
924 get current() { | 895 get current() { |
925 return this[_iterator].current; | 896 return this[_iterator].current; |
926 } | 897 } |
927 } | 898 } |
928 dart.setSignature(SkipWhileIterator, { | 899 dart.setSignature(SkipWhileIterator, { |
929 constructors: () => ({SkipWhileIterator: [SkipWhileIterator$(E), [core.Ite
rator$(E), dart.functionType(core.bool, [E])]]}), | 900 constructors: () => ({SkipWhileIterator: [SkipWhileIterator$(E), [core.Ite
rator$(E), dart.functionType(core.bool, [E])]]}), |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 return true; | 940 return true; |
970 } | 941 } |
971 any(test) { | 942 any(test) { |
972 dart.as(test, dart.functionType(core.bool, [E])); | 943 dart.as(test, dart.functionType(core.bool, [E])); |
973 return false; | 944 return false; |
974 } | 945 } |
975 firstWhere(test, opts) { | 946 firstWhere(test, opts) { |
976 dart.as(test, dart.functionType(core.bool, [E])); | 947 dart.as(test, dart.functionType(core.bool, [E])); |
977 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 948 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
978 dart.as(orElse, dart.functionType(E, [])); | 949 dart.as(orElse, dart.functionType(E, [])); |
979 if (orElse != null) | 950 if (orElse != null) return orElse(); |
980 return orElse(); | |
981 dart.throw(IterableElementError.noElement()); | 951 dart.throw(IterableElementError.noElement()); |
982 } | 952 } |
983 lastWhere(test, opts) { | 953 lastWhere(test, opts) { |
984 dart.as(test, dart.functionType(core.bool, [E])); | 954 dart.as(test, dart.functionType(core.bool, [E])); |
985 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 955 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
986 dart.as(orElse, dart.functionType(E, [])); | 956 dart.as(orElse, dart.functionType(E, [])); |
987 if (orElse != null) | 957 if (orElse != null) return orElse(); |
988 return orElse(); | |
989 dart.throw(IterableElementError.noElement()); | 958 dart.throw(IterableElementError.noElement()); |
990 } | 959 } |
991 singleWhere(test, opts) { | 960 singleWhere(test, opts) { |
992 dart.as(test, dart.functionType(core.bool, [E])); | 961 dart.as(test, dart.functionType(core.bool, [E])); |
993 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 962 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
994 dart.as(orElse, dart.functionType(E, [])); | 963 dart.as(orElse, dart.functionType(E, [])); |
995 if (orElse != null) | 964 if (orElse != null) return orElse(); |
996 return orElse(); | |
997 dart.throw(IterableElementError.noElement()); | 965 dart.throw(IterableElementError.noElement()); |
998 } | 966 } |
999 join(separator) { | 967 join(separator) { |
1000 if (separator === void 0) | 968 if (separator === void 0) separator = ""; |
1001 separator = ""; | |
1002 return ""; | 969 return ""; |
1003 } | 970 } |
1004 where(test) { | 971 where(test) { |
1005 dart.as(test, dart.functionType(core.bool, [E])); | 972 dart.as(test, dart.functionType(core.bool, [E])); |
1006 return this; | 973 return this; |
1007 } | 974 } |
1008 map(f) { | 975 map(f) { |
1009 dart.as(f, dart.functionType(dart.dynamic, [E])); | 976 dart.as(f, dart.functionType(dart.dynamic, [E])); |
1010 return dart.const(new (EmptyIterable$())()); | 977 return dart.const(new (EmptyIterable$())()); |
1011 } | 978 } |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1116 const BidirectionalIterator$ = dart.generic(function(T) { | 1083 const BidirectionalIterator$ = dart.generic(function(T) { |
1117 class BidirectionalIterator extends core.Object {} | 1084 class BidirectionalIterator extends core.Object {} |
1118 BidirectionalIterator[dart.implements] = () => [core.Iterator$(T)]; | 1085 BidirectionalIterator[dart.implements] = () => [core.Iterator$(T)]; |
1119 return BidirectionalIterator; | 1086 return BidirectionalIterator; |
1120 }); | 1087 }); |
1121 let BidirectionalIterator = BidirectionalIterator$(); | 1088 let BidirectionalIterator = BidirectionalIterator$(); |
1122 const IterableMixinWorkaround$ = dart.generic(function(T) { | 1089 const IterableMixinWorkaround$ = dart.generic(function(T) { |
1123 class IterableMixinWorkaround extends core.Object { | 1090 class IterableMixinWorkaround extends core.Object { |
1124 static contains(iterable, element) { | 1091 static contains(iterable, element) { |
1125 for (let e of iterable) { | 1092 for (let e of iterable) { |
1126 if (dart.equals(e, element)) | 1093 if (dart.equals(e, element)) return true; |
1127 return true; | |
1128 } | 1094 } |
1129 return false; | 1095 return false; |
1130 } | 1096 } |
1131 static forEach(iterable, f) { | 1097 static forEach(iterable, f) { |
1132 dart.as(f, dart.functionType(dart.void, [dart.dynamic])); | 1098 dart.as(f, dart.functionType(dart.void, [dart.dynamic])); |
1133 for (let e of iterable) { | 1099 for (let e of iterable) { |
1134 dart.dcall(f, e); | 1100 dart.dcall(f, e); |
1135 } | 1101 } |
1136 } | 1102 } |
1137 static any(iterable, f) { | 1103 static any(iterable, f) { |
1138 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); | 1104 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); |
1139 for (let e of iterable) { | 1105 for (let e of iterable) { |
1140 if (dart.notNull(dart.dcall(f, e))) | 1106 if (dart.notNull(dart.dcall(f, e))) return true; |
1141 return true; | |
1142 } | 1107 } |
1143 return false; | 1108 return false; |
1144 } | 1109 } |
1145 static every(iterable, f) { | 1110 static every(iterable, f) { |
1146 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); | 1111 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); |
1147 for (let e of iterable) { | 1112 for (let e of iterable) { |
1148 if (!dart.notNull(dart.dcall(f, e))) | 1113 if (!dart.notNull(dart.dcall(f, e))) return false; |
1149 return false; | |
1150 } | 1114 } |
1151 return true; | 1115 return true; |
1152 } | 1116 } |
1153 static reduce(iterable, combine) { | 1117 static reduce(iterable, combine) { |
1154 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dyn
amic])); | 1118 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dyn
amic])); |
1155 let iterator = iterable[dartx.iterator]; | 1119 let iterator = iterable[dartx.iterator]; |
1156 if (!dart.notNull(iterator.moveNext())) | 1120 if (!dart.notNull(iterator.moveNext())) dart.throw(IterableElementError.
noElement()); |
1157 dart.throw(IterableElementError.noElement()); | |
1158 let value = iterator.current; | 1121 let value = iterator.current; |
1159 while (dart.notNull(iterator.moveNext())) { | 1122 while (dart.notNull(iterator.moveNext())) { |
1160 value = dart.dcall(combine, value, iterator.current); | 1123 value = dart.dcall(combine, value, iterator.current); |
1161 } | 1124 } |
1162 return value; | 1125 return value; |
1163 } | 1126 } |
1164 static fold(iterable, initialValue, combine) { | 1127 static fold(iterable, initialValue, combine) { |
1165 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dyn
amic])); | 1128 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dyn
amic])); |
1166 for (let element of iterable) { | 1129 for (let element of iterable) { |
1167 initialValue = dart.dcall(combine, initialValue, element); | 1130 initialValue = dart.dcall(combine, initialValue, element); |
1168 } | 1131 } |
1169 return initialValue; | 1132 return initialValue; |
1170 } | 1133 } |
1171 static removeWhereList(list, test) { | 1134 static removeWhereList(list, test) { |
1172 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | 1135 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
1173 let retained = []; | 1136 let retained = []; |
1174 let length = list[dartx.length]; | 1137 let length = list[dartx.length]; |
1175 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1138 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1176 let element = list[dartx.get](i); | 1139 let element = list[dartx.get](i); |
1177 if (!dart.notNull(dart.dcall(test, element))) { | 1140 if (!dart.notNull(dart.dcall(test, element))) { |
1178 retained[dartx.add](element); | 1141 retained[dartx.add](element); |
1179 } | 1142 } |
1180 if (length != list[dartx.length]) { | 1143 if (length != list[dartx.length]) { |
1181 dart.throw(new core.ConcurrentModificationError(list)); | 1144 dart.throw(new core.ConcurrentModificationError(list)); |
1182 } | 1145 } |
1183 } | 1146 } |
1184 if (retained[dartx.length] == length) | 1147 if (retained[dartx.length] == length) return; |
1185 return; | |
1186 list[dartx.length] = retained[dartx.length]; | 1148 list[dartx.length] = retained[dartx.length]; |
1187 for (let i = 0; dart.notNull(i) < dart.notNull(retained[dartx.length]);
i = dart.notNull(i) + 1) { | 1149 for (let i = 0; dart.notNull(i) < dart.notNull(retained[dartx.length]);
i = dart.notNull(i) + 1) { |
1188 list[dartx.set](i, retained[dartx.get](i)); | 1150 list[dartx.set](i, retained[dartx.get](i)); |
1189 } | 1151 } |
1190 } | 1152 } |
1191 static isEmpty(iterable) { | 1153 static isEmpty(iterable) { |
1192 return !dart.notNull(iterable[dartx.iterator].moveNext()); | 1154 return !dart.notNull(iterable[dartx.iterator].moveNext()); |
1193 } | 1155 } |
1194 static first(iterable) { | 1156 static first(iterable) { |
1195 let it = iterable[dartx.iterator]; | 1157 let it = iterable[dartx.iterator]; |
1196 if (!dart.notNull(it.moveNext())) { | 1158 if (!dart.notNull(it.moveNext())) { |
1197 dart.throw(IterableElementError.noElement()); | 1159 dart.throw(IterableElementError.noElement()); |
1198 } | 1160 } |
1199 return it.current; | 1161 return it.current; |
1200 } | 1162 } |
1201 static last(iterable) { | 1163 static last(iterable) { |
1202 let it = iterable[dartx.iterator]; | 1164 let it = iterable[dartx.iterator]; |
1203 if (!dart.notNull(it.moveNext())) { | 1165 if (!dart.notNull(it.moveNext())) { |
1204 dart.throw(IterableElementError.noElement()); | 1166 dart.throw(IterableElementError.noElement()); |
1205 } | 1167 } |
1206 let result = null; | 1168 let result = null; |
1207 do { | 1169 do { |
1208 result = it.current; | 1170 result = it.current; |
1209 } while (dart.notNull(it.moveNext())); | 1171 } while (dart.notNull(it.moveNext())); |
1210 return result; | 1172 return result; |
1211 } | 1173 } |
1212 static single(iterable) { | 1174 static single(iterable) { |
1213 let it = iterable[dartx.iterator]; | 1175 let it = iterable[dartx.iterator]; |
1214 if (!dart.notNull(it.moveNext())) | 1176 if (!dart.notNull(it.moveNext())) dart.throw(IterableElementError.noElem
ent()); |
1215 dart.throw(IterableElementError.noElement()); | |
1216 let result = it.current; | 1177 let result = it.current; |
1217 if (dart.notNull(it.moveNext())) | 1178 if (dart.notNull(it.moveNext())) dart.throw(IterableElementError.tooMany
()); |
1218 dart.throw(IterableElementError.tooMany()); | |
1219 return result; | 1179 return result; |
1220 } | 1180 } |
1221 static firstWhere(iterable, test, orElse) { | 1181 static firstWhere(iterable, test, orElse) { |
1222 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | 1182 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
1223 dart.as(orElse, dart.functionType(dart.dynamic, [])); | 1183 dart.as(orElse, dart.functionType(dart.dynamic, [])); |
1224 for (let element of iterable) { | 1184 for (let element of iterable) { |
1225 if (dart.notNull(dart.dcall(test, element))) | 1185 if (dart.notNull(dart.dcall(test, element))) return element; |
1226 return element; | |
1227 } | 1186 } |
1228 if (orElse != null) | 1187 if (orElse != null) return orElse(); |
1229 return orElse(); | |
1230 dart.throw(IterableElementError.noElement()); | 1188 dart.throw(IterableElementError.noElement()); |
1231 } | 1189 } |
1232 static lastWhere(iterable, test, orElse) { | 1190 static lastWhere(iterable, test, orElse) { |
1233 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | 1191 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
1234 dart.as(orElse, dart.functionType(dart.dynamic, [])); | 1192 dart.as(orElse, dart.functionType(dart.dynamic, [])); |
1235 let result = null; | 1193 let result = null; |
1236 let foundMatching = false; | 1194 let foundMatching = false; |
1237 for (let element of iterable) { | 1195 for (let element of iterable) { |
1238 if (dart.notNull(dart.dcall(test, element))) { | 1196 if (dart.notNull(dart.dcall(test, element))) { |
1239 result = element; | 1197 result = element; |
1240 foundMatching = true; | 1198 foundMatching = true; |
1241 } | 1199 } |
1242 } | 1200 } |
1243 if (dart.notNull(foundMatching)) | 1201 if (dart.notNull(foundMatching)) return result; |
1244 return result; | 1202 if (orElse != null) return orElse(); |
1245 if (orElse != null) | |
1246 return orElse(); | |
1247 dart.throw(IterableElementError.noElement()); | 1203 dart.throw(IterableElementError.noElement()); |
1248 } | 1204 } |
1249 static lastWhereList(list, test, orElse) { | 1205 static lastWhereList(list, test, orElse) { |
1250 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | 1206 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
1251 dart.as(orElse, dart.functionType(dart.dynamic, [])); | 1207 dart.as(orElse, dart.functionType(dart.dynamic, [])); |
1252 for (let i = dart.notNull(list[dartx.length]) - 1; dart.notNull(i) >= 0;
i = dart.notNull(i) - 1) { | 1208 for (let i = dart.notNull(list[dartx.length]) - 1; dart.notNull(i) >= 0;
i = dart.notNull(i) - 1) { |
1253 let element = list[dartx.get](i); | 1209 let element = list[dartx.get](i); |
1254 if (dart.notNull(dart.dcall(test, element))) | 1210 if (dart.notNull(dart.dcall(test, element))) return element; |
1255 return element; | |
1256 } | 1211 } |
1257 if (orElse != null) | 1212 if (orElse != null) return orElse(); |
1258 return orElse(); | |
1259 dart.throw(IterableElementError.noElement()); | 1213 dart.throw(IterableElementError.noElement()); |
1260 } | 1214 } |
1261 static singleWhere(iterable, test) { | 1215 static singleWhere(iterable, test) { |
1262 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | 1216 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
1263 let result = null; | 1217 let result = null; |
1264 let foundMatching = false; | 1218 let foundMatching = false; |
1265 for (let element of iterable) { | 1219 for (let element of iterable) { |
1266 if (dart.notNull(dart.dcall(test, element))) { | 1220 if (dart.notNull(dart.dcall(test, element))) { |
1267 if (dart.notNull(foundMatching)) { | 1221 if (dart.notNull(foundMatching)) { |
1268 dart.throw(IterableElementError.tooMany()); | 1222 dart.throw(IterableElementError.tooMany()); |
1269 } | 1223 } |
1270 result = element; | 1224 result = element; |
1271 foundMatching = true; | 1225 foundMatching = true; |
1272 } | 1226 } |
1273 } | 1227 } |
1274 if (dart.notNull(foundMatching)) | 1228 if (dart.notNull(foundMatching)) return result; |
1275 return result; | |
1276 dart.throw(IterableElementError.noElement()); | 1229 dart.throw(IterableElementError.noElement()); |
1277 } | 1230 } |
1278 static elementAt(iterable, index) { | 1231 static elementAt(iterable, index) { |
1279 if (!(typeof index == 'number')) | 1232 if (!(typeof index == 'number')) dart.throw(new core.ArgumentError.notNu
ll("index")); |
1280 dart.throw(new core.ArgumentError.notNull("index")); | |
1281 core.RangeError.checkNotNegative(index, "index"); | 1233 core.RangeError.checkNotNegative(index, "index"); |
1282 let elementIndex = 0; | 1234 let elementIndex = 0; |
1283 for (let element of iterable) { | 1235 for (let element of iterable) { |
1284 if (index == elementIndex) | 1236 if (index == elementIndex) return element; |
1285 return element; | |
1286 elementIndex = dart.notNull(elementIndex) + 1; | 1237 elementIndex = dart.notNull(elementIndex) + 1; |
1287 } | 1238 } |
1288 dart.throw(core.RangeError.index(index, iterable, "index", null, element
Index)); | 1239 dart.throw(core.RangeError.index(index, iterable, "index", null, element
Index)); |
1289 } | 1240 } |
1290 static join(iterable, separator) { | 1241 static join(iterable, separator) { |
1291 if (separator === void 0) | 1242 if (separator === void 0) separator = null; |
1292 separator = null; | |
1293 let buffer = new core.StringBuffer(); | 1243 let buffer = new core.StringBuffer(); |
1294 buffer.writeAll(iterable, separator); | 1244 buffer.writeAll(iterable, separator); |
1295 return dart.toString(buffer); | 1245 return dart.toString(buffer); |
1296 } | 1246 } |
1297 static joinList(list, separator) { | 1247 static joinList(list, separator) { |
1298 if (separator === void 0) | 1248 if (separator === void 0) separator = null; |
1299 separator = null; | 1249 if (dart.notNull(list[dartx.isEmpty])) return ""; |
1300 if (dart.notNull(list[dartx.isEmpty])) | 1250 if (list[dartx.length] == 1) return `${list[dartx.get](0)}`; |
1301 return ""; | |
1302 if (list[dartx.length] == 1) | |
1303 return `${list[dartx.get](0)}`; | |
1304 let buffer = new core.StringBuffer(); | 1251 let buffer = new core.StringBuffer(); |
1305 if (dart.notNull(separator[dartx.isEmpty])) { | 1252 if (dart.notNull(separator[dartx.isEmpty])) { |
1306 for (let i = 0; dart.notNull(i) < dart.notNull(list[dartx.length]); i
= dart.notNull(i) + 1) { | 1253 for (let i = 0; dart.notNull(i) < dart.notNull(list[dartx.length]); i
= dart.notNull(i) + 1) { |
1307 buffer.write(list[dartx.get](i)); | 1254 buffer.write(list[dartx.get](i)); |
1308 } | 1255 } |
1309 } else { | 1256 } else { |
1310 buffer.write(list[dartx.get](0)); | 1257 buffer.write(list[dartx.get](0)); |
1311 for (let i = 1; dart.notNull(i) < dart.notNull(list[dartx.length]); i
= dart.notNull(i) + 1) { | 1258 for (let i = 1; dart.notNull(i) < dart.notNull(list[dartx.length]); i
= dart.notNull(i) + 1) { |
1312 buffer.write(separator); | 1259 buffer.write(separator); |
1313 buffer.write(list[dartx.get](i)); | 1260 buffer.write(list[dartx.get](i)); |
(...skipping 29 matching lines...) Expand all Loading... |
1343 } | 1290 } |
1344 skipWhile(iterable, test) { | 1291 skipWhile(iterable, test) { |
1345 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | 1292 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
1346 return new (SkipWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)),
dart.as(test, dart.functionType(core.bool, [T]))); | 1293 return new (SkipWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)),
dart.as(test, dart.functionType(core.bool, [T]))); |
1347 } | 1294 } |
1348 reversedList(list) { | 1295 reversedList(list) { |
1349 return new (ReversedListIterable$(T))(dart.as(list, core.Iterable$(T))); | 1296 return new (ReversedListIterable$(T))(dart.as(list, core.Iterable$(T))); |
1350 } | 1297 } |
1351 static sortList(list, compare) { | 1298 static sortList(list, compare) { |
1352 dart.as(compare, dart.functionType(core.int, [dart.dynamic, dart.dynamic
])); | 1299 dart.as(compare, dart.functionType(core.int, [dart.dynamic, dart.dynamic
])); |
1353 if (compare == null) | 1300 if (compare == null) compare = core.Comparable.compare; |
1354 compare = core.Comparable.compare; | |
1355 Sort.sort(list, compare); | 1301 Sort.sort(list, compare); |
1356 } | 1302 } |
1357 static shuffleList(list, random) { | 1303 static shuffleList(list, random) { |
1358 if (random == null) | 1304 if (random == null) random = math.Random.new(); |
1359 random = math.Random.new(); | |
1360 let length = list[dartx.length]; | 1305 let length = list[dartx.length]; |
1361 while (dart.notNull(length) > 1) { | 1306 while (dart.notNull(length) > 1) { |
1362 let pos = random.nextInt(length); | 1307 let pos = random.nextInt(length); |
1363 length = dart.notNull(length) - 1; | 1308 length = dart.notNull(length) - 1; |
1364 let tmp = list[dartx.get](length); | 1309 let tmp = list[dartx.get](length); |
1365 list[dartx.set](length, list[dartx.get](pos)); | 1310 list[dartx.set](length, list[dartx.get](pos)); |
1366 list[dartx.set](pos, tmp); | 1311 list[dartx.set](pos, tmp); |
1367 } | 1312 } |
1368 } | 1313 } |
1369 static indexOfList(list, element, start) { | 1314 static indexOfList(list, element, start) { |
1370 return Lists.indexOf(list, element, start, list[dartx.length]); | 1315 return Lists.indexOf(list, element, start, list[dartx.length]); |
1371 } | 1316 } |
1372 static lastIndexOfList(list, element, start) { | 1317 static lastIndexOfList(list, element, start) { |
1373 if (start == null) | 1318 if (start == null) start = dart.notNull(list[dartx.length]) - 1; |
1374 start = dart.notNull(list[dartx.length]) - 1; | |
1375 return Lists.lastIndexOf(list, element, start); | 1319 return Lists.lastIndexOf(list, element, start); |
1376 } | 1320 } |
1377 static _rangeCheck(list, start, end) { | 1321 static _rangeCheck(list, start, end) { |
1378 core.RangeError.checkValidRange(start, end, list[dartx.length]); | 1322 core.RangeError.checkValidRange(start, end, list[dartx.length]); |
1379 } | 1323 } |
1380 getRangeList(list, start, end) { | 1324 getRangeList(list, start, end) { |
1381 IterableMixinWorkaround$()._rangeCheck(list, start, end); | 1325 IterableMixinWorkaround$()._rangeCheck(list, start, end); |
1382 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start
, end); | 1326 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start
, end); |
1383 } | 1327 } |
1384 static setRangeList(list, start, end, from, skipCount) { | 1328 static setRangeList(list, start, end, from, skipCount) { |
1385 IterableMixinWorkaround$()._rangeCheck(list, start, end); | 1329 IterableMixinWorkaround$()._rangeCheck(list, start, end); |
1386 let length = dart.notNull(end) - dart.notNull(start); | 1330 let length = dart.notNull(end) - dart.notNull(start); |
1387 if (length == 0) | 1331 if (length == 0) return; |
1388 return; | 1332 if (dart.notNull(skipCount) < 0) dart.throw(new core.ArgumentError(skipC
ount)); |
1389 if (dart.notNull(skipCount) < 0) | |
1390 dart.throw(new core.ArgumentError(skipCount)); | |
1391 let otherList = null; | 1333 let otherList = null; |
1392 let otherStart = null; | 1334 let otherStart = null; |
1393 if (dart.is(from, core.List)) { | 1335 if (dart.is(from, core.List)) { |
1394 otherList = from; | 1336 otherList = from; |
1395 otherStart = skipCount; | 1337 otherStart = skipCount; |
1396 } else { | 1338 } else { |
1397 otherList = from[dartx.skip](skipCount)[dartx.toList]({growable: false
}); | 1339 otherList = from[dartx.skip](skipCount)[dartx.toList]({growable: false
}); |
1398 otherStart = 0; | 1340 otherStart = 0; |
1399 } | 1341 } |
1400 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List[dartx.length])) { | 1342 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List[dartx.length])) { |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1457 index = dart.notNull(x) + 1; | 1399 index = dart.notNull(x) + 1; |
1458 return x; | 1400 return x; |
1459 })(), element); | 1401 })(), element); |
1460 } | 1402 } |
1461 } | 1403 } |
1462 asMapList(l) { | 1404 asMapList(l) { |
1463 return new (ListMapView$(T))(dart.as(l, core.List$(T))); | 1405 return new (ListMapView$(T))(dart.as(l, core.List$(T))); |
1464 } | 1406 } |
1465 static setContainsAll(set, other) { | 1407 static setContainsAll(set, other) { |
1466 for (let element of other) { | 1408 for (let element of other) { |
1467 if (!dart.notNull(set.contains(element))) | 1409 if (!dart.notNull(set.contains(element))) return false; |
1468 return false; | |
1469 } | 1410 } |
1470 return true; | 1411 return true; |
1471 } | 1412 } |
1472 static setIntersection(set, other, result) { | 1413 static setIntersection(set, other, result) { |
1473 let smaller = null; | 1414 let smaller = null; |
1474 let larger = null; | 1415 let larger = null; |
1475 if (dart.notNull(set.length) < dart.notNull(other.length)) { | 1416 if (dart.notNull(set.length) < dart.notNull(other.length)) { |
1476 smaller = set; | 1417 smaller = set; |
1477 larger = other; | 1418 larger = other; |
1478 } else { | 1419 } else { |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1685 } | 1626 } |
1686 removeWhere(test) { | 1627 removeWhere(test) { |
1687 dart.as(test, dart.functionType(core.bool, [E])); | 1628 dart.as(test, dart.functionType(core.bool, [E])); |
1688 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | 1629 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); |
1689 } | 1630 } |
1690 retainWhere(test) { | 1631 retainWhere(test) { |
1691 dart.as(test, dart.functionType(core.bool, [E])); | 1632 dart.as(test, dart.functionType(core.bool, [E])); |
1692 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | 1633 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); |
1693 } | 1634 } |
1694 sort(compare) { | 1635 sort(compare) { |
1695 if (compare === void 0) | 1636 if (compare === void 0) compare = null; |
1696 compare = null; | |
1697 dart.as(compare, core.Comparator$(E)); | 1637 dart.as(compare, core.Comparator$(E)); |
1698 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | 1638 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); |
1699 } | 1639 } |
1700 shuffle(random) { | 1640 shuffle(random) { |
1701 if (random === void 0) | 1641 if (random === void 0) random = null; |
1702 random = null; | |
1703 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | 1642 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); |
1704 } | 1643 } |
1705 clear() { | 1644 clear() { |
1706 dart.throw(new core.UnsupportedError("Cannot clear an unmodifiable list"
)); | 1645 dart.throw(new core.UnsupportedError("Cannot clear an unmodifiable list"
)); |
1707 } | 1646 } |
1708 removeAt(index) { | 1647 removeAt(index) { |
1709 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | 1648 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); |
1710 } | 1649 } |
1711 removeLast() { | 1650 removeLast() { |
1712 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | 1651 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); |
1713 } | 1652 } |
1714 setRange(start, end, iterable, skipCount) { | 1653 setRange(start, end, iterable, skipCount) { |
1715 dart.as(iterable, core.Iterable$(E)); | 1654 dart.as(iterable, core.Iterable$(E)); |
1716 if (skipCount === void 0) | 1655 if (skipCount === void 0) skipCount = 0; |
1717 skipCount = 0; | |
1718 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | 1656 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); |
1719 } | 1657 } |
1720 removeRange(start, end) { | 1658 removeRange(start, end) { |
1721 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | 1659 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); |
1722 } | 1660 } |
1723 replaceRange(start, end, iterable) { | 1661 replaceRange(start, end, iterable) { |
1724 dart.as(iterable, core.Iterable$(E)); | 1662 dart.as(iterable, core.Iterable$(E)); |
1725 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | 1663 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); |
1726 } | 1664 } |
1727 fillRange(start, end, fillValue) { | 1665 fillRange(start, end, fillValue) { |
1728 if (fillValue === void 0) | 1666 if (fillValue === void 0) fillValue = null; |
1729 fillValue = null; | |
1730 dart.as(fillValue, E); | 1667 dart.as(fillValue, E); |
1731 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | 1668 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); |
1732 } | 1669 } |
1733 } | 1670 } |
1734 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)]; | 1671 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)]; |
1735 dart.setSignature(UnmodifiableListMixin, { | 1672 dart.setSignature(UnmodifiableListMixin, { |
1736 methods: () => ({ | 1673 methods: () => ({ |
1737 set: [dart.void, [core.int, E]], | 1674 set: [dart.void, [core.int, E]], |
1738 setAll: [dart.void, [core.int, core.Iterable$(E)]], | 1675 setAll: [dart.void, [core.int, core.Iterable$(E)]], |
1739 add: [dart.void, [E]], | 1676 add: [dart.void, [E]], |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1970 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) { | 1907 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) { |
1971 dst[dartx.set](j, src[dartx.get](i)); | 1908 dst[dartx.set](j, src[dartx.get](i)); |
1972 } | 1909 } |
1973 } else { | 1910 } else { |
1974 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) { | 1911 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) { |
1975 dst[dartx.set](j, src[dartx.get](i)); | 1912 dst[dartx.set](j, src[dartx.get](i)); |
1976 } | 1913 } |
1977 } | 1914 } |
1978 } | 1915 } |
1979 static areEqual(a, b) { | 1916 static areEqual(a, b) { |
1980 if (dart.notNull(core.identical(a, b))) | 1917 if (dart.notNull(core.identical(a, b))) return true; |
1981 return true; | 1918 if (!dart.is(b, core.List)) return false; |
1982 if (!dart.is(b, core.List)) | |
1983 return false; | |
1984 let length = a[dartx.length]; | 1919 let length = a[dartx.length]; |
1985 if (!dart.equals(length, dart.dload(b, 'length'))) | 1920 if (!dart.equals(length, dart.dload(b, 'length'))) return false; |
1986 return false; | |
1987 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i
) + 1) { | 1921 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i
) + 1) { |
1988 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i)))) | 1922 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i)))) r
eturn false; |
1989 return false; | |
1990 } | 1923 } |
1991 return true; | 1924 return true; |
1992 } | 1925 } |
1993 static indexOf(a, element, startIndex, endIndex) { | 1926 static indexOf(a, element, startIndex, endIndex) { |
1994 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) { | 1927 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) { |
1995 return -1; | 1928 return -1; |
1996 } | 1929 } |
1997 if (dart.notNull(startIndex) < 0) { | 1930 if (dart.notNull(startIndex) < 0) { |
1998 startIndex = 0; | 1931 startIndex = 0; |
1999 } | 1932 } |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2140 a[dartx.set](index2, a[dartx.get](left)); | 2073 a[dartx.set](index2, a[dartx.get](left)); |
2141 a[dartx.set](index4, a[dartx.get](right)); | 2074 a[dartx.set](index4, a[dartx.get](right)); |
2142 let less = dart.notNull(left) + 1; | 2075 let less = dart.notNull(left) + 1; |
2143 let great = dart.notNull(right) - 1; | 2076 let great = dart.notNull(right) - 1; |
2144 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0; | 2077 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0; |
2145 if (dart.notNull(pivots_are_equal)) { | 2078 if (dart.notNull(pivots_are_equal)) { |
2146 let pivot = pivot1; | 2079 let pivot = pivot1; |
2147 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN
ull(k) + 1) { | 2080 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN
ull(k) + 1) { |
2148 let ak = a[dartx.get](k); | 2081 let ak = a[dartx.get](k); |
2149 let comp = dart.dcall(compare, ak, pivot); | 2082 let comp = dart.dcall(compare, ak, pivot); |
2150 if (comp == 0) | 2083 if (comp == 0) continue; |
2151 continue; | |
2152 if (dart.notNull(comp) < 0) { | 2084 if (dart.notNull(comp) < 0) { |
2153 if (k != less) { | 2085 if (k != less) { |
2154 a[dartx.set](k, a[dartx.get](less)); | 2086 a[dartx.set](k, a[dartx.get](less)); |
2155 a[dartx.set](less, ak); | 2087 a[dartx.set](less, ak); |
2156 } | 2088 } |
2157 less = dart.notNull(less) + 1; | 2089 less = dart.notNull(less) + 1; |
2158 } else { | 2090 } else { |
2159 while (true) { | 2091 while (true) { |
2160 comp = dart.dcall(compare, a[dartx.get](great), pivot); | 2092 comp = dart.dcall(compare, a[dartx.get](great), pivot); |
2161 if (dart.notNull(comp) > 0) { | 2093 if (dart.notNull(comp) > 0) { |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2196 a[dartx.set](less, ak); | 2128 a[dartx.set](less, ak); |
2197 } | 2129 } |
2198 less = dart.notNull(less) + 1; | 2130 less = dart.notNull(less) + 1; |
2199 } else { | 2131 } else { |
2200 let comp_pivot2 = dart.dcall(compare, ak, pivot2); | 2132 let comp_pivot2 = dart.dcall(compare, ak, pivot2); |
2201 if (dart.notNull(comp_pivot2) > 0) { | 2133 if (dart.notNull(comp_pivot2) > 0) { |
2202 while (true) { | 2134 while (true) { |
2203 let comp = dart.dcall(compare, a[dartx.get](great), pivot2); | 2135 let comp = dart.dcall(compare, a[dartx.get](great), pivot2); |
2204 if (dart.notNull(comp) > 0) { | 2136 if (dart.notNull(comp) > 0) { |
2205 great = dart.notNull(great) - 1; | 2137 great = dart.notNull(great) - 1; |
2206 if (dart.notNull(great) < dart.notNull(k)) | 2138 if (dart.notNull(great) < dart.notNull(k)) break; |
2207 break; | |
2208 continue; | 2139 continue; |
2209 } else { | 2140 } else { |
2210 comp = dart.dcall(compare, a[dartx.get](great), pivot1); | 2141 comp = dart.dcall(compare, a[dartx.get](great), pivot1); |
2211 if (dart.notNull(comp) < 0) { | 2142 if (dart.notNull(comp) < 0) { |
2212 a[dartx.set](k, a[dartx.get](less)); | 2143 a[dartx.set](k, a[dartx.get](less)); |
2213 a[dartx.set]((() => { | 2144 a[dartx.set]((() => { |
2214 let x = less; | 2145 let x = less; |
2215 less = dart.notNull(x) + 1; | 2146 less = dart.notNull(x) + 1; |
2216 return x; | 2147 return x; |
2217 })(), a[dartx.get](great)); | 2148 })(), a[dartx.get](great)); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2260 a[dartx.set](less, ak); | 2191 a[dartx.set](less, ak); |
2261 } | 2192 } |
2262 less = dart.notNull(less) + 1; | 2193 less = dart.notNull(less) + 1; |
2263 } else { | 2194 } else { |
2264 let comp_pivot2 = dart.dcall(compare, ak, pivot2); | 2195 let comp_pivot2 = dart.dcall(compare, ak, pivot2); |
2265 if (comp_pivot2 == 0) { | 2196 if (comp_pivot2 == 0) { |
2266 while (true) { | 2197 while (true) { |
2267 let comp = dart.dcall(compare, a[dartx.get](great), pivot2); | 2198 let comp = dart.dcall(compare, a[dartx.get](great), pivot2); |
2268 if (comp == 0) { | 2199 if (comp == 0) { |
2269 great = dart.notNull(great) - 1; | 2200 great = dart.notNull(great) - 1; |
2270 if (dart.notNull(great) < dart.notNull(k)) | 2201 if (dart.notNull(great) < dart.notNull(k)) break; |
2271 break; | |
2272 continue; | 2202 continue; |
2273 } else { | 2203 } else { |
2274 comp = dart.dcall(compare, a[dartx.get](great), pivot1); | 2204 comp = dart.dcall(compare, a[dartx.get](great), pivot1); |
2275 if (dart.notNull(comp) < 0) { | 2205 if (dart.notNull(comp) < 0) { |
2276 a[dartx.set](k, a[dartx.get](less)); | 2206 a[dartx.set](k, a[dartx.get](less)); |
2277 a[dartx.set]((() => { | 2207 a[dartx.set]((() => { |
2278 let x = less; | 2208 let x = less; |
2279 less = dart.notNull(x) + 1; | 2209 less = dart.notNull(x) + 1; |
2280 return x; | 2210 return x; |
2281 })(), a[dartx.get](great)); | 2211 })(), a[dartx.get](great)); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2333 let arbitraryPrime = 664597; | 2263 let arbitraryPrime = 664597; |
2334 return 536870911 & dart.notNull(arbitraryPrime) * dart.notNull(dart.hashCo
de(this[_name])); | 2264 return 536870911 & dart.notNull(arbitraryPrime) * dart.notNull(dart.hashCo
de(this[_name])); |
2335 } | 2265 } |
2336 toString() { | 2266 toString() { |
2337 return `Symbol("${this[_name]}")`; | 2267 return `Symbol("${this[_name]}")`; |
2338 } | 2268 } |
2339 static getName(symbol) { | 2269 static getName(symbol) { |
2340 return symbol[_name]; | 2270 return symbol[_name]; |
2341 } | 2271 } |
2342 static validatePublicSymbol(name) { | 2272 static validatePublicSymbol(name) { |
2343 if (dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.publicSymbolP
attern.hasMatch(name))) | 2273 if (dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.publicSymbolP
attern.hasMatch(name))) return name; |
2344 return name; | |
2345 if (dart.notNull(name[dartx.startsWith]('_'))) { | 2274 if (dart.notNull(name[dartx.startsWith]('_'))) { |
2346 dart.throw(new core.ArgumentError(`"${name}" is a private identifier`)); | 2275 dart.throw(new core.ArgumentError(`"${name}" is a private identifier`)); |
2347 } | 2276 } |
2348 dart.throw(new core.ArgumentError(`"${name}" is not a valid (qualified) sy
mbol name`)); | 2277 dart.throw(new core.ArgumentError(`"${name}" is not a valid (qualified) sy
mbol name`)); |
2349 } | 2278 } |
2350 static isValidSymbol(name) { | 2279 static isValidSymbol(name) { |
2351 return dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.symbolPatt
ern.hasMatch(name)); | 2280 return dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.symbolPatt
ern.hasMatch(name)); |
2352 } | 2281 } |
2353 } | 2282 } |
2354 Symbol[dart.implements] = () => [core.Symbol]; | 2283 Symbol[dart.implements] = () => [core.Symbol]; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2448 exports.ReversedListIterable = ReversedListIterable; | 2377 exports.ReversedListIterable = ReversedListIterable; |
2449 exports.UnmodifiableListError = UnmodifiableListError; | 2378 exports.UnmodifiableListError = UnmodifiableListError; |
2450 exports.NonGrowableListError = NonGrowableListError; | 2379 exports.NonGrowableListError = NonGrowableListError; |
2451 exports.makeListFixedLength = makeListFixedLength; | 2380 exports.makeListFixedLength = makeListFixedLength; |
2452 exports.Lists = Lists; | 2381 exports.Lists = Lists; |
2453 exports.printToConsole = printToConsole; | 2382 exports.printToConsole = printToConsole; |
2454 exports.Sort = Sort; | 2383 exports.Sort = Sort; |
2455 exports.Symbol = Symbol; | 2384 exports.Symbol = Symbol; |
2456 exports.POWERS_OF_TEN = POWERS_OF_TEN; | 2385 exports.POWERS_OF_TEN = POWERS_OF_TEN; |
2457 }); | 2386 }); |
OLD | NEW |