OLD | NEW |
1 var collection = dart.defineLibrary(collection, {}); | 1 var collection = dart.defineLibrary(collection, {}); |
2 var _internal = dart.lazyImport(_internal); | 2 var _internal = dart.lazyImport(_internal); |
3 var core = dart.import(core); | 3 var core = dart.import(core); |
4 var _js_helper = dart.lazyImport(_js_helper); | 4 var _js_helper = dart.lazyImport(_js_helper); |
5 var math = dart.lazyImport(math); | 5 var math = dart.lazyImport(math); |
6 (function(exports, _internal, core, _js_helper, math) { | 6 (function(exports, _internal, core, _js_helper, math) { |
7 'use strict'; | 7 'use strict'; |
8 let _source = Symbol('_source'); | 8 let _source = Symbol('_source'); |
9 let UnmodifiableListView$ = dart.generic(function(E) { | 9 let UnmodifiableListView$ = dart.generic(function(E) { |
10 class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) { | 10 class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) { |
11 UnmodifiableListView(source) { | 11 UnmodifiableListView(source) { |
12 this[_source] = source; | 12 this[_source] = source; |
13 } | 13 } |
14 get [core.$length]() { | 14 get length() { |
15 return this[_source][core.$length]; | 15 return this[_source].length; |
16 } | 16 } |
17 [core.$get](index) { | 17 get(index) { |
18 return this[_source][core.$elementAt](index); | 18 return this[_source][dartx.elementAt](index); |
19 } | 19 } |
20 } | 20 } |
21 dart.setSignature(UnmodifiableListView, { | 21 dart.setSignature(UnmodifiableListView, { |
22 constructors: () => ({UnmodifiableListView: [exports.UnmodifiableListView$
(E), [core.Iterable$(E)]]}), | 22 constructors: () => ({UnmodifiableListView: [exports.UnmodifiableListView$
(E), [core.Iterable$(E)]]}), |
23 methods: () => ({[core.$get]: [E, [core.int]]}) | 23 methods: () => ({get: [E, [core.int]]}) |
24 }); | 24 }); |
25 return UnmodifiableListView; | 25 return UnmodifiableListView; |
26 }); | 26 }); |
27 dart.defineLazyClassGeneric(exports, 'UnmodifiableListView', {get: Unmodifiabl
eListView$}); | 27 dart.defineLazyClassGeneric(exports, 'UnmodifiableListView', {get: Unmodifiabl
eListView$}); |
28 function _defaultEquals(a, b) { | 28 function _defaultEquals(a, b) { |
29 return dart.equals(a, b); | 29 return dart.equals(a, b); |
30 } | 30 } |
31 dart.fn(_defaultEquals, core.bool, [core.Object, core.Object]); | 31 dart.fn(_defaultEquals, core.bool, [core.Object, core.Object]); |
32 function _defaultHashCode(a) { | 32 function _defaultHashCode(a) { |
33 return dart.hashCode(a); | 33 return dart.hashCode(a); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 fromIterable: [HashMap$(K, V), [core.Iterable], {key: dart.functionType(
K, [dart.bottom]), value: dart.functionType(V, [dart.bottom])}], | 105 fromIterable: [HashMap$(K, V), [core.Iterable], {key: dart.functionType(
K, [dart.bottom]), value: dart.functionType(V, [dart.bottom])}], |
106 fromIterables: [HashMap$(K, V), [core.Iterable$(K), core.Iterable$(V)]] | 106 fromIterables: [HashMap$(K, V), [core.Iterable$(K), core.Iterable$(V)]] |
107 }) | 107 }) |
108 }); | 108 }); |
109 return HashMap; | 109 return HashMap; |
110 }); | 110 }); |
111 let HashMap = HashMap$(); | 111 let HashMap = HashMap$(); |
112 let SetMixin$ = dart.generic(function(E) { | 112 let SetMixin$ = dart.generic(function(E) { |
113 class SetMixin extends core.Object { | 113 class SetMixin extends core.Object { |
114 [Symbol.iterator]() { | 114 [Symbol.iterator]() { |
115 return new dart.JsIterator(this[core.$iterator]); | 115 return new dart.JsIterator(this.iterator); |
116 } | 116 } |
117 get [core.$isEmpty]() { | 117 get isEmpty() { |
118 return this[core.$length] == 0; | 118 return this.length == 0; |
119 } | 119 } |
120 get [core.$isNotEmpty]() { | 120 get isNotEmpty() { |
121 return this[core.$length] != 0; | 121 return this.length != 0; |
122 } | 122 } |
123 clear() { | 123 clear() { |
124 this.removeAll(this[core.$toList]()); | 124 this.removeAll(this.toList()); |
125 } | 125 } |
126 addAll(elements) { | 126 addAll(elements) { |
127 dart.as(elements, core.Iterable$(E)); | 127 dart.as(elements, core.Iterable$(E)); |
128 for (let element of elements) | 128 for (let element of elements) |
129 this.add(element); | 129 this.add(element); |
130 } | 130 } |
131 removeAll(elements) { | 131 removeAll(elements) { |
132 for (let element of elements) | 132 for (let element of elements) |
133 this.remove(element); | 133 this.remove(element); |
134 } | 134 } |
135 retainAll(elements) { | 135 retainAll(elements) { |
136 let toRemove = this[core.$toSet](); | 136 let toRemove = this.toSet(); |
137 for (let o of elements) { | 137 for (let o of elements) { |
138 toRemove.remove(o); | 138 toRemove.remove(o); |
139 } | 139 } |
140 this.removeAll(toRemove); | 140 this.removeAll(toRemove); |
141 } | 141 } |
142 removeWhere(test) { | 142 removeWhere(test) { |
143 dart.as(test, dart.functionType(core.bool, [E])); | 143 dart.as(test, dart.functionType(core.bool, [E])); |
144 let toRemove = []; | 144 let toRemove = []; |
145 for (let element of this) { | 145 for (let element of this) { |
146 if (test(element)) | 146 if (test(element)) |
147 toRemove[core.$add](element); | 147 toRemove[dartx.add](element); |
148 } | 148 } |
149 this.removeAll(toRemove); | 149 this.removeAll(toRemove); |
150 } | 150 } |
151 retainWhere(test) { | 151 retainWhere(test) { |
152 dart.as(test, dart.functionType(core.bool, [E])); | 152 dart.as(test, dart.functionType(core.bool, [E])); |
153 let toRemove = []; | 153 let toRemove = []; |
154 for (let element of this) { | 154 for (let element of this) { |
155 if (!dart.notNull(test(element))) | 155 if (!dart.notNull(test(element))) |
156 toRemove[core.$add](element); | 156 toRemove[dartx.add](element); |
157 } | 157 } |
158 this.removeAll(toRemove); | 158 this.removeAll(toRemove); |
159 } | 159 } |
160 containsAll(other) { | 160 containsAll(other) { |
161 for (let o of other) { | 161 for (let o of other) { |
162 if (!dart.notNull(this[core.$contains](o))) | 162 if (!dart.notNull(this.contains(o))) |
163 return false; | 163 return false; |
164 } | 164 } |
165 return true; | 165 return true; |
166 } | 166 } |
167 union(other) { | 167 union(other) { |
168 dart.as(other, core.Set$(E)); | 168 dart.as(other, core.Set$(E)); |
169 let _ = this[core.$toSet](); | 169 let _ = this.toSet(); |
170 _.addAll(other); | 170 _.addAll(other); |
171 return _; | 171 return _; |
172 } | 172 } |
173 intersection(other) { | 173 intersection(other) { |
174 let result = this[core.$toSet](); | 174 let result = this.toSet(); |
175 for (let element of this) { | 175 for (let element of this) { |
176 if (!dart.notNull(other[core.$contains](element))) | 176 if (!dart.notNull(other.contains(element))) |
177 result.remove(element); | 177 result.remove(element); |
178 } | 178 } |
179 return result; | 179 return result; |
180 } | 180 } |
181 difference(other) { | 181 difference(other) { |
182 let result = this[core.$toSet](); | 182 let result = this.toSet(); |
183 for (let element of this) { | 183 for (let element of this) { |
184 if (other[core.$contains](element)) | 184 if (other.contains(element)) |
185 result.remove(element); | 185 result.remove(element); |
186 } | 186 } |
187 return result; | 187 return result; |
188 } | 188 } |
189 [core.$toList](opts) { | 189 toList(opts) { |
190 let growable = opts && 'growable' in opts ? opts.growable : true; | 190 let growable = opts && 'growable' in opts ? opts.growable : true; |
191 let result = growable ? (() => { | 191 let result = growable ? (() => { |
192 let _ = core.List$(E).new(); | 192 let _ = core.List$(E).new(); |
193 _[core.$length] = this[core.$length]; | 193 _.length = this.length; |
194 return _; | 194 return _; |
195 })() : core.List$(E).new(this[core.$length]); | 195 })() : core.List$(E).new(this.length); |
196 let i = 0; | 196 let i = 0; |
197 for (let element of this) | 197 for (let element of this) |
198 result[core.$set]((() => { | 198 result[dartx.set]((() => { |
199 let x = i; | 199 let x = i; |
200 i = dart.notNull(x) + 1; | 200 i = dart.notNull(x) + 1; |
201 return x; | 201 return x; |
202 })(), element); | 202 })(), element); |
203 return result; | 203 return result; |
204 } | 204 } |
205 [core.$map](f) { | 205 map(f) { |
206 dart.as(f, dart.functionType(core.Object, [E])); | 206 dart.as(f, dart.functionType(core.Object, [E])); |
207 return new (_internal.EfficientLengthMappedIterable$(E, core.Object))(th
is, f); | 207 return new (_internal.EfficientLengthMappedIterable$(E, core.Object))(th
is, f); |
208 } | 208 } |
209 get [core.$single]() { | 209 get single() { |
210 if (dart.notNull(this[core.$length]) > 1) | 210 if (dart.notNull(this.length) > 1) |
211 throw _internal.IterableElementError.tooMany(); | 211 throw _internal.IterableElementError.tooMany(); |
212 let it = this[core.$iterator]; | 212 let it = this.iterator; |
213 if (!dart.notNull(it.moveNext())) | 213 if (!dart.notNull(it.moveNext())) |
214 throw _internal.IterableElementError.noElement(); | 214 throw _internal.IterableElementError.noElement(); |
215 let result = it.current; | 215 let result = it.current; |
216 return result; | 216 return result; |
217 } | 217 } |
218 toString() { | 218 toString() { |
219 return IterableBase.iterableToFullString(this, '{', '}'); | 219 return IterableBase.iterableToFullString(this, '{', '}'); |
220 } | 220 } |
221 [core.$where](f) { | 221 where(f) { |
222 dart.as(f, dart.functionType(core.bool, [E])); | 222 dart.as(f, dart.functionType(core.bool, [E])); |
223 return new (_internal.WhereIterable$(E))(this, f); | 223 return new (_internal.WhereIterable$(E))(this, f); |
224 } | 224 } |
225 [core.$expand](f) { | 225 expand(f) { |
226 dart.as(f, dart.functionType(core.Iterable, [E])); | 226 dart.as(f, dart.functionType(core.Iterable, [E])); |
227 return new (_internal.ExpandIterable$(E, core.Object))(this, f); | 227 return new (_internal.ExpandIterable$(E, core.Object))(this, f); |
228 } | 228 } |
229 [core.$forEach](f) { | 229 forEach(f) { |
230 dart.as(f, dart.functionType(dart.void, [E])); | 230 dart.as(f, dart.functionType(dart.void, [E])); |
231 for (let element of this) | 231 for (let element of this) |
232 f(element); | 232 f(element); |
233 } | 233 } |
234 [core.$reduce](combine) { | 234 reduce(combine) { |
235 dart.as(combine, dart.functionType(E, [E, E])); | 235 dart.as(combine, dart.functionType(E, [E, E])); |
236 let iterator = this[core.$iterator]; | 236 let iterator = this.iterator; |
237 if (!dart.notNull(iterator.moveNext())) { | 237 if (!dart.notNull(iterator.moveNext())) { |
238 throw _internal.IterableElementError.noElement(); | 238 throw _internal.IterableElementError.noElement(); |
239 } | 239 } |
240 let value = iterator.current; | 240 let value = iterator.current; |
241 while (iterator.moveNext()) { | 241 while (iterator.moveNext()) { |
242 value = combine(value, iterator.current); | 242 value = combine(value, iterator.current); |
243 } | 243 } |
244 return value; | 244 return value; |
245 } | 245 } |
246 [core.$fold](initialValue, combine) { | 246 fold(initialValue, combine) { |
247 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); | 247 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); |
248 let value = initialValue; | 248 let value = initialValue; |
249 for (let element of this) | 249 for (let element of this) |
250 value = dart.dcall(combine, value, element); | 250 value = dart.dcall(combine, value, element); |
251 return value; | 251 return value; |
252 } | 252 } |
253 [core.$every](f) { | 253 every(f) { |
254 dart.as(f, dart.functionType(core.bool, [E])); | 254 dart.as(f, dart.functionType(core.bool, [E])); |
255 for (let element of this) { | 255 for (let element of this) { |
256 if (!dart.notNull(f(element))) | 256 if (!dart.notNull(f(element))) |
257 return false; | 257 return false; |
258 } | 258 } |
259 return true; | 259 return true; |
260 } | 260 } |
261 [core.$join](separator) { | 261 join(separator) { |
262 if (separator === void 0) | 262 if (separator === void 0) |
263 separator = ""; | 263 separator = ""; |
264 let iterator = this[core.$iterator]; | 264 let iterator = this.iterator; |
265 if (!dart.notNull(iterator.moveNext())) | 265 if (!dart.notNull(iterator.moveNext())) |
266 return ""; | 266 return ""; |
267 let buffer = new core.StringBuffer(); | 267 let buffer = new core.StringBuffer(); |
268 if (separator == null || separator == "") { | 268 if (separator == null || separator == "") { |
269 do { | 269 do { |
270 buffer.write(`${iterator.current}`); | 270 buffer.write(`${iterator.current}`); |
271 } while (iterator.moveNext()); | 271 } while (iterator.moveNext()); |
272 } else { | 272 } else { |
273 buffer.write(`${iterator.current}`); | 273 buffer.write(`${iterator.current}`); |
274 while (iterator.moveNext()) { | 274 while (iterator.moveNext()) { |
275 buffer.write(separator); | 275 buffer.write(separator); |
276 buffer.write(`${iterator.current}`); | 276 buffer.write(`${iterator.current}`); |
277 } | 277 } |
278 } | 278 } |
279 return dart.toString(buffer); | 279 return dart.toString(buffer); |
280 } | 280 } |
281 [core.$any](test) { | 281 any(test) { |
282 dart.as(test, dart.functionType(core.bool, [E])); | 282 dart.as(test, dart.functionType(core.bool, [E])); |
283 for (let element of this) { | 283 for (let element of this) { |
284 if (test(element)) | 284 if (test(element)) |
285 return true; | 285 return true; |
286 } | 286 } |
287 return false; | 287 return false; |
288 } | 288 } |
289 [core.$take](n) { | 289 take(n) { |
290 return _internal.TakeIterable$(E).new(this, n); | 290 return _internal.TakeIterable$(E).new(this, n); |
291 } | 291 } |
292 [core.$takeWhile](test) { | 292 takeWhile(test) { |
293 dart.as(test, dart.functionType(core.bool, [E])); | 293 dart.as(test, dart.functionType(core.bool, [E])); |
294 return new (_internal.TakeWhileIterable$(E))(this, test); | 294 return new (_internal.TakeWhileIterable$(E))(this, test); |
295 } | 295 } |
296 [core.$skip](n) { | 296 skip(n) { |
297 return _internal.SkipIterable$(E).new(this, n); | 297 return _internal.SkipIterable$(E).new(this, n); |
298 } | 298 } |
299 [core.$skipWhile](test) { | 299 skipWhile(test) { |
300 dart.as(test, dart.functionType(core.bool, [E])); | 300 dart.as(test, dart.functionType(core.bool, [E])); |
301 return new (_internal.SkipWhileIterable$(E))(this, test); | 301 return new (_internal.SkipWhileIterable$(E))(this, test); |
302 } | 302 } |
303 get [core.$first]() { | 303 get first() { |
304 let it = this[core.$iterator]; | 304 let it = this.iterator; |
305 if (!dart.notNull(it.moveNext())) { | 305 if (!dart.notNull(it.moveNext())) { |
306 throw _internal.IterableElementError.noElement(); | 306 throw _internal.IterableElementError.noElement(); |
307 } | 307 } |
308 return it.current; | 308 return it.current; |
309 } | 309 } |
310 get [core.$last]() { | 310 get last() { |
311 let it = this[core.$iterator]; | 311 let it = this.iterator; |
312 if (!dart.notNull(it.moveNext())) { | 312 if (!dart.notNull(it.moveNext())) { |
313 throw _internal.IterableElementError.noElement(); | 313 throw _internal.IterableElementError.noElement(); |
314 } | 314 } |
315 let result = null; | 315 let result = null; |
316 do { | 316 do { |
317 result = it.current; | 317 result = it.current; |
318 } while (it.moveNext()); | 318 } while (it.moveNext()); |
319 return result; | 319 return result; |
320 } | 320 } |
321 [core.$firstWhere](test, opts) { | 321 firstWhere(test, opts) { |
322 dart.as(test, dart.functionType(core.bool, [E])); | 322 dart.as(test, dart.functionType(core.bool, [E])); |
323 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 323 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
324 dart.as(orElse, dart.functionType(E, [])); | 324 dart.as(orElse, dart.functionType(E, [])); |
325 for (let element of this) { | 325 for (let element of this) { |
326 if (test(element)) | 326 if (test(element)) |
327 return element; | 327 return element; |
328 } | 328 } |
329 if (orElse != null) | 329 if (orElse != null) |
330 return orElse(); | 330 return orElse(); |
331 throw _internal.IterableElementError.noElement(); | 331 throw _internal.IterableElementError.noElement(); |
332 } | 332 } |
333 [core.$lastWhere](test, opts) { | 333 lastWhere(test, opts) { |
334 dart.as(test, dart.functionType(core.bool, [E])); | 334 dart.as(test, dart.functionType(core.bool, [E])); |
335 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 335 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
336 dart.as(orElse, dart.functionType(E, [])); | 336 dart.as(orElse, dart.functionType(E, [])); |
337 let result = null; | 337 let result = null; |
338 let foundMatching = false; | 338 let foundMatching = false; |
339 for (let element of this) { | 339 for (let element of this) { |
340 if (test(element)) { | 340 if (test(element)) { |
341 result = element; | 341 result = element; |
342 foundMatching = true; | 342 foundMatching = true; |
343 } | 343 } |
344 } | 344 } |
345 if (foundMatching) | 345 if (foundMatching) |
346 return result; | 346 return result; |
347 if (orElse != null) | 347 if (orElse != null) |
348 return orElse(); | 348 return orElse(); |
349 throw _internal.IterableElementError.noElement(); | 349 throw _internal.IterableElementError.noElement(); |
350 } | 350 } |
351 [core.$singleWhere](test) { | 351 singleWhere(test) { |
352 dart.as(test, dart.functionType(core.bool, [E])); | 352 dart.as(test, dart.functionType(core.bool, [E])); |
353 let result = null; | 353 let result = null; |
354 let foundMatching = false; | 354 let foundMatching = false; |
355 for (let element of this) { | 355 for (let element of this) { |
356 if (test(element)) { | 356 if (test(element)) { |
357 if (foundMatching) { | 357 if (foundMatching) { |
358 throw _internal.IterableElementError.tooMany(); | 358 throw _internal.IterableElementError.tooMany(); |
359 } | 359 } |
360 result = element; | 360 result = element; |
361 foundMatching = true; | 361 foundMatching = true; |
362 } | 362 } |
363 } | 363 } |
364 if (foundMatching) | 364 if (foundMatching) |
365 return result; | 365 return result; |
366 throw _internal.IterableElementError.noElement(); | 366 throw _internal.IterableElementError.noElement(); |
367 } | 367 } |
368 [core.$elementAt](index) { | 368 elementAt(index) { |
369 if (!(typeof index == 'number')) | 369 if (!(typeof index == 'number')) |
370 throw new core.ArgumentError.notNull("index"); | 370 throw new core.ArgumentError.notNull("index"); |
371 core.RangeError.checkNotNegative(index, "index"); | 371 core.RangeError.checkNotNegative(index, "index"); |
372 let elementIndex = 0; | 372 let elementIndex = 0; |
373 for (let element of this) { | 373 for (let element of this) { |
374 if (index == elementIndex) | 374 if (index == elementIndex) |
375 return element; | 375 return element; |
376 elementIndex = dart.notNull(elementIndex) + 1; | 376 elementIndex = dart.notNull(elementIndex) + 1; |
377 } | 377 } |
378 throw core.RangeError.index(index, this, "index", null, elementIndex); | 378 throw core.RangeError.index(index, this, "index", null, elementIndex); |
379 } | 379 } |
380 } | 380 } |
381 SetMixin[dart.implements] = () => [core.Set$(E)]; | 381 SetMixin[dart.implements] = () => [core.Set$(E)]; |
| 382 dart.defineExtensionMembers(SetMixin, [ |
| 383 'toList', |
| 384 'map', |
| 385 'where', |
| 386 'expand', |
| 387 'forEach', |
| 388 'reduce', |
| 389 'fold', |
| 390 'every', |
| 391 'join', |
| 392 'any', |
| 393 'take', |
| 394 'takeWhile', |
| 395 'skip', |
| 396 'skipWhile', |
| 397 'firstWhere', |
| 398 'lastWhere', |
| 399 'singleWhere', |
| 400 'elementAt', |
| 401 'isEmpty', |
| 402 'isNotEmpty', |
| 403 'single', |
| 404 'first', |
| 405 'last' |
| 406 ]); |
382 dart.setSignature(SetMixin, { | 407 dart.setSignature(SetMixin, { |
383 methods: () => ({ | 408 methods: () => ({ |
384 clear: [dart.void, []], | 409 clear: [dart.void, []], |
385 addAll: [dart.void, [core.Iterable$(E)]], | 410 addAll: [dart.void, [core.Iterable$(E)]], |
386 removeAll: [dart.void, [core.Iterable$(core.Object)]], | 411 removeAll: [dart.void, [core.Iterable$(core.Object)]], |
387 retainAll: [dart.void, [core.Iterable$(core.Object)]], | 412 retainAll: [dart.void, [core.Iterable$(core.Object)]], |
388 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], | 413 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
389 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], | 414 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
390 containsAll: [core.bool, [core.Iterable$(core.Object)]], | 415 containsAll: [core.bool, [core.Iterable$(core.Object)]], |
391 union: [core.Set$(E), [core.Set$(E)]], | 416 union: [core.Set$(E), [core.Set$(E)]], |
392 intersection: [core.Set$(E), [core.Set$(core.Object)]], | 417 intersection: [core.Set$(E), [core.Set$(core.Object)]], |
393 difference: [core.Set$(E), [core.Set$(core.Object)]], | 418 difference: [core.Set$(E), [core.Set$(core.Object)]], |
394 [core.$toList]: [core.List$(E), [], {growable: core.bool}], | 419 toList: [core.List$(E), [], {growable: core.bool}], |
395 [core.$map]: [core.Iterable, [dart.functionType(core.Object, [E])]], | 420 map: [core.Iterable, [dart.functionType(core.Object, [E])]], |
396 [core.$where]: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | 421 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
397 [core.$expand]: [core.Iterable, [dart.functionType(core.Iterable, [E])]]
, | 422 expand: [core.Iterable, [dart.functionType(core.Iterable, [E])]], |
398 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 423 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
399 [core.$reduce]: [E, [dart.functionType(E, [E, E])]], | 424 reduce: [E, [dart.functionType(E, [E, E])]], |
400 [core.$fold]: [core.Object, [core.Object, dart.functionType(core.Object,
[dart.bottom, E])]], | 425 fold: [core.Object, [core.Object, dart.functionType(core.Object, [dart.b
ottom, E])]], |
401 [core.$every]: [core.bool, [dart.functionType(core.bool, [E])]], | 426 every: [core.bool, [dart.functionType(core.bool, [E])]], |
402 [core.$join]: [core.String, [], [core.String]], | 427 join: [core.String, [], [core.String]], |
403 [core.$any]: [core.bool, [dart.functionType(core.bool, [E])]], | 428 any: [core.bool, [dart.functionType(core.bool, [E])]], |
404 [core.$take]: [core.Iterable$(E), [core.int]], | 429 take: [core.Iterable$(E), [core.int]], |
405 [core.$takeWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 430 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
406 [core.$skip]: [core.Iterable$(E), [core.int]], | 431 skip: [core.Iterable$(E), [core.int]], |
407 [core.$skipWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 432 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
408 [core.$firstWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: da
rt.functionType(E, [])}], | 433 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct
ionType(E, [])}], |
409 [core.$lastWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: dar
t.functionType(E, [])}], | 434 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi
onType(E, [])}], |
410 [core.$singleWhere]: [E, [dart.functionType(core.bool, [E])]], | 435 singleWhere: [E, [dart.functionType(core.bool, [E])]], |
411 [core.$elementAt]: [E, [core.int]] | 436 elementAt: [E, [core.int]] |
412 }) | 437 }) |
413 }); | 438 }); |
414 return SetMixin; | 439 return SetMixin; |
415 }); | 440 }); |
416 let SetMixin = SetMixin$(); | 441 let SetMixin = SetMixin$(); |
417 let SetBase$ = dart.generic(function(E) { | 442 let SetBase$ = dart.generic(function(E) { |
418 class SetBase extends SetMixin$(E) { | 443 class SetBase extends SetMixin$(E) { |
419 static setToString(set) { | 444 static setToString(set) { |
420 return IterableBase.iterableToFullString(set, '{', '}'); | 445 return IterableBase.iterableToFullString(set, '{', '}'); |
421 } | 446 } |
422 } | 447 } |
423 dart.setSignature(SetBase, { | 448 dart.setSignature(SetBase, { |
424 statics: () => ({setToString: [core.String, [core.Set]]}), | 449 statics: () => ({setToString: [core.String, [core.Set]]}), |
425 names: ['setToString'] | 450 names: ['setToString'] |
426 }); | 451 }); |
427 return SetBase; | 452 return SetBase; |
428 }); | 453 }); |
429 let SetBase = SetBase$(); | 454 let SetBase = SetBase$(); |
430 let _newSet = Symbol('_newSet'); | 455 let _newSet = Symbol('_newSet'); |
431 let _HashSetBase$ = dart.generic(function(E) { | 456 let _HashSetBase$ = dart.generic(function(E) { |
432 class _HashSetBase extends SetBase$(E) { | 457 class _HashSetBase extends SetBase$(E) { |
433 difference(other) { | 458 difference(other) { |
434 let result = this[_newSet](); | 459 let result = this[_newSet](); |
435 for (let element of this) { | 460 for (let element of this) { |
436 if (!dart.notNull(other[core.$contains](element))) | 461 if (!dart.notNull(other.contains(element))) |
437 result.add(element); | 462 result.add(element); |
438 } | 463 } |
439 return result; | 464 return result; |
440 } | 465 } |
441 intersection(other) { | 466 intersection(other) { |
442 let result = this[_newSet](); | 467 let result = this[_newSet](); |
443 for (let element of this) { | 468 for (let element of this) { |
444 if (other[core.$contains](element)) | 469 if (other.contains(element)) |
445 result.add(element); | 470 result.add(element); |
446 } | 471 } |
447 return result; | 472 return result; |
448 } | 473 } |
449 [core.$toSet]() { | 474 toSet() { |
450 return (() => { | 475 return (() => { |
451 let _ = this[_newSet](); | 476 let _ = this[_newSet](); |
452 _.addAll(this); | 477 _.addAll(this); |
453 return _; | 478 return _; |
454 })(); | 479 })(); |
455 } | 480 } |
456 } | 481 } |
457 dart.setSignature(_HashSetBase, { | 482 dart.setSignature(_HashSetBase, { |
458 methods: () => ({ | 483 methods: () => ({ |
459 difference: [core.Set$(E), [core.Set$(core.Object)]], | 484 difference: [core.Set$(E), [core.Set$(core.Object)]], |
460 intersection: [core.Set$(E), [core.Set$(core.Object)]], | 485 intersection: [core.Set$(E), [core.Set$(core.Object)]], |
461 [core.$toSet]: [core.Set$(E), []] | 486 toSet: [core.Set$(E), []] |
462 }) | 487 }) |
463 }); | 488 }); |
464 return _HashSetBase; | 489 return _HashSetBase; |
465 }); | 490 }); |
466 let _HashSetBase = _HashSetBase$(); | 491 let _HashSetBase = _HashSetBase$(); |
467 let HashSet$ = dart.generic(function(E) { | 492 let HashSet$ = dart.generic(function(E) { |
468 class HashSet extends core.Object { | 493 class HashSet extends core.Object { |
469 static new(opts) { | 494 static new(opts) { |
470 let equals = opts && 'equals' in opts ? opts.equals : null; | 495 let equals = opts && 'equals' in opts ? opts.equals : null; |
471 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; | 496 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; |
(...skipping 25 matching lines...) Expand all Loading... |
497 static identity() { | 522 static identity() { |
498 return new (_IdentityHashSet$(E))(); | 523 return new (_IdentityHashSet$(E))(); |
499 } | 524 } |
500 static from(elements) { | 525 static from(elements) { |
501 let result = HashSet$(E).new(); | 526 let result = HashSet$(E).new(); |
502 for (let e of dart.as(elements, core.Iterable$(E))) | 527 for (let e of dart.as(elements, core.Iterable$(E))) |
503 result.add(e); | 528 result.add(e); |
504 return result; | 529 return result; |
505 } | 530 } |
506 [Symbol.iterator]() { | 531 [Symbol.iterator]() { |
507 return new dart.JsIterator(this[core.$iterator]); | 532 return new dart.JsIterator(this.iterator); |
508 } | 533 } |
509 } | 534 } |
510 HashSet[dart.implements] = () => [core.Set$(E)]; | 535 HashSet[dart.implements] = () => [core.Set$(E)]; |
511 dart.setSignature(HashSet, { | 536 dart.setSignature(HashSet, { |
512 constructors: () => ({ | 537 constructors: () => ({ |
513 new: [HashSet$(E), [], {equals: dart.functionType(core.bool, [E, E]), ha
shCode: dart.functionType(core.int, [E]), isValidKey: dart.functionType(core.boo
l, [core.Object])}], | 538 new: [HashSet$(E), [], {equals: dart.functionType(core.bool, [E, E]), ha
shCode: dart.functionType(core.int, [E]), isValidKey: dart.functionType(core.boo
l, [core.Object])}], |
514 identity: [HashSet$(E), []], | 539 identity: [HashSet$(E), []], |
515 from: [HashSet$(E), [core.Iterable]] | 540 from: [HashSet$(E), [core.Iterable]] |
516 }) | 541 }) |
517 }); | 542 }); |
518 return HashSet; | 543 return HashSet; |
519 }); | 544 }); |
520 let HashSet = HashSet$(); | 545 let HashSet = HashSet$(); |
521 let IterableMixin$ = dart.generic(function(E) { | 546 let IterableMixin$ = dart.generic(function(E) { |
522 class IterableMixin extends core.Object { | 547 class IterableMixin extends core.Object { |
523 [core.$map](f) { | 548 map(f) { |
524 dart.as(f, dart.functionType(core.Object, [E])); | 549 dart.as(f, dart.functionType(core.Object, [E])); |
525 return _internal.MappedIterable$(E, core.Object).new(this, f); | 550 return _internal.MappedIterable$(E, core.Object).new(this, f); |
526 } | 551 } |
527 [core.$where](f) { | 552 where(f) { |
528 dart.as(f, dart.functionType(core.bool, [E])); | 553 dart.as(f, dart.functionType(core.bool, [E])); |
529 return new (_internal.WhereIterable$(E))(this, f); | 554 return new (_internal.WhereIterable$(E))(this, f); |
530 } | 555 } |
531 [core.$expand](f) { | 556 expand(f) { |
532 dart.as(f, dart.functionType(core.Iterable, [E])); | 557 dart.as(f, dart.functionType(core.Iterable, [E])); |
533 return new (_internal.ExpandIterable$(E, core.Object))(this, f); | 558 return new (_internal.ExpandIterable$(E, core.Object))(this, f); |
534 } | 559 } |
535 [core.$contains](element) { | 560 contains(element) { |
536 for (let e of this) { | 561 for (let e of this) { |
537 if (dart.equals(e, element)) | 562 if (dart.equals(e, element)) |
538 return true; | 563 return true; |
539 } | 564 } |
540 return false; | 565 return false; |
541 } | 566 } |
542 [core.$forEach](f) { | 567 forEach(f) { |
543 dart.as(f, dart.functionType(dart.void, [E])); | 568 dart.as(f, dart.functionType(dart.void, [E])); |
544 for (let element of this) | 569 for (let element of this) |
545 f(element); | 570 f(element); |
546 } | 571 } |
547 [core.$reduce](combine) { | 572 reduce(combine) { |
548 dart.as(combine, dart.functionType(E, [E, E])); | 573 dart.as(combine, dart.functionType(E, [E, E])); |
549 let iterator = this[core.$iterator]; | 574 let iterator = this.iterator; |
550 if (!dart.notNull(iterator.moveNext())) { | 575 if (!dart.notNull(iterator.moveNext())) { |
551 throw _internal.IterableElementError.noElement(); | 576 throw _internal.IterableElementError.noElement(); |
552 } | 577 } |
553 let value = iterator.current; | 578 let value = iterator.current; |
554 while (iterator.moveNext()) { | 579 while (iterator.moveNext()) { |
555 value = combine(value, iterator.current); | 580 value = combine(value, iterator.current); |
556 } | 581 } |
557 return value; | 582 return value; |
558 } | 583 } |
559 [core.$fold](initialValue, combine) { | 584 fold(initialValue, combine) { |
560 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); | 585 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); |
561 let value = initialValue; | 586 let value = initialValue; |
562 for (let element of this) | 587 for (let element of this) |
563 value = dart.dcall(combine, value, element); | 588 value = dart.dcall(combine, value, element); |
564 return value; | 589 return value; |
565 } | 590 } |
566 [core.$every](f) { | 591 every(f) { |
567 dart.as(f, dart.functionType(core.bool, [E])); | 592 dart.as(f, dart.functionType(core.bool, [E])); |
568 for (let element of this) { | 593 for (let element of this) { |
569 if (!dart.notNull(f(element))) | 594 if (!dart.notNull(f(element))) |
570 return false; | 595 return false; |
571 } | 596 } |
572 return true; | 597 return true; |
573 } | 598 } |
574 [core.$join](separator) { | 599 join(separator) { |
575 if (separator === void 0) | 600 if (separator === void 0) |
576 separator = ""; | 601 separator = ""; |
577 let iterator = this[core.$iterator]; | 602 let iterator = this.iterator; |
578 if (!dart.notNull(iterator.moveNext())) | 603 if (!dart.notNull(iterator.moveNext())) |
579 return ""; | 604 return ""; |
580 let buffer = new core.StringBuffer(); | 605 let buffer = new core.StringBuffer(); |
581 if (separator == null || separator == "") { | 606 if (separator == null || separator == "") { |
582 do { | 607 do { |
583 buffer.write(`${iterator.current}`); | 608 buffer.write(`${iterator.current}`); |
584 } while (iterator.moveNext()); | 609 } while (iterator.moveNext()); |
585 } else { | 610 } else { |
586 buffer.write(`${iterator.current}`); | 611 buffer.write(`${iterator.current}`); |
587 while (iterator.moveNext()) { | 612 while (iterator.moveNext()) { |
588 buffer.write(separator); | 613 buffer.write(separator); |
589 buffer.write(`${iterator.current}`); | 614 buffer.write(`${iterator.current}`); |
590 } | 615 } |
591 } | 616 } |
592 return dart.toString(buffer); | 617 return dart.toString(buffer); |
593 } | 618 } |
594 [core.$any](f) { | 619 any(f) { |
595 dart.as(f, dart.functionType(core.bool, [E])); | 620 dart.as(f, dart.functionType(core.bool, [E])); |
596 for (let element of this) { | 621 for (let element of this) { |
597 if (f(element)) | 622 if (f(element)) |
598 return true; | 623 return true; |
599 } | 624 } |
600 return false; | 625 return false; |
601 } | 626 } |
602 [core.$toList](opts) { | 627 toList(opts) { |
603 let growable = opts && 'growable' in opts ? opts.growable : true; | 628 let growable = opts && 'growable' in opts ? opts.growable : true; |
604 return core.List$(E).from(this, {growable: growable}); | 629 return core.List$(E).from(this, {growable: growable}); |
605 } | 630 } |
606 [core.$toSet]() { | 631 toSet() { |
607 return core.Set$(E).from(this); | 632 return core.Set$(E).from(this); |
608 } | 633 } |
609 get [core.$length]() { | 634 get length() { |
610 dart.assert(!dart.is(this, _internal.EfficientLength)); | 635 dart.assert(!dart.is(this, _internal.EfficientLength)); |
611 let count = 0; | 636 let count = 0; |
612 let it = this[core.$iterator]; | 637 let it = this[dartx.iterator]; |
613 while (it.moveNext()) { | 638 while (it.moveNext()) { |
614 count = dart.notNull(count) + 1; | 639 count = dart.notNull(count) + 1; |
615 } | 640 } |
616 return count; | 641 return count; |
617 } | 642 } |
618 get [core.$isEmpty]() { | 643 get isEmpty() { |
619 return !dart.notNull(this[core.$iterator].moveNext()); | 644 return !dart.notNull(this[dartx.iterator].moveNext()); |
620 } | 645 } |
621 get [core.$isNotEmpty]() { | 646 get isNotEmpty() { |
622 return !dart.notNull(this[core.$isEmpty]); | 647 return !dart.notNull(this.isEmpty); |
623 } | 648 } |
624 [core.$take](n) { | 649 take(n) { |
625 return _internal.TakeIterable$(E).new(this, n); | 650 return _internal.TakeIterable$(E).new(this, n); |
626 } | 651 } |
627 [core.$takeWhile](test) { | 652 takeWhile(test) { |
628 dart.as(test, dart.functionType(core.bool, [E])); | 653 dart.as(test, dart.functionType(core.bool, [E])); |
629 return new (_internal.TakeWhileIterable$(E))(this, test); | 654 return new (_internal.TakeWhileIterable$(E))(this, test); |
630 } | 655 } |
631 [core.$skip](n) { | 656 skip(n) { |
632 return _internal.SkipIterable$(E).new(this, n); | 657 return _internal.SkipIterable$(E).new(this, n); |
633 } | 658 } |
634 [core.$skipWhile](test) { | 659 skipWhile(test) { |
635 dart.as(test, dart.functionType(core.bool, [E])); | 660 dart.as(test, dart.functionType(core.bool, [E])); |
636 return new (_internal.SkipWhileIterable$(E))(this, test); | 661 return new (_internal.SkipWhileIterable$(E))(this, test); |
637 } | 662 } |
638 get [core.$first]() { | 663 get first() { |
639 let it = this[core.$iterator]; | 664 let it = this[dartx.iterator]; |
640 if (!dart.notNull(it.moveNext())) { | 665 if (!dart.notNull(it.moveNext())) { |
641 throw _internal.IterableElementError.noElement(); | 666 throw _internal.IterableElementError.noElement(); |
642 } | 667 } |
643 return it.current; | 668 return it.current; |
644 } | 669 } |
645 get [core.$last]() { | 670 get last() { |
646 let it = this[core.$iterator]; | 671 let it = this[dartx.iterator]; |
647 if (!dart.notNull(it.moveNext())) { | 672 if (!dart.notNull(it.moveNext())) { |
648 throw _internal.IterableElementError.noElement(); | 673 throw _internal.IterableElementError.noElement(); |
649 } | 674 } |
650 let result = null; | 675 let result = null; |
651 do { | 676 do { |
652 result = it.current; | 677 result = it.current; |
653 } while (it.moveNext()); | 678 } while (it.moveNext()); |
654 return result; | 679 return result; |
655 } | 680 } |
656 get [core.$single]() { | 681 get single() { |
657 let it = this[core.$iterator]; | 682 let it = this[dartx.iterator]; |
658 if (!dart.notNull(it.moveNext())) | 683 if (!dart.notNull(it.moveNext())) |
659 throw _internal.IterableElementError.noElement(); | 684 throw _internal.IterableElementError.noElement(); |
660 let result = it.current; | 685 let result = it.current; |
661 if (it.moveNext()) | 686 if (it.moveNext()) |
662 throw _internal.IterableElementError.tooMany(); | 687 throw _internal.IterableElementError.tooMany(); |
663 return result; | 688 return result; |
664 } | 689 } |
665 [core.$firstWhere](test, opts) { | 690 firstWhere(test, opts) { |
666 dart.as(test, dart.functionType(core.bool, [E])); | 691 dart.as(test, dart.functionType(core.bool, [E])); |
667 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 692 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
668 dart.as(orElse, dart.functionType(E, [])); | 693 dart.as(orElse, dart.functionType(E, [])); |
669 for (let element of this) { | 694 for (let element of this) { |
670 if (test(element)) | 695 if (test(element)) |
671 return element; | 696 return element; |
672 } | 697 } |
673 if (orElse != null) | 698 if (orElse != null) |
674 return orElse(); | 699 return orElse(); |
675 throw _internal.IterableElementError.noElement(); | 700 throw _internal.IterableElementError.noElement(); |
676 } | 701 } |
677 [core.$lastWhere](test, opts) { | 702 lastWhere(test, opts) { |
678 dart.as(test, dart.functionType(core.bool, [E])); | 703 dart.as(test, dart.functionType(core.bool, [E])); |
679 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 704 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
680 dart.as(orElse, dart.functionType(E, [])); | 705 dart.as(orElse, dart.functionType(E, [])); |
681 let result = null; | 706 let result = null; |
682 let foundMatching = false; | 707 let foundMatching = false; |
683 for (let element of this) { | 708 for (let element of this) { |
684 if (test(element)) { | 709 if (test(element)) { |
685 result = element; | 710 result = element; |
686 foundMatching = true; | 711 foundMatching = true; |
687 } | 712 } |
688 } | 713 } |
689 if (foundMatching) | 714 if (foundMatching) |
690 return result; | 715 return result; |
691 if (orElse != null) | 716 if (orElse != null) |
692 return orElse(); | 717 return orElse(); |
693 throw _internal.IterableElementError.noElement(); | 718 throw _internal.IterableElementError.noElement(); |
694 } | 719 } |
695 [core.$singleWhere](test) { | 720 singleWhere(test) { |
696 dart.as(test, dart.functionType(core.bool, [E])); | 721 dart.as(test, dart.functionType(core.bool, [E])); |
697 let result = null; | 722 let result = null; |
698 let foundMatching = false; | 723 let foundMatching = false; |
699 for (let element of this) { | 724 for (let element of this) { |
700 if (test(element)) { | 725 if (test(element)) { |
701 if (foundMatching) { | 726 if (foundMatching) { |
702 throw _internal.IterableElementError.tooMany(); | 727 throw _internal.IterableElementError.tooMany(); |
703 } | 728 } |
704 result = element; | 729 result = element; |
705 foundMatching = true; | 730 foundMatching = true; |
706 } | 731 } |
707 } | 732 } |
708 if (foundMatching) | 733 if (foundMatching) |
709 return result; | 734 return result; |
710 throw _internal.IterableElementError.noElement(); | 735 throw _internal.IterableElementError.noElement(); |
711 } | 736 } |
712 [core.$elementAt](index) { | 737 elementAt(index) { |
713 if (!(typeof index == 'number')) | 738 if (!(typeof index == 'number')) |
714 throw new core.ArgumentError.notNull("index"); | 739 throw new core.ArgumentError.notNull("index"); |
715 core.RangeError.checkNotNegative(index, "index"); | 740 core.RangeError.checkNotNegative(index, "index"); |
716 let elementIndex = 0; | 741 let elementIndex = 0; |
717 for (let element of this) { | 742 for (let element of this) { |
718 if (index == elementIndex) | 743 if (index == elementIndex) |
719 return element; | 744 return element; |
720 elementIndex = dart.notNull(elementIndex) + 1; | 745 elementIndex = dart.notNull(elementIndex) + 1; |
721 } | 746 } |
722 throw core.RangeError.index(index, this, "index", null, elementIndex); | 747 throw core.RangeError.index(index, this, "index", null, elementIndex); |
723 } | 748 } |
724 toString() { | 749 toString() { |
725 return IterableBase.iterableToShortString(this, '(', ')'); | 750 return IterableBase.iterableToShortString(this, '(', ')'); |
726 } | 751 } |
727 [Symbol.iterator]() { | 752 [Symbol.iterator]() { |
728 return new dart.JsIterator(this[core.$iterator]); | 753 return new dart.JsIterator(this.iterator); |
729 } | 754 } |
730 } | 755 } |
731 IterableMixin[dart.implements] = () => [core.Iterable$(E)]; | 756 IterableMixin[dart.implements] = () => [core.Iterable$(E)]; |
| 757 dart.defineExtensionMembers(IterableMixin, [ |
| 758 'map', |
| 759 'where', |
| 760 'expand', |
| 761 'contains', |
| 762 'forEach', |
| 763 'reduce', |
| 764 'fold', |
| 765 'every', |
| 766 'join', |
| 767 'any', |
| 768 'toList', |
| 769 'toSet', |
| 770 'take', |
| 771 'takeWhile', |
| 772 'skip', |
| 773 'skipWhile', |
| 774 'firstWhere', |
| 775 'lastWhere', |
| 776 'singleWhere', |
| 777 'elementAt', |
| 778 'length', |
| 779 'isEmpty', |
| 780 'isNotEmpty', |
| 781 'first', |
| 782 'last', |
| 783 'single' |
| 784 ]); |
732 dart.setSignature(IterableMixin, { | 785 dart.setSignature(IterableMixin, { |
733 methods: () => ({ | 786 methods: () => ({ |
734 [core.$map]: [core.Iterable, [dart.functionType(core.Object, [E])]], | 787 map: [core.Iterable, [dart.functionType(core.Object, [E])]], |
735 [core.$where]: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | 788 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
736 [core.$expand]: [core.Iterable, [dart.functionType(core.Iterable, [E])]]
, | 789 expand: [core.Iterable, [dart.functionType(core.Iterable, [E])]], |
737 [core.$contains]: [core.bool, [core.Object]], | 790 contains: [core.bool, [core.Object]], |
738 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 791 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
739 [core.$reduce]: [E, [dart.functionType(E, [E, E])]], | 792 reduce: [E, [dart.functionType(E, [E, E])]], |
740 [core.$fold]: [core.Object, [core.Object, dart.functionType(core.Object,
[dart.bottom, E])]], | 793 fold: [core.Object, [core.Object, dart.functionType(core.Object, [dart.b
ottom, E])]], |
741 [core.$every]: [core.bool, [dart.functionType(core.bool, [E])]], | 794 every: [core.bool, [dart.functionType(core.bool, [E])]], |
742 [core.$join]: [core.String, [], [core.String]], | 795 join: [core.String, [], [core.String]], |
743 [core.$any]: [core.bool, [dart.functionType(core.bool, [E])]], | 796 any: [core.bool, [dart.functionType(core.bool, [E])]], |
744 [core.$toList]: [core.List$(E), [], {growable: core.bool}], | 797 toList: [core.List$(E), [], {growable: core.bool}], |
745 [core.$toSet]: [core.Set$(E), []], | 798 toSet: [core.Set$(E), []], |
746 [core.$take]: [core.Iterable$(E), [core.int]], | 799 take: [core.Iterable$(E), [core.int]], |
747 [core.$takeWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 800 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
748 [core.$skip]: [core.Iterable$(E), [core.int]], | 801 skip: [core.Iterable$(E), [core.int]], |
749 [core.$skipWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 802 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
750 [core.$firstWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: da
rt.functionType(E, [])}], | 803 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct
ionType(E, [])}], |
751 [core.$lastWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: dar
t.functionType(E, [])}], | 804 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi
onType(E, [])}], |
752 [core.$singleWhere]: [E, [dart.functionType(core.bool, [E])]], | 805 singleWhere: [E, [dart.functionType(core.bool, [E])]], |
753 [core.$elementAt]: [E, [core.int]] | 806 elementAt: [E, [core.int]] |
754 }) | 807 }) |
755 }); | 808 }); |
756 return IterableMixin; | 809 return IterableMixin; |
757 }); | 810 }); |
758 let IterableMixin = IterableMixin$(); | 811 let IterableMixin = IterableMixin$(); |
759 let IterableBase$ = dart.generic(function(E) { | 812 let IterableBase$ = dart.generic(function(E) { |
760 class IterableBase extends core.Object { | 813 class IterableBase extends core.Object { |
761 IterableBase() { | 814 IterableBase() { |
762 } | 815 } |
763 [core.$map](f) { | 816 map(f) { |
764 dart.as(f, dart.functionType(core.Object, [E])); | 817 dart.as(f, dart.functionType(core.Object, [E])); |
765 return _internal.MappedIterable$(E, core.Object).new(this, f); | 818 return _internal.MappedIterable$(E, core.Object).new(this, f); |
766 } | 819 } |
767 [core.$where](f) { | 820 where(f) { |
768 dart.as(f, dart.functionType(core.bool, [E])); | 821 dart.as(f, dart.functionType(core.bool, [E])); |
769 return new (_internal.WhereIterable$(E))(this, f); | 822 return new (_internal.WhereIterable$(E))(this, f); |
770 } | 823 } |
771 [core.$expand](f) { | 824 expand(f) { |
772 dart.as(f, dart.functionType(core.Iterable, [E])); | 825 dart.as(f, dart.functionType(core.Iterable, [E])); |
773 return new (_internal.ExpandIterable$(E, core.Object))(this, f); | 826 return new (_internal.ExpandIterable$(E, core.Object))(this, f); |
774 } | 827 } |
775 [core.$contains](element) { | 828 contains(element) { |
776 for (let e of this) { | 829 for (let e of this) { |
777 if (dart.equals(e, element)) | 830 if (dart.equals(e, element)) |
778 return true; | 831 return true; |
779 } | 832 } |
780 return false; | 833 return false; |
781 } | 834 } |
782 [core.$forEach](f) { | 835 forEach(f) { |
783 dart.as(f, dart.functionType(dart.void, [E])); | 836 dart.as(f, dart.functionType(dart.void, [E])); |
784 for (let element of this) | 837 for (let element of this) |
785 f(element); | 838 f(element); |
786 } | 839 } |
787 [core.$reduce](combine) { | 840 reduce(combine) { |
788 dart.as(combine, dart.functionType(E, [E, E])); | 841 dart.as(combine, dart.functionType(E, [E, E])); |
789 let iterator = this[core.$iterator]; | 842 let iterator = this.iterator; |
790 if (!dart.notNull(iterator.moveNext())) { | 843 if (!dart.notNull(iterator.moveNext())) { |
791 throw _internal.IterableElementError.noElement(); | 844 throw _internal.IterableElementError.noElement(); |
792 } | 845 } |
793 let value = iterator.current; | 846 let value = iterator.current; |
794 while (iterator.moveNext()) { | 847 while (iterator.moveNext()) { |
795 value = combine(value, iterator.current); | 848 value = combine(value, iterator.current); |
796 } | 849 } |
797 return value; | 850 return value; |
798 } | 851 } |
799 [core.$fold](initialValue, combine) { | 852 fold(initialValue, combine) { |
800 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); | 853 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); |
801 let value = initialValue; | 854 let value = initialValue; |
802 for (let element of this) | 855 for (let element of this) |
803 value = dart.dcall(combine, value, element); | 856 value = dart.dcall(combine, value, element); |
804 return value; | 857 return value; |
805 } | 858 } |
806 [core.$every](f) { | 859 every(f) { |
807 dart.as(f, dart.functionType(core.bool, [E])); | 860 dart.as(f, dart.functionType(core.bool, [E])); |
808 for (let element of this) { | 861 for (let element of this) { |
809 if (!dart.notNull(f(element))) | 862 if (!dart.notNull(f(element))) |
810 return false; | 863 return false; |
811 } | 864 } |
812 return true; | 865 return true; |
813 } | 866 } |
814 [core.$join](separator) { | 867 join(separator) { |
815 if (separator === void 0) | 868 if (separator === void 0) |
816 separator = ""; | 869 separator = ""; |
817 let iterator = this[core.$iterator]; | 870 let iterator = this.iterator; |
818 if (!dart.notNull(iterator.moveNext())) | 871 if (!dart.notNull(iterator.moveNext())) |
819 return ""; | 872 return ""; |
820 let buffer = new core.StringBuffer(); | 873 let buffer = new core.StringBuffer(); |
821 if (separator == null || separator == "") { | 874 if (separator == null || separator == "") { |
822 do { | 875 do { |
823 buffer.write(`${iterator.current}`); | 876 buffer.write(`${iterator.current}`); |
824 } while (iterator.moveNext()); | 877 } while (iterator.moveNext()); |
825 } else { | 878 } else { |
826 buffer.write(`${iterator.current}`); | 879 buffer.write(`${iterator.current}`); |
827 while (iterator.moveNext()) { | 880 while (iterator.moveNext()) { |
828 buffer.write(separator); | 881 buffer.write(separator); |
829 buffer.write(`${iterator.current}`); | 882 buffer.write(`${iterator.current}`); |
830 } | 883 } |
831 } | 884 } |
832 return dart.toString(buffer); | 885 return dart.toString(buffer); |
833 } | 886 } |
834 [core.$any](f) { | 887 any(f) { |
835 dart.as(f, dart.functionType(core.bool, [E])); | 888 dart.as(f, dart.functionType(core.bool, [E])); |
836 for (let element of this) { | 889 for (let element of this) { |
837 if (f(element)) | 890 if (f(element)) |
838 return true; | 891 return true; |
839 } | 892 } |
840 return false; | 893 return false; |
841 } | 894 } |
842 [core.$toList](opts) { | 895 toList(opts) { |
843 let growable = opts && 'growable' in opts ? opts.growable : true; | 896 let growable = opts && 'growable' in opts ? opts.growable : true; |
844 return core.List$(E).from(this, {growable: growable}); | 897 return core.List$(E).from(this, {growable: growable}); |
845 } | 898 } |
846 [core.$toSet]() { | 899 toSet() { |
847 return core.Set$(E).from(this); | 900 return core.Set$(E).from(this); |
848 } | 901 } |
849 get [core.$length]() { | 902 get length() { |
850 dart.assert(!dart.is(this, _internal.EfficientLength)); | 903 dart.assert(!dart.is(this, _internal.EfficientLength)); |
851 let count = 0; | 904 let count = 0; |
852 let it = this[core.$iterator]; | 905 let it = this[dartx.iterator]; |
853 while (it.moveNext()) { | 906 while (it.moveNext()) { |
854 count = dart.notNull(count) + 1; | 907 count = dart.notNull(count) + 1; |
855 } | 908 } |
856 return count; | 909 return count; |
857 } | 910 } |
858 get [core.$isEmpty]() { | 911 get isEmpty() { |
859 return !dart.notNull(this[core.$iterator].moveNext()); | 912 return !dart.notNull(this[dartx.iterator].moveNext()); |
860 } | 913 } |
861 get [core.$isNotEmpty]() { | 914 get isNotEmpty() { |
862 return !dart.notNull(this[core.$isEmpty]); | 915 return !dart.notNull(this.isEmpty); |
863 } | 916 } |
864 [core.$take](n) { | 917 take(n) { |
865 return _internal.TakeIterable$(E).new(this, n); | 918 return _internal.TakeIterable$(E).new(this, n); |
866 } | 919 } |
867 [core.$takeWhile](test) { | 920 takeWhile(test) { |
868 dart.as(test, dart.functionType(core.bool, [E])); | 921 dart.as(test, dart.functionType(core.bool, [E])); |
869 return new (_internal.TakeWhileIterable$(E))(this, test); | 922 return new (_internal.TakeWhileIterable$(E))(this, test); |
870 } | 923 } |
871 [core.$skip](n) { | 924 skip(n) { |
872 return _internal.SkipIterable$(E).new(this, n); | 925 return _internal.SkipIterable$(E).new(this, n); |
873 } | 926 } |
874 [core.$skipWhile](test) { | 927 skipWhile(test) { |
875 dart.as(test, dart.functionType(core.bool, [E])); | 928 dart.as(test, dart.functionType(core.bool, [E])); |
876 return new (_internal.SkipWhileIterable$(E))(this, test); | 929 return new (_internal.SkipWhileIterable$(E))(this, test); |
877 } | 930 } |
878 get [core.$first]() { | 931 get first() { |
879 let it = this[core.$iterator]; | 932 let it = this[dartx.iterator]; |
880 if (!dart.notNull(it.moveNext())) { | 933 if (!dart.notNull(it.moveNext())) { |
881 throw _internal.IterableElementError.noElement(); | 934 throw _internal.IterableElementError.noElement(); |
882 } | 935 } |
883 return it.current; | 936 return it.current; |
884 } | 937 } |
885 get [core.$last]() { | 938 get last() { |
886 let it = this[core.$iterator]; | 939 let it = this[dartx.iterator]; |
887 if (!dart.notNull(it.moveNext())) { | 940 if (!dart.notNull(it.moveNext())) { |
888 throw _internal.IterableElementError.noElement(); | 941 throw _internal.IterableElementError.noElement(); |
889 } | 942 } |
890 let result = null; | 943 let result = null; |
891 do { | 944 do { |
892 result = it.current; | 945 result = it.current; |
893 } while (it.moveNext()); | 946 } while (it.moveNext()); |
894 return result; | 947 return result; |
895 } | 948 } |
896 get [core.$single]() { | 949 get single() { |
897 let it = this[core.$iterator]; | 950 let it = this[dartx.iterator]; |
898 if (!dart.notNull(it.moveNext())) | 951 if (!dart.notNull(it.moveNext())) |
899 throw _internal.IterableElementError.noElement(); | 952 throw _internal.IterableElementError.noElement(); |
900 let result = it.current; | 953 let result = it.current; |
901 if (it.moveNext()) | 954 if (it.moveNext()) |
902 throw _internal.IterableElementError.tooMany(); | 955 throw _internal.IterableElementError.tooMany(); |
903 return result; | 956 return result; |
904 } | 957 } |
905 [core.$firstWhere](test, opts) { | 958 firstWhere(test, opts) { |
906 dart.as(test, dart.functionType(core.bool, [E])); | 959 dart.as(test, dart.functionType(core.bool, [E])); |
907 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 960 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
908 dart.as(orElse, dart.functionType(E, [])); | 961 dart.as(orElse, dart.functionType(E, [])); |
909 for (let element of this) { | 962 for (let element of this) { |
910 if (test(element)) | 963 if (test(element)) |
911 return element; | 964 return element; |
912 } | 965 } |
913 if (orElse != null) | 966 if (orElse != null) |
914 return orElse(); | 967 return orElse(); |
915 throw _internal.IterableElementError.noElement(); | 968 throw _internal.IterableElementError.noElement(); |
916 } | 969 } |
917 [core.$lastWhere](test, opts) { | 970 lastWhere(test, opts) { |
918 dart.as(test, dart.functionType(core.bool, [E])); | 971 dart.as(test, dart.functionType(core.bool, [E])); |
919 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 972 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
920 dart.as(orElse, dart.functionType(E, [])); | 973 dart.as(orElse, dart.functionType(E, [])); |
921 let result = null; | 974 let result = null; |
922 let foundMatching = false; | 975 let foundMatching = false; |
923 for (let element of this) { | 976 for (let element of this) { |
924 if (test(element)) { | 977 if (test(element)) { |
925 result = element; | 978 result = element; |
926 foundMatching = true; | 979 foundMatching = true; |
927 } | 980 } |
928 } | 981 } |
929 if (foundMatching) | 982 if (foundMatching) |
930 return result; | 983 return result; |
931 if (orElse != null) | 984 if (orElse != null) |
932 return orElse(); | 985 return orElse(); |
933 throw _internal.IterableElementError.noElement(); | 986 throw _internal.IterableElementError.noElement(); |
934 } | 987 } |
935 [core.$singleWhere](test) { | 988 singleWhere(test) { |
936 dart.as(test, dart.functionType(core.bool, [E])); | 989 dart.as(test, dart.functionType(core.bool, [E])); |
937 let result = null; | 990 let result = null; |
938 let foundMatching = false; | 991 let foundMatching = false; |
939 for (let element of this) { | 992 for (let element of this) { |
940 if (test(element)) { | 993 if (test(element)) { |
941 if (foundMatching) { | 994 if (foundMatching) { |
942 throw _internal.IterableElementError.tooMany(); | 995 throw _internal.IterableElementError.tooMany(); |
943 } | 996 } |
944 result = element; | 997 result = element; |
945 foundMatching = true; | 998 foundMatching = true; |
946 } | 999 } |
947 } | 1000 } |
948 if (foundMatching) | 1001 if (foundMatching) |
949 return result; | 1002 return result; |
950 throw _internal.IterableElementError.noElement(); | 1003 throw _internal.IterableElementError.noElement(); |
951 } | 1004 } |
952 [core.$elementAt](index) { | 1005 elementAt(index) { |
953 if (!(typeof index == 'number')) | 1006 if (!(typeof index == 'number')) |
954 throw new core.ArgumentError.notNull("index"); | 1007 throw new core.ArgumentError.notNull("index"); |
955 core.RangeError.checkNotNegative(index, "index"); | 1008 core.RangeError.checkNotNegative(index, "index"); |
956 let elementIndex = 0; | 1009 let elementIndex = 0; |
957 for (let element of this) { | 1010 for (let element of this) { |
958 if (index == elementIndex) | 1011 if (index == elementIndex) |
959 return element; | 1012 return element; |
960 elementIndex = dart.notNull(elementIndex) + 1; | 1013 elementIndex = dart.notNull(elementIndex) + 1; |
961 } | 1014 } |
962 throw core.RangeError.index(index, this, "index", null, elementIndex); | 1015 throw core.RangeError.index(index, this, "index", null, elementIndex); |
963 } | 1016 } |
964 toString() { | 1017 toString() { |
965 return IterableBase$().iterableToShortString(this, '(', ')'); | 1018 return IterableBase$().iterableToShortString(this, '(', ')'); |
966 } | 1019 } |
967 static iterableToShortString(iterable, leftDelimiter, rightDelimiter) { | 1020 static iterableToShortString(iterable, leftDelimiter, rightDelimiter) { |
968 if (leftDelimiter === void 0) | 1021 if (leftDelimiter === void 0) |
969 leftDelimiter = '('; | 1022 leftDelimiter = '('; |
970 if (rightDelimiter === void 0) | 1023 if (rightDelimiter === void 0) |
971 rightDelimiter = ')'; | 1024 rightDelimiter = ')'; |
972 if (IterableBase$()._isToStringVisiting(iterable)) { | 1025 if (IterableBase$()._isToStringVisiting(iterable)) { |
973 if (leftDelimiter == "(" && rightDelimiter == ")") { | 1026 if (leftDelimiter == "(" && rightDelimiter == ")") { |
974 return "(...)"; | 1027 return "(...)"; |
975 } | 1028 } |
976 return `${leftDelimiter}...${rightDelimiter}`; | 1029 return `${leftDelimiter}...${rightDelimiter}`; |
977 } | 1030 } |
978 let parts = []; | 1031 let parts = []; |
979 IterableBase$()._toStringVisiting[core.$add](iterable); | 1032 IterableBase$()._toStringVisiting[dartx.add](iterable); |
980 try { | 1033 try { |
981 IterableBase$()._iterablePartsToStrings(iterable, parts); | 1034 IterableBase$()._iterablePartsToStrings(iterable, parts); |
982 } finally { | 1035 } finally { |
983 dart.assert(core.identical(IterableBase$()._toStringVisiting[core.$las
t], iterable)); | 1036 dart.assert(core.identical(IterableBase$()._toStringVisiting[dartx.las
t], iterable)); |
984 IterableBase$()._toStringVisiting[core.$removeLast](); | 1037 IterableBase$()._toStringVisiting[dartx.removeLast](); |
985 } | 1038 } |
986 return dart.toString((() => { | 1039 return dart.toString((() => { |
987 let _ = new core.StringBuffer(leftDelimiter); | 1040 let _ = new core.StringBuffer(leftDelimiter); |
988 _.writeAll(parts, ", "); | 1041 _.writeAll(parts, ", "); |
989 _.write(rightDelimiter); | 1042 _.write(rightDelimiter); |
990 return _; | 1043 return _; |
991 })()); | 1044 })()); |
992 } | 1045 } |
993 static iterableToFullString(iterable, leftDelimiter, rightDelimiter) { | 1046 static iterableToFullString(iterable, leftDelimiter, rightDelimiter) { |
994 if (leftDelimiter === void 0) | 1047 if (leftDelimiter === void 0) |
995 leftDelimiter = '('; | 1048 leftDelimiter = '('; |
996 if (rightDelimiter === void 0) | 1049 if (rightDelimiter === void 0) |
997 rightDelimiter = ')'; | 1050 rightDelimiter = ')'; |
998 if (IterableBase$()._isToStringVisiting(iterable)) { | 1051 if (IterableBase$()._isToStringVisiting(iterable)) { |
999 return `${leftDelimiter}...${rightDelimiter}`; | 1052 return `${leftDelimiter}...${rightDelimiter}`; |
1000 } | 1053 } |
1001 let buffer = new core.StringBuffer(leftDelimiter); | 1054 let buffer = new core.StringBuffer(leftDelimiter); |
1002 IterableBase$()._toStringVisiting[core.$add](iterable); | 1055 IterableBase$()._toStringVisiting[dartx.add](iterable); |
1003 try { | 1056 try { |
1004 buffer.writeAll(iterable, ", "); | 1057 buffer.writeAll(iterable, ", "); |
1005 } finally { | 1058 } finally { |
1006 dart.assert(core.identical(IterableBase$()._toStringVisiting[core.$las
t], iterable)); | 1059 dart.assert(core.identical(IterableBase$()._toStringVisiting[dartx.las
t], iterable)); |
1007 IterableBase$()._toStringVisiting[core.$removeLast](); | 1060 IterableBase$()._toStringVisiting[dartx.removeLast](); |
1008 } | 1061 } |
1009 buffer.write(rightDelimiter); | 1062 buffer.write(rightDelimiter); |
1010 return dart.toString(buffer); | 1063 return dart.toString(buffer); |
1011 } | 1064 } |
1012 static _isToStringVisiting(o) { | 1065 static _isToStringVisiting(o) { |
1013 for (let i = 0; dart.notNull(i) < dart.notNull(IterableBase$()._toString
Visiting[core.$length]); i = dart.notNull(i) + 1) { | 1066 for (let i = 0; dart.notNull(i) < dart.notNull(IterableBase$()._toString
Visiting.length); i = dart.notNull(i) + 1) { |
1014 if (core.identical(o, IterableBase$()._toStringVisiting[core.$get](i))
) | 1067 if (core.identical(o, IterableBase$()._toStringVisiting[dartx.get](i))
) |
1015 return true; | 1068 return true; |
1016 } | 1069 } |
1017 return false; | 1070 return false; |
1018 } | 1071 } |
1019 static _iterablePartsToStrings(iterable, parts) { | 1072 static _iterablePartsToStrings(iterable, parts) { |
1020 let LENGTH_LIMIT = 80; | 1073 let LENGTH_LIMIT = 80; |
1021 let HEAD_COUNT = 3; | 1074 let HEAD_COUNT = 3; |
1022 let TAIL_COUNT = 2; | 1075 let TAIL_COUNT = 2; |
1023 let MAX_COUNT = 100; | 1076 let MAX_COUNT = 100; |
1024 let OVERHEAD = 2; | 1077 let OVERHEAD = 2; |
1025 let ELLIPSIS_SIZE = 3; | 1078 let ELLIPSIS_SIZE = 3; |
1026 let length = 0; | 1079 let length = 0; |
1027 let count = 0; | 1080 let count = 0; |
1028 let it = iterable[core.$iterator]; | 1081 let it = iterable[dartx.iterator]; |
1029 while (dart.notNull(length) < dart.notNull(LENGTH_LIMIT) || dart.notNull
(count) < dart.notNull(HEAD_COUNT)) { | 1082 while (dart.notNull(length) < dart.notNull(LENGTH_LIMIT) || dart.notNull
(count) < dart.notNull(HEAD_COUNT)) { |
1030 if (!dart.notNull(it.moveNext())) | 1083 if (!dart.notNull(it.moveNext())) |
1031 return; | 1084 return; |
1032 let next = `${it.current}`; | 1085 let next = `${it.current}`; |
1033 parts[core.$add](next); | 1086 parts[dartx.add](next); |
1034 length = dart.notNull(length) + (dart.notNull(next.length) + dart.notN
ull(OVERHEAD)); | 1087 length = dart.notNull(length) + (dart.notNull(next.length) + dart.notN
ull(OVERHEAD)); |
1035 count = dart.notNull(count) + 1; | 1088 count = dart.notNull(count) + 1; |
1036 } | 1089 } |
1037 let penultimateString = null; | 1090 let penultimateString = null; |
1038 let ultimateString = null; | 1091 let ultimateString = null; |
1039 let penultimate = null; | 1092 let penultimate = null; |
1040 let ultimate = null; | 1093 let ultimate = null; |
1041 if (!dart.notNull(it.moveNext())) { | 1094 if (!dart.notNull(it.moveNext())) { |
1042 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + dart.notNull(TAI
L_COUNT)) | 1095 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + dart.notNull(TAI
L_COUNT)) |
1043 return; | 1096 return; |
1044 ultimateString = dart.as(parts[core.$removeLast](), core.String); | 1097 ultimateString = dart.as(parts[dartx.removeLast](), core.String); |
1045 penultimateString = dart.as(parts[core.$removeLast](), core.String); | 1098 penultimateString = dart.as(parts[dartx.removeLast](), core.String); |
1046 } else { | 1099 } else { |
1047 penultimate = it.current; | 1100 penultimate = it.current; |
1048 count = dart.notNull(count) + 1; | 1101 count = dart.notNull(count) + 1; |
1049 if (!dart.notNull(it.moveNext())) { | 1102 if (!dart.notNull(it.moveNext())) { |
1050 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + 1) { | 1103 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + 1) { |
1051 parts[core.$add](`${penultimate}`); | 1104 parts[dartx.add](`${penultimate}`); |
1052 return; | 1105 return; |
1053 } | 1106 } |
1054 ultimateString = `${penultimate}`; | 1107 ultimateString = `${penultimate}`; |
1055 penultimateString = dart.as(parts[core.$removeLast](), core.String); | 1108 penultimateString = dart.as(parts[dartx.removeLast](), core.String); |
1056 length = dart.notNull(length) + (dart.notNull(ultimateString.length)
+ dart.notNull(OVERHEAD)); | 1109 length = dart.notNull(length) + (dart.notNull(ultimateString.length)
+ dart.notNull(OVERHEAD)); |
1057 } else { | 1110 } else { |
1058 ultimate = it.current; | 1111 ultimate = it.current; |
1059 count = dart.notNull(count) + 1; | 1112 count = dart.notNull(count) + 1; |
1060 dart.assert(dart.notNull(count) < dart.notNull(MAX_COUNT)); | 1113 dart.assert(dart.notNull(count) < dart.notNull(MAX_COUNT)); |
1061 while (it.moveNext()) { | 1114 while (it.moveNext()) { |
1062 penultimate = ultimate; | 1115 penultimate = ultimate; |
1063 ultimate = it.current; | 1116 ultimate = it.current; |
1064 count = dart.notNull(count) + 1; | 1117 count = dart.notNull(count) + 1; |
1065 if (dart.notNull(count) > dart.notNull(MAX_COUNT)) { | 1118 if (dart.notNull(count) > dart.notNull(MAX_COUNT)) { |
1066 while (dart.notNull(length) > dart.notNull(LENGTH_LIMIT) - dart.
notNull(ELLIPSIS_SIZE) - dart.notNull(OVERHEAD) && dart.notNull(count) > dart.no
tNull(HEAD_COUNT)) { | 1119 while (dart.notNull(length) > dart.notNull(LENGTH_LIMIT) - dart.
notNull(ELLIPSIS_SIZE) - dart.notNull(OVERHEAD) && dart.notNull(count) > dart.no
tNull(HEAD_COUNT)) { |
1067 length = dart.notNull(length) - dart.notNull(dart.as(dart.dsen
d(dart.dload(parts[core.$removeLast](), 'length'), '+', OVERHEAD), core.int)); | 1120 length = dart.notNull(length) - dart.notNull(dart.as(dart.dsen
d(dart.dload(parts[dartx.removeLast](), 'length'), '+', OVERHEAD), core.int)); |
1068 count = dart.notNull(count) - 1; | 1121 count = dart.notNull(count) - 1; |
1069 } | 1122 } |
1070 parts[core.$add]("..."); | 1123 parts[dartx.add]("..."); |
1071 return; | 1124 return; |
1072 } | 1125 } |
1073 } | 1126 } |
1074 penultimateString = `${penultimate}`; | 1127 penultimateString = `${penultimate}`; |
1075 ultimateString = `${ultimate}`; | 1128 ultimateString = `${ultimate}`; |
1076 length = dart.notNull(length) + (dart.notNull(ultimateString.length)
+ dart.notNull(penultimateString.length) + 2 * dart.notNull(OVERHEAD)); | 1129 length = dart.notNull(length) + (dart.notNull(ultimateString.length)
+ dart.notNull(penultimateString.length) + 2 * dart.notNull(OVERHEAD)); |
1077 } | 1130 } |
1078 } | 1131 } |
1079 let elision = null; | 1132 let elision = null; |
1080 if (dart.notNull(count) > dart.notNull(parts[core.$length]) + dart.notNu
ll(TAIL_COUNT)) { | 1133 if (dart.notNull(count) > dart.notNull(parts.length) + dart.notNull(TAIL
_COUNT)) { |
1081 elision = "..."; | 1134 elision = "..."; |
1082 length = dart.notNull(length) + (dart.notNull(ELLIPSIS_SIZE) + dart.no
tNull(OVERHEAD)); | 1135 length = dart.notNull(length) + (dart.notNull(ELLIPSIS_SIZE) + dart.no
tNull(OVERHEAD)); |
1083 } | 1136 } |
1084 while (dart.notNull(length) > dart.notNull(LENGTH_LIMIT) && dart.notNull
(parts[core.$length]) > dart.notNull(HEAD_COUNT)) { | 1137 while (dart.notNull(length) > dart.notNull(LENGTH_LIMIT) && dart.notNull
(parts.length) > dart.notNull(HEAD_COUNT)) { |
1085 length = dart.notNull(length) - dart.notNull(dart.as(dart.dsend(dart.d
load(parts[core.$removeLast](), 'length'), '+', OVERHEAD), core.int)); | 1138 length = dart.notNull(length) - dart.notNull(dart.as(dart.dsend(dart.d
load(parts[dartx.removeLast](), 'length'), '+', OVERHEAD), core.int)); |
1086 if (elision == null) { | 1139 if (elision == null) { |
1087 elision = "..."; | 1140 elision = "..."; |
1088 length = dart.notNull(length) + (dart.notNull(ELLIPSIS_SIZE) + dart.
notNull(OVERHEAD)); | 1141 length = dart.notNull(length) + (dart.notNull(ELLIPSIS_SIZE) + dart.
notNull(OVERHEAD)); |
1089 } | 1142 } |
1090 } | 1143 } |
1091 if (elision != null) { | 1144 if (elision != null) { |
1092 parts[core.$add](elision); | 1145 parts[dartx.add](elision); |
1093 } | 1146 } |
1094 parts[core.$add](penultimateString); | 1147 parts[dartx.add](penultimateString); |
1095 parts[core.$add](ultimateString); | 1148 parts[dartx.add](ultimateString); |
1096 } | 1149 } |
1097 [Symbol.iterator]() { | 1150 [Symbol.iterator]() { |
1098 return new dart.JsIterator(this[core.$iterator]); | 1151 return new dart.JsIterator(this.iterator); |
1099 } | 1152 } |
1100 } | 1153 } |
1101 IterableBase[dart.implements] = () => [core.Iterable$(E)]; | 1154 IterableBase[dart.implements] = () => [core.Iterable$(E)]; |
| 1155 dart.defineExtensionMembers(IterableBase, [ |
| 1156 'map', |
| 1157 'where', |
| 1158 'expand', |
| 1159 'contains', |
| 1160 'forEach', |
| 1161 'reduce', |
| 1162 'fold', |
| 1163 'every', |
| 1164 'join', |
| 1165 'any', |
| 1166 'toList', |
| 1167 'toSet', |
| 1168 'take', |
| 1169 'takeWhile', |
| 1170 'skip', |
| 1171 'skipWhile', |
| 1172 'firstWhere', |
| 1173 'lastWhere', |
| 1174 'singleWhere', |
| 1175 'elementAt', |
| 1176 'length', |
| 1177 'isEmpty', |
| 1178 'isNotEmpty', |
| 1179 'first', |
| 1180 'last', |
| 1181 'single' |
| 1182 ]); |
1102 dart.setSignature(IterableBase, { | 1183 dart.setSignature(IterableBase, { |
1103 constructors: () => ({IterableBase: [IterableBase$(E), []]}), | 1184 constructors: () => ({IterableBase: [IterableBase$(E), []]}), |
1104 methods: () => ({ | 1185 methods: () => ({ |
1105 [core.$map]: [core.Iterable, [dart.functionType(core.Object, [E])]], | 1186 map: [core.Iterable, [dart.functionType(core.Object, [E])]], |
1106 [core.$where]: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | 1187 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
1107 [core.$expand]: [core.Iterable, [dart.functionType(core.Iterable, [E])]]
, | 1188 expand: [core.Iterable, [dart.functionType(core.Iterable, [E])]], |
1108 [core.$contains]: [core.bool, [core.Object]], | 1189 contains: [core.bool, [core.Object]], |
1109 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 1190 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
1110 [core.$reduce]: [E, [dart.functionType(E, [E, E])]], | 1191 reduce: [E, [dart.functionType(E, [E, E])]], |
1111 [core.$fold]: [core.Object, [core.Object, dart.functionType(core.Object,
[dart.bottom, E])]], | 1192 fold: [core.Object, [core.Object, dart.functionType(core.Object, [dart.b
ottom, E])]], |
1112 [core.$every]: [core.bool, [dart.functionType(core.bool, [E])]], | 1193 every: [core.bool, [dart.functionType(core.bool, [E])]], |
1113 [core.$join]: [core.String, [], [core.String]], | 1194 join: [core.String, [], [core.String]], |
1114 [core.$any]: [core.bool, [dart.functionType(core.bool, [E])]], | 1195 any: [core.bool, [dart.functionType(core.bool, [E])]], |
1115 [core.$toList]: [core.List$(E), [], {growable: core.bool}], | 1196 toList: [core.List$(E), [], {growable: core.bool}], |
1116 [core.$toSet]: [core.Set$(E), []], | 1197 toSet: [core.Set$(E), []], |
1117 [core.$take]: [core.Iterable$(E), [core.int]], | 1198 take: [core.Iterable$(E), [core.int]], |
1118 [core.$takeWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 1199 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
1119 [core.$skip]: [core.Iterable$(E), [core.int]], | 1200 skip: [core.Iterable$(E), [core.int]], |
1120 [core.$skipWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 1201 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
1121 [core.$firstWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: da
rt.functionType(E, [])}], | 1202 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct
ionType(E, [])}], |
1122 [core.$lastWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: dar
t.functionType(E, [])}], | 1203 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi
onType(E, [])}], |
1123 [core.$singleWhere]: [E, [dart.functionType(core.bool, [E])]], | 1204 singleWhere: [E, [dart.functionType(core.bool, [E])]], |
1124 [core.$elementAt]: [E, [core.int]] | 1205 elementAt: [E, [core.int]] |
1125 }), | 1206 }), |
1126 statics: () => ({ | 1207 statics: () => ({ |
1127 iterableToShortString: [core.String, [core.Iterable], [core.String, core
.String]], | 1208 iterableToShortString: [core.String, [core.Iterable], [core.String, core
.String]], |
1128 iterableToFullString: [core.String, [core.Iterable], [core.String, core.
String]], | 1209 iterableToFullString: [core.String, [core.Iterable], [core.String, core.
String]], |
1129 _isToStringVisiting: [core.bool, [core.Object]], | 1210 _isToStringVisiting: [core.bool, [core.Object]], |
1130 _iterablePartsToStrings: [dart.void, [core.Iterable, core.List]] | 1211 _iterablePartsToStrings: [dart.void, [core.Iterable, core.List]] |
1131 }), | 1212 }), |
1132 names: ['iterableToShortString', 'iterableToFullString', '_isToStringVisit
ing', '_iterablePartsToStrings'] | 1213 names: ['iterableToShortString', 'iterableToFullString', '_isToStringVisit
ing', '_iterablePartsToStrings'] |
1133 }); | 1214 }); |
1134 return IterableBase; | 1215 return IterableBase; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1290 return new (_LinkedIdentityHashSet$(E))(); | 1371 return new (_LinkedIdentityHashSet$(E))(); |
1291 } | 1372 } |
1292 static from(elements) { | 1373 static from(elements) { |
1293 let result = LinkedHashSet$(E).new(); | 1374 let result = LinkedHashSet$(E).new(); |
1294 for (let element of elements) { | 1375 for (let element of elements) { |
1295 result.add(element); | 1376 result.add(element); |
1296 } | 1377 } |
1297 return result; | 1378 return result; |
1298 } | 1379 } |
1299 [Symbol.iterator]() { | 1380 [Symbol.iterator]() { |
1300 return new dart.JsIterator(this[core.$iterator]); | 1381 return new dart.JsIterator(this.iterator); |
1301 } | 1382 } |
1302 } | 1383 } |
1303 LinkedHashSet[dart.implements] = () => [HashSet$(E)]; | 1384 LinkedHashSet[dart.implements] = () => [HashSet$(E)]; |
1304 dart.setSignature(LinkedHashSet, { | 1385 dart.setSignature(LinkedHashSet, { |
1305 constructors: () => ({ | 1386 constructors: () => ({ |
1306 new: [LinkedHashSet$(E), [], {equals: dart.functionType(core.bool, [E, E
]), hashCode: dart.functionType(core.int, [E]), isValidKey: dart.functionType(co
re.bool, [core.Object])}], | 1387 new: [LinkedHashSet$(E), [], {equals: dart.functionType(core.bool, [E, E
]), hashCode: dart.functionType(core.int, [E]), isValidKey: dart.functionType(co
re.bool, [core.Object])}], |
1307 identity: [LinkedHashSet$(E), []], | 1388 identity: [LinkedHashSet$(E), []], |
1308 from: [LinkedHashSet$(E), [core.Iterable$(E)]] | 1389 from: [LinkedHashSet$(E), [core.Iterable$(E)]] |
1309 }) | 1390 }) |
1310 }); | 1391 }); |
(...skipping 20 matching lines...) Expand all Loading... |
1331 addFirst(entry) { | 1412 addFirst(entry) { |
1332 dart.as(entry, E); | 1413 dart.as(entry, E); |
1333 this[_insertAfter](this, entry); | 1414 this[_insertAfter](this, entry); |
1334 } | 1415 } |
1335 add(entry) { | 1416 add(entry) { |
1336 dart.as(entry, E); | 1417 dart.as(entry, E); |
1337 this[_insertAfter](this[_previous], entry); | 1418 this[_insertAfter](this[_previous], entry); |
1338 } | 1419 } |
1339 addAll(entries) { | 1420 addAll(entries) { |
1340 dart.as(entries, core.Iterable$(E)); | 1421 dart.as(entries, core.Iterable$(E)); |
1341 entries[core.$forEach](dart.fn(entry => this[_insertAfter](this[_previou
s], dart.as(entry, E)), dart.void, [core.Object])); | 1422 entries[dartx.forEach](dart.fn(entry => this[_insertAfter](this[_previou
s], dart.as(entry, E)), dart.void, [core.Object])); |
1342 } | 1423 } |
1343 remove(entry) { | 1424 remove(entry) { |
1344 dart.as(entry, E); | 1425 dart.as(entry, E); |
1345 if (!dart.equals(entry[_list], this)) | 1426 if (!dart.equals(entry[_list], this)) |
1346 return false; | 1427 return false; |
1347 this[_unlink](entry); | 1428 this[_unlink](entry); |
1348 return true; | 1429 return true; |
1349 } | 1430 } |
1350 get [core.$iterator]() { | 1431 get iterator() { |
1351 return new (_LinkedListIterator$(E))(this); | 1432 return new (_LinkedListIterator$(E))(this); |
1352 } | 1433 } |
1353 get [core.$length]() { | 1434 get length() { |
1354 return this[_length]; | 1435 return this[_length]; |
1355 } | 1436 } |
1356 clear() { | 1437 clear() { |
1357 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 1438 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
1358 let next = this[_next]; | 1439 let next = this[_next]; |
1359 while (!dart.notNull(core.identical(next, this))) { | 1440 while (!dart.notNull(core.identical(next, this))) { |
1360 let entry = dart.as(next, E); | 1441 let entry = dart.as(next, E); |
1361 next = entry[_next]; | 1442 next = entry[_next]; |
1362 entry[_next] = entry[_previous] = entry[_list] = null; | 1443 entry[_next] = entry[_previous] = entry[_list] = null; |
1363 } | 1444 } |
1364 this[_next] = this[_previous] = this; | 1445 this[_next] = this[_previous] = this; |
1365 this[_length] = 0; | 1446 this[_length] = 0; |
1366 } | 1447 } |
1367 get [core.$first]() { | 1448 get first() { |
1368 if (core.identical(this[_next], this)) { | 1449 if (core.identical(this[_next], this)) { |
1369 throw new core.StateError('No such element'); | 1450 throw new core.StateError('No such element'); |
1370 } | 1451 } |
1371 return dart.as(this[_next], E); | 1452 return dart.as(this[_next], E); |
1372 } | 1453 } |
1373 get [core.$last]() { | 1454 get last() { |
1374 if (core.identical(this[_previous], this)) { | 1455 if (core.identical(this[_previous], this)) { |
1375 throw new core.StateError('No such element'); | 1456 throw new core.StateError('No such element'); |
1376 } | 1457 } |
1377 return dart.as(this[_previous], E); | 1458 return dart.as(this[_previous], E); |
1378 } | 1459 } |
1379 get [core.$single]() { | 1460 get single() { |
1380 if (core.identical(this[_previous], this)) { | 1461 if (core.identical(this[_previous], this)) { |
1381 throw new core.StateError('No such element'); | 1462 throw new core.StateError('No such element'); |
1382 } | 1463 } |
1383 if (!dart.notNull(core.identical(this[_previous], this[_next]))) { | 1464 if (!dart.notNull(core.identical(this[_previous], this[_next]))) { |
1384 throw new core.StateError('Too many elements'); | 1465 throw new core.StateError('Too many elements'); |
1385 } | 1466 } |
1386 return dart.as(this[_next], E); | 1467 return dart.as(this[_next], E); |
1387 } | 1468 } |
1388 [core.$forEach](action) { | 1469 forEach(action) { |
1389 dart.as(action, dart.functionType(dart.void, [E])); | 1470 dart.as(action, dart.functionType(dart.void, [E])); |
1390 let modificationCount = this[_modificationCount]; | 1471 let modificationCount = this[_modificationCount]; |
1391 let current = this[_next]; | 1472 let current = this[_next]; |
1392 while (!dart.notNull(core.identical(current, this))) { | 1473 while (!dart.notNull(core.identical(current, this))) { |
1393 action(dart.as(current, E)); | 1474 action(dart.as(current, E)); |
1394 if (modificationCount != this[_modificationCount]) { | 1475 if (modificationCount != this[_modificationCount]) { |
1395 throw new core.ConcurrentModificationError(this); | 1476 throw new core.ConcurrentModificationError(this); |
1396 } | 1477 } |
1397 current = current[_next]; | 1478 current = current[_next]; |
1398 } | 1479 } |
1399 } | 1480 } |
1400 get [core.$isEmpty]() { | 1481 get isEmpty() { |
1401 return this[_length] == 0; | 1482 return this[_length] == 0; |
1402 } | 1483 } |
1403 [_insertAfter](entry, newEntry) { | 1484 [_insertAfter](entry, newEntry) { |
1404 dart.as(newEntry, E); | 1485 dart.as(newEntry, E); |
1405 if (newEntry.list != null) { | 1486 if (newEntry.list != null) { |
1406 throw new core.StateError('LinkedListEntry is already in a LinkedList'
); | 1487 throw new core.StateError('LinkedListEntry is already in a LinkedList'
); |
1407 } | 1488 } |
1408 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 1489 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
1409 newEntry[_list] = this; | 1490 newEntry[_list] = this; |
1410 let predecessor = entry; | 1491 let predecessor = entry; |
1411 let successor = entry[_next]; | 1492 let successor = entry[_next]; |
1412 successor[_previous] = newEntry; | 1493 successor[_previous] = newEntry; |
1413 newEntry[_previous] = predecessor; | 1494 newEntry[_previous] = predecessor; |
1414 newEntry[_next] = successor; | 1495 newEntry[_next] = successor; |
1415 predecessor[_next] = newEntry; | 1496 predecessor[_next] = newEntry; |
1416 this[_length] = dart.notNull(this[_length]) + 1; | 1497 this[_length] = dart.notNull(this[_length]) + 1; |
1417 } | 1498 } |
1418 [_unlink](entry) { | 1499 [_unlink](entry) { |
1419 dart.as(entry, LinkedListEntry$(E)); | 1500 dart.as(entry, LinkedListEntry$(E)); |
1420 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 1501 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
1421 entry[_next][_previous] = entry[_previous]; | 1502 entry[_next][_previous] = entry[_previous]; |
1422 entry[_previous][_next] = entry[_next]; | 1503 entry[_previous][_next] = entry[_next]; |
1423 this[_length] = dart.notNull(this[_length]) - 1; | 1504 this[_length] = dart.notNull(this[_length]) - 1; |
1424 entry[_list] = entry[_next] = entry[_previous] = null; | 1505 entry[_list] = entry[_next] = entry[_previous] = null; |
1425 } | 1506 } |
1426 } | 1507 } |
1427 LinkedList[dart.implements] = () => [_LinkedListLink]; | 1508 LinkedList[dart.implements] = () => [_LinkedListLink]; |
| 1509 dart.defineExtensionMembers(LinkedList, [ |
| 1510 'forEach', |
| 1511 'iterator', |
| 1512 'length', |
| 1513 'first', |
| 1514 'last', |
| 1515 'single', |
| 1516 'isEmpty' |
| 1517 ]); |
1428 dart.setSignature(LinkedList, { | 1518 dart.setSignature(LinkedList, { |
1429 constructors: () => ({LinkedList: [LinkedList$(E), []]}), | 1519 constructors: () => ({LinkedList: [LinkedList$(E), []]}), |
1430 methods: () => ({ | 1520 methods: () => ({ |
1431 addFirst: [dart.void, [E]], | 1521 addFirst: [dart.void, [E]], |
1432 add: [dart.void, [E]], | 1522 add: [dart.void, [E]], |
1433 addAll: [dart.void, [core.Iterable$(E)]], | 1523 addAll: [dart.void, [core.Iterable$(E)]], |
1434 remove: [core.bool, [E]], | 1524 remove: [core.bool, [E]], |
1435 clear: [dart.void, []], | 1525 clear: [dart.void, []], |
1436 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 1526 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
1437 [_insertAfter]: [dart.void, [_LinkedListLink, E]], | 1527 [_insertAfter]: [dart.void, [_LinkedListLink, E]], |
1438 [_unlink]: [dart.void, [LinkedListEntry$(E)]] | 1528 [_unlink]: [dart.void, [LinkedListEntry$(E)]] |
1439 }) | 1529 }) |
1440 }); | 1530 }); |
1441 return LinkedList; | 1531 return LinkedList; |
1442 }); | 1532 }); |
1443 let LinkedList = LinkedList$(); | 1533 let LinkedList = LinkedList$(); |
1444 let _current = Symbol('_current'); | 1534 let _current = Symbol('_current'); |
1445 let _LinkedListIterator$ = dart.generic(function(E) { | 1535 let _LinkedListIterator$ = dart.generic(function(E) { |
1446 class _LinkedListIterator extends core.Object { | 1536 class _LinkedListIterator extends core.Object { |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1519 unlink: [dart.void, []], | 1609 unlink: [dart.void, []], |
1520 insertAfter: [dart.void, [E]], | 1610 insertAfter: [dart.void, [E]], |
1521 insertBefore: [dart.void, [E]] | 1611 insertBefore: [dart.void, [E]] |
1522 }) | 1612 }) |
1523 }); | 1613 }); |
1524 return LinkedListEntry; | 1614 return LinkedListEntry; |
1525 }); | 1615 }); |
1526 let LinkedListEntry = LinkedListEntry$(); | 1616 let LinkedListEntry = LinkedListEntry$(); |
1527 let ListMixin$ = dart.generic(function(E) { | 1617 let ListMixin$ = dart.generic(function(E) { |
1528 class ListMixin extends core.Object { | 1618 class ListMixin extends core.Object { |
1529 get [core.$iterator]() { | 1619 get iterator() { |
1530 return new (_internal.ListIterator$(E))(this); | 1620 return new (_internal.ListIterator$(E))(this); |
1531 } | 1621 } |
1532 [Symbol.iterator]() { | 1622 [Symbol.iterator]() { |
1533 return new dart.JsIterator(this[core.$iterator]); | 1623 return new dart.JsIterator(this.iterator); |
1534 } | 1624 } |
1535 [core.$elementAt](index) { | 1625 elementAt(index) { |
1536 return this[core.$get](index); | 1626 return this.get(index); |
1537 } | 1627 } |
1538 [core.$forEach](action) { | 1628 forEach(action) { |
1539 dart.as(action, dart.functionType(dart.void, [E])); | 1629 dart.as(action, dart.functionType(dart.void, [E])); |
1540 let length = this[core.$length]; | 1630 let length = this.length; |
1541 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1631 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1542 action(this[core.$get](i)); | 1632 action(this.get(i)); |
1543 if (length != this[core.$length]) { | 1633 if (length != this.length) { |
1544 throw new core.ConcurrentModificationError(this); | 1634 throw new core.ConcurrentModificationError(this); |
1545 } | 1635 } |
1546 } | 1636 } |
1547 } | 1637 } |
1548 get [core.$isEmpty]() { | 1638 get isEmpty() { |
1549 return this[core.$length] == 0; | 1639 return this.length == 0; |
1550 } | 1640 } |
1551 get [core.$isNotEmpty]() { | 1641 get isNotEmpty() { |
1552 return !dart.notNull(this[core.$isEmpty]); | 1642 return !dart.notNull(this.isEmpty); |
1553 } | 1643 } |
1554 get [core.$first]() { | 1644 get first() { |
1555 if (this[core.$length] == 0) | 1645 if (this.length == 0) |
1556 throw _internal.IterableElementError.noElement(); | 1646 throw _internal.IterableElementError.noElement(); |
1557 return this[core.$get](0); | 1647 return this.get(0); |
1558 } | 1648 } |
1559 get [core.$last]() { | 1649 get last() { |
1560 if (this[core.$length] == 0) | 1650 if (this.length == 0) |
1561 throw _internal.IterableElementError.noElement(); | 1651 throw _internal.IterableElementError.noElement(); |
1562 return this[core.$get](dart.notNull(this[core.$length]) - 1); | 1652 return this.get(dart.notNull(this.length) - 1); |
1563 } | 1653 } |
1564 get [core.$single]() { | 1654 get single() { |
1565 if (this[core.$length] == 0) | 1655 if (this.length == 0) |
1566 throw _internal.IterableElementError.noElement(); | 1656 throw _internal.IterableElementError.noElement(); |
1567 if (dart.notNull(this[core.$length]) > 1) | 1657 if (dart.notNull(this.length) > 1) |
1568 throw _internal.IterableElementError.tooMany(); | 1658 throw _internal.IterableElementError.tooMany(); |
1569 return this[core.$get](0); | 1659 return this.get(0); |
1570 } | 1660 } |
1571 [core.$contains](element) { | 1661 contains(element) { |
1572 let length = this[core.$length]; | 1662 let length = this.length; |
1573 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i =
dart.notNull(i) + 1) { | 1663 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
1574 if (dart.equals(this[core.$get](i), element)) | 1664 if (dart.equals(this.get(i), element)) |
1575 return true; | 1665 return true; |
1576 if (length != this[core.$length]) { | 1666 if (length != this.length) { |
1577 throw new core.ConcurrentModificationError(this); | 1667 throw new core.ConcurrentModificationError(this); |
1578 } | 1668 } |
1579 } | 1669 } |
1580 return false; | 1670 return false; |
1581 } | 1671 } |
1582 [core.$every](test) { | 1672 every(test) { |
1583 dart.as(test, dart.functionType(core.bool, [E])); | 1673 dart.as(test, dart.functionType(core.bool, [E])); |
1584 let length = this[core.$length]; | 1674 let length = this.length; |
1585 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1675 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1586 if (!dart.notNull(test(this[core.$get](i)))) | 1676 if (!dart.notNull(test(this.get(i)))) |
1587 return false; | 1677 return false; |
1588 if (length != this[core.$length]) { | 1678 if (length != this.length) { |
1589 throw new core.ConcurrentModificationError(this); | 1679 throw new core.ConcurrentModificationError(this); |
1590 } | 1680 } |
1591 } | 1681 } |
1592 return true; | 1682 return true; |
1593 } | 1683 } |
1594 [core.$any](test) { | 1684 any(test) { |
1595 dart.as(test, dart.functionType(core.bool, [E])); | 1685 dart.as(test, dart.functionType(core.bool, [E])); |
1596 let length = this[core.$length]; | 1686 let length = this.length; |
1597 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1687 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1598 if (test(this[core.$get](i))) | 1688 if (test(this.get(i))) |
1599 return true; | 1689 return true; |
1600 if (length != this[core.$length]) { | 1690 if (length != this.length) { |
1601 throw new core.ConcurrentModificationError(this); | 1691 throw new core.ConcurrentModificationError(this); |
1602 } | 1692 } |
1603 } | 1693 } |
1604 return false; | 1694 return false; |
1605 } | 1695 } |
1606 [core.$firstWhere](test, opts) { | 1696 firstWhere(test, opts) { |
1607 dart.as(test, dart.functionType(core.bool, [E])); | 1697 dart.as(test, dart.functionType(core.bool, [E])); |
1608 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 1698 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
1609 dart.as(orElse, dart.functionType(E, [])); | 1699 dart.as(orElse, dart.functionType(E, [])); |
1610 let length = this[core.$length]; | 1700 let length = this.length; |
1611 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1701 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1612 let element = this[core.$get](i); | 1702 let element = this.get(i); |
1613 if (test(element)) | 1703 if (test(element)) |
1614 return element; | 1704 return element; |
1615 if (length != this[core.$length]) { | 1705 if (length != this.length) { |
1616 throw new core.ConcurrentModificationError(this); | 1706 throw new core.ConcurrentModificationError(this); |
1617 } | 1707 } |
1618 } | 1708 } |
1619 if (orElse != null) | 1709 if (orElse != null) |
1620 return orElse(); | 1710 return orElse(); |
1621 throw _internal.IterableElementError.noElement(); | 1711 throw _internal.IterableElementError.noElement(); |
1622 } | 1712 } |
1623 [core.$lastWhere](test, opts) { | 1713 lastWhere(test, opts) { |
1624 dart.as(test, dart.functionType(core.bool, [E])); | 1714 dart.as(test, dart.functionType(core.bool, [E])); |
1625 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 1715 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
1626 dart.as(orElse, dart.functionType(E, [])); | 1716 dart.as(orElse, dart.functionType(E, [])); |
1627 let length = this[core.$length]; | 1717 let length = this.length; |
1628 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no
tNull(i) - 1) { | 1718 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no
tNull(i) - 1) { |
1629 let element = this[core.$get](i); | 1719 let element = this.get(i); |
1630 if (test(element)) | 1720 if (test(element)) |
1631 return element; | 1721 return element; |
1632 if (length != this[core.$length]) { | 1722 if (length != this.length) { |
1633 throw new core.ConcurrentModificationError(this); | 1723 throw new core.ConcurrentModificationError(this); |
1634 } | 1724 } |
1635 } | 1725 } |
1636 if (orElse != null) | 1726 if (orElse != null) |
1637 return orElse(); | 1727 return orElse(); |
1638 throw _internal.IterableElementError.noElement(); | 1728 throw _internal.IterableElementError.noElement(); |
1639 } | 1729 } |
1640 [core.$singleWhere](test) { | 1730 singleWhere(test) { |
1641 dart.as(test, dart.functionType(core.bool, [E])); | 1731 dart.as(test, dart.functionType(core.bool, [E])); |
1642 let length = this[core.$length]; | 1732 let length = this.length; |
1643 let match = null; | 1733 let match = null; |
1644 let matchFound = false; | 1734 let matchFound = false; |
1645 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1735 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1646 let element = this[core.$get](i); | 1736 let element = this.get(i); |
1647 if (test(element)) { | 1737 if (test(element)) { |
1648 if (matchFound) { | 1738 if (matchFound) { |
1649 throw _internal.IterableElementError.tooMany(); | 1739 throw _internal.IterableElementError.tooMany(); |
1650 } | 1740 } |
1651 matchFound = true; | 1741 matchFound = true; |
1652 match = element; | 1742 match = element; |
1653 } | 1743 } |
1654 if (length != this[core.$length]) { | 1744 if (length != this.length) { |
1655 throw new core.ConcurrentModificationError(this); | 1745 throw new core.ConcurrentModificationError(this); |
1656 } | 1746 } |
1657 } | 1747 } |
1658 if (matchFound) | 1748 if (matchFound) |
1659 return match; | 1749 return match; |
1660 throw _internal.IterableElementError.noElement(); | 1750 throw _internal.IterableElementError.noElement(); |
1661 } | 1751 } |
1662 [core.$join](separator) { | 1752 join(separator) { |
1663 if (separator === void 0) | 1753 if (separator === void 0) |
1664 separator = ""; | 1754 separator = ""; |
1665 if (this[core.$length] == 0) | 1755 if (this.length == 0) |
1666 return ""; | 1756 return ""; |
1667 let buffer = new core.StringBuffer(); | 1757 let buffer = new core.StringBuffer(); |
1668 buffer.writeAll(this, separator); | 1758 buffer.writeAll(this, separator); |
1669 return dart.toString(buffer); | 1759 return dart.toString(buffer); |
1670 } | 1760 } |
1671 [core.$where](test) { | 1761 where(test) { |
1672 dart.as(test, dart.functionType(core.bool, [E])); | 1762 dart.as(test, dart.functionType(core.bool, [E])); |
1673 return new (_internal.WhereIterable$(E))(this, test); | 1763 return new (_internal.WhereIterable$(E))(this, test); |
1674 } | 1764 } |
1675 [core.$map](f) { | 1765 map(f) { |
1676 dart.as(f, dart.functionType(core.Object, [E])); | 1766 dart.as(f, dart.functionType(core.Object, [E])); |
1677 return new _internal.MappedListIterable(this, f); | 1767 return new _internal.MappedListIterable(this, f); |
1678 } | 1768 } |
1679 [core.$expand](f) { | 1769 expand(f) { |
1680 dart.as(f, dart.functionType(core.Iterable, [E])); | 1770 dart.as(f, dart.functionType(core.Iterable, [E])); |
1681 return new (_internal.ExpandIterable$(E, core.Object))(this, f); | 1771 return new (_internal.ExpandIterable$(E, core.Object))(this, f); |
1682 } | 1772 } |
1683 [core.$reduce](combine) { | 1773 reduce(combine) { |
1684 dart.as(combine, dart.functionType(E, [E, E])); | 1774 dart.as(combine, dart.functionType(E, [E, E])); |
1685 let length = this[core.$length]; | 1775 let length = this.length; |
1686 if (length == 0) | 1776 if (length == 0) |
1687 throw _internal.IterableElementError.noElement(); | 1777 throw _internal.IterableElementError.noElement(); |
1688 let value = this[core.$get](0); | 1778 let value = this.get(0); |
1689 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1779 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1690 value = combine(value, this[core.$get](i)); | 1780 value = combine(value, this.get(i)); |
1691 if (length != this[core.$length]) { | 1781 if (length != this.length) { |
1692 throw new core.ConcurrentModificationError(this); | 1782 throw new core.ConcurrentModificationError(this); |
1693 } | 1783 } |
1694 } | 1784 } |
1695 return value; | 1785 return value; |
1696 } | 1786 } |
1697 [core.$fold](initialValue, combine) { | 1787 fold(initialValue, combine) { |
1698 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); | 1788 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); |
1699 let value = initialValue; | 1789 let value = initialValue; |
1700 let length = this[core.$length]; | 1790 let length = this.length; |
1701 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1791 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1702 value = dart.dcall(combine, value, this[core.$get](i)); | 1792 value = dart.dcall(combine, value, this.get(i)); |
1703 if (length != this[core.$length]) { | 1793 if (length != this.length) { |
1704 throw new core.ConcurrentModificationError(this); | 1794 throw new core.ConcurrentModificationError(this); |
1705 } | 1795 } |
1706 } | 1796 } |
1707 return value; | 1797 return value; |
1708 } | 1798 } |
1709 [core.$skip](count) { | 1799 skip(count) { |
1710 return new (_internal.SubListIterable$(E))(this, count, null); | 1800 return new (_internal.SubListIterable$(E))(this, count, null); |
1711 } | 1801 } |
1712 [core.$skipWhile](test) { | 1802 skipWhile(test) { |
1713 dart.as(test, dart.functionType(core.bool, [E])); | 1803 dart.as(test, dart.functionType(core.bool, [E])); |
1714 return new (_internal.SkipWhileIterable$(E))(this, test); | 1804 return new (_internal.SkipWhileIterable$(E))(this, test); |
1715 } | 1805 } |
1716 [core.$take](count) { | 1806 take(count) { |
1717 return new (_internal.SubListIterable$(E))(this, 0, count); | 1807 return new (_internal.SubListIterable$(E))(this, 0, count); |
1718 } | 1808 } |
1719 [core.$takeWhile](test) { | 1809 takeWhile(test) { |
1720 dart.as(test, dart.functionType(core.bool, [E])); | 1810 dart.as(test, dart.functionType(core.bool, [E])); |
1721 return new (_internal.TakeWhileIterable$(E))(this, test); | 1811 return new (_internal.TakeWhileIterable$(E))(this, test); |
1722 } | 1812 } |
1723 [core.$toList](opts) { | 1813 toList(opts) { |
1724 let growable = opts && 'growable' in opts ? opts.growable : true; | 1814 let growable = opts && 'growable' in opts ? opts.growable : true; |
1725 let result = null; | 1815 let result = null; |
1726 if (growable) { | 1816 if (growable) { |
1727 result = core.List$(E).new(); | 1817 result = core.List$(E).new(); |
1728 result[core.$length] = this[core.$length]; | 1818 result.length = this.length; |
1729 } else { | 1819 } else { |
1730 result = core.List$(E).new(this[core.$length]); | 1820 result = core.List$(E).new(this.length); |
1731 } | 1821 } |
1732 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i =
dart.notNull(i) + 1) { | 1822 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
1733 result[core.$set](i, this[core.$get](i)); | 1823 result[dartx.set](i, this.get(i)); |
1734 } | 1824 } |
1735 return result; | 1825 return result; |
1736 } | 1826 } |
1737 [core.$toSet]() { | 1827 toSet() { |
1738 let result = core.Set$(E).new(); | 1828 let result = core.Set$(E).new(); |
1739 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i =
dart.notNull(i) + 1) { | 1829 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
1740 result.add(this[core.$get](i)); | 1830 result.add(this.get(i)); |
1741 } | 1831 } |
1742 return result; | 1832 return result; |
1743 } | 1833 } |
1744 [core.$add](element) { | 1834 add(element) { |
1745 dart.as(element, E); | 1835 dart.as(element, E); |
1746 this[core.$set]((() => { | 1836 this.set((() => { |
1747 let x = this[core.$length]; | 1837 let x = this.length; |
1748 this[core.$length] = dart.notNull(x) + 1; | 1838 this.length = dart.notNull(x) + 1; |
1749 return x; | 1839 return x; |
1750 })(), element); | 1840 })(), element); |
1751 } | 1841 } |
1752 [core.$addAll](iterable) { | 1842 addAll(iterable) { |
1753 dart.as(iterable, core.Iterable$(E)); | 1843 dart.as(iterable, core.Iterable$(E)); |
1754 for (let element of iterable) { | 1844 for (let element of iterable) { |
1755 this[core.$set]((() => { | 1845 this.set((() => { |
1756 let x = this[core.$length]; | 1846 let x = this.length; |
1757 this[core.$length] = dart.notNull(x) + 1; | 1847 this.length = dart.notNull(x) + 1; |
1758 return x; | 1848 return x; |
1759 })(), element); | 1849 })(), element); |
1760 } | 1850 } |
1761 } | 1851 } |
1762 [core.$remove](element) { | 1852 remove(element) { |
1763 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i =
dart.notNull(i) + 1) { | 1853 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
1764 if (dart.equals(this[core.$get](i), element)) { | 1854 if (dart.equals(this.get(i), element)) { |
1765 this[core.$setRange](i, dart.notNull(this[core.$length]) - 1, this,
dart.notNull(i) + 1); | 1855 this.setRange(i, dart.notNull(this.length) - 1, this, dart.notNull(i
) + 1); |
1766 this[core.$length] = dart.notNull(this[core.$length]) - 1; | 1856 this.length = dart.notNull(this.length) - 1; |
1767 return true; | 1857 return true; |
1768 } | 1858 } |
1769 } | 1859 } |
1770 return false; | 1860 return false; |
1771 } | 1861 } |
1772 [core.$removeWhere](test) { | 1862 removeWhere(test) { |
1773 dart.as(test, dart.functionType(core.bool, [E])); | 1863 dart.as(test, dart.functionType(core.bool, [E])); |
1774 ListMixin$()._filter(this, test, false); | 1864 ListMixin$()._filter(this, test, false); |
1775 } | 1865 } |
1776 [core.$retainWhere](test) { | 1866 retainWhere(test) { |
1777 dart.as(test, dart.functionType(core.bool, [E])); | 1867 dart.as(test, dart.functionType(core.bool, [E])); |
1778 ListMixin$()._filter(this, test, true); | 1868 ListMixin$()._filter(this, test, true); |
1779 } | 1869 } |
1780 static _filter(source, test, retainMatching) { | 1870 static _filter(source, test, retainMatching) { |
1781 dart.as(test, dart.functionType(core.bool, [dart.bottom])); | 1871 dart.as(test, dart.functionType(core.bool, [dart.bottom])); |
1782 let retained = []; | 1872 let retained = []; |
1783 let length = source[core.$length]; | 1873 let length = source.length; |
1784 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1874 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1785 let element = source[core.$get](i); | 1875 let element = source[dartx.get](i); |
1786 if (dart.dcall(test, element) == retainMatching) { | 1876 if (dart.dcall(test, element) == retainMatching) { |
1787 retained[core.$add](element); | 1877 retained[dartx.add](element); |
1788 } | 1878 } |
1789 if (length != source[core.$length]) { | 1879 if (length != source.length) { |
1790 throw new core.ConcurrentModificationError(source); | 1880 throw new core.ConcurrentModificationError(source); |
1791 } | 1881 } |
1792 } | 1882 } |
1793 if (retained[core.$length] != source[core.$length]) { | 1883 if (retained.length != source.length) { |
1794 source[core.$setRange](0, retained[core.$length], retained); | 1884 source[dartx.setRange](0, retained.length, retained); |
1795 source[core.$length] = retained[core.$length]; | 1885 source.length = retained.length; |
1796 } | 1886 } |
1797 } | 1887 } |
1798 [core.$clear]() { | 1888 clear() { |
1799 this[core.$length] = 0; | 1889 this.length = 0; |
1800 } | 1890 } |
1801 [core.$removeLast]() { | 1891 removeLast() { |
1802 if (this[core.$length] == 0) { | 1892 if (this.length == 0) { |
1803 throw _internal.IterableElementError.noElement(); | 1893 throw _internal.IterableElementError.noElement(); |
1804 } | 1894 } |
1805 let result = this[core.$get](dart.notNull(this[core.$length]) - 1); | 1895 let result = this.get(dart.notNull(this.length) - 1); |
1806 this[core.$length] = dart.notNull(this[core.$length]) - 1; | 1896 this.length = dart.notNull(this.length) - 1; |
1807 return result; | 1897 return result; |
1808 } | 1898 } |
1809 [core.$sort](compare) { | 1899 sort(compare) { |
1810 if (compare === void 0) | 1900 if (compare === void 0) |
1811 compare = null; | 1901 compare = null; |
1812 dart.as(compare, dart.functionType(core.int, [E, E])); | 1902 dart.as(compare, dart.functionType(core.int, [E, E])); |
1813 _internal.Sort.sort(this, compare == null ? core.Comparable.compare : co
mpare); | 1903 _internal.Sort.sort(this, compare == null ? core.Comparable.compare : co
mpare); |
1814 } | 1904 } |
1815 [core.$shuffle](random) { | 1905 shuffle(random) { |
1816 if (random === void 0) | 1906 if (random === void 0) |
1817 random = null; | 1907 random = null; |
1818 if (random == null) | 1908 if (random == null) |
1819 random = math.Random.new(); | 1909 random = math.Random.new(); |
1820 let length = this[core.$length]; | 1910 let length = this.length; |
1821 while (dart.notNull(length) > 1) { | 1911 while (dart.notNull(length) > 1) { |
1822 let pos = random.nextInt(length); | 1912 let pos = random.nextInt(length); |
1823 length = dart.notNull(length) - 1; | 1913 length = dart.notNull(length) - 1; |
1824 let tmp = this[core.$get](length); | 1914 let tmp = this.get(length); |
1825 this[core.$set](length, this[core.$get](pos)); | 1915 this.set(length, this.get(pos)); |
1826 this[core.$set](pos, tmp); | 1916 this.set(pos, tmp); |
1827 } | 1917 } |
1828 } | 1918 } |
1829 [core.$asMap]() { | 1919 asMap() { |
1830 return new (_internal.ListMapView$(E))(this); | 1920 return new (_internal.ListMapView$(E))(this); |
1831 } | 1921 } |
1832 [core.$sublist](start, end) { | 1922 sublist(start, end) { |
1833 if (end === void 0) | 1923 if (end === void 0) |
1834 end = null; | 1924 end = null; |
1835 let listLength = this[core.$length]; | 1925 let listLength = this.length; |
1836 if (end == null) | 1926 if (end == null) |
1837 end = listLength; | 1927 end = listLength; |
1838 core.RangeError.checkValidRange(start, end, listLength); | 1928 core.RangeError.checkValidRange(start, end, listLength); |
1839 let length = dart.notNull(end) - dart.notNull(start); | 1929 let length = dart.notNull(end) - dart.notNull(start); |
1840 let result = core.List$(E).new(); | 1930 let result = core.List$(E).new(); |
1841 result[core.$length] = length; | 1931 result.length = length; |
1842 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | 1932 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
1843 result[core.$set](i, this[core.$get](dart.notNull(start) + dart.notNul
l(i))); | 1933 result[dartx.set](i, this.get(dart.notNull(start) + dart.notNull(i))); |
1844 } | 1934 } |
1845 return result; | 1935 return result; |
1846 } | 1936 } |
1847 [core.$getRange](start, end) { | 1937 getRange(start, end) { |
1848 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1938 core.RangeError.checkValidRange(start, end, this.length); |
1849 return new (_internal.SubListIterable$(E))(this, start, end); | 1939 return new (_internal.SubListIterable$(E))(this, start, end); |
1850 } | 1940 } |
1851 [core.$removeRange](start, end) { | 1941 removeRange(start, end) { |
1852 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1942 core.RangeError.checkValidRange(start, end, this.length); |
1853 let length = dart.notNull(end) - dart.notNull(start); | 1943 let length = dart.notNull(end) - dart.notNull(start); |
1854 this[core.$setRange](start, dart.notNull(this[core.$length]) - dart.notN
ull(length), this, end); | 1944 this.setRange(start, dart.notNull(this.length) - dart.notNull(length), t
his, end); |
1855 this[core.$length] = dart.notNull(this[core.$length]) - dart.notNull(len
gth); | 1945 this.length = dart.notNull(this.length) - dart.notNull(length); |
1856 } | 1946 } |
1857 [core.$fillRange](start, end, fill) { | 1947 fillRange(start, end, fill) { |
1858 if (fill === void 0) | 1948 if (fill === void 0) |
1859 fill = null; | 1949 fill = null; |
1860 dart.as(fill, E); | 1950 dart.as(fill, E); |
1861 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1951 core.RangeError.checkValidRange(start, end, this.length); |
1862 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { | 1952 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { |
1863 this[core.$set](i, fill); | 1953 this.set(i, fill); |
1864 } | 1954 } |
1865 } | 1955 } |
1866 [core.$setRange](start, end, iterable, skipCount) { | 1956 setRange(start, end, iterable, skipCount) { |
1867 dart.as(iterable, core.Iterable$(E)); | 1957 dart.as(iterable, core.Iterable$(E)); |
1868 if (skipCount === void 0) | 1958 if (skipCount === void 0) |
1869 skipCount = 0; | 1959 skipCount = 0; |
1870 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1960 core.RangeError.checkValidRange(start, end, this.length); |
1871 let length = dart.notNull(end) - dart.notNull(start); | 1961 let length = dart.notNull(end) - dart.notNull(start); |
1872 if (length == 0) | 1962 if (length == 0) |
1873 return; | 1963 return; |
1874 core.RangeError.checkNotNegative(skipCount, "skipCount"); | 1964 core.RangeError.checkNotNegative(skipCount, "skipCount"); |
1875 let otherList = null; | 1965 let otherList = null; |
1876 let otherStart = null; | 1966 let otherStart = null; |
1877 if (dart.is(iterable, core.List)) { | 1967 if (dart.is(iterable, core.List)) { |
1878 otherList = dart.as(iterable, core.List); | 1968 otherList = dart.as(iterable, core.List); |
1879 otherStart = skipCount; | 1969 otherStart = skipCount; |
1880 } else { | 1970 } else { |
1881 otherList = iterable[core.$skip](skipCount)[core.$toList]({growable: f
alse}); | 1971 otherList = iterable[dartx.skip](skipCount)[dartx.toList]({growable: f
alse}); |
1882 otherStart = 0; | 1972 otherStart = 0; |
1883 } | 1973 } |
1884 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List[core.$length])) { | 1974 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List.length)) { |
1885 throw _internal.IterableElementError.tooFew(); | 1975 throw _internal.IterableElementError.tooFew(); |
1886 } | 1976 } |
1887 if (dart.notNull(otherStart) < dart.notNull(start)) { | 1977 if (dart.notNull(otherStart) < dart.notNull(start)) { |
1888 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.
notNull(i) - 1) { | 1978 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.
notNull(i) - 1) { |
1889 this[core.$set](dart.notNull(start) + dart.notNull(i), dart.as(other
List[core.$get](dart.notNull(otherStart) + dart.notNull(i)), E)); | 1979 this.set(dart.notNull(start) + dart.notNull(i), dart.as(otherList[da
rtx.get](dart.notNull(otherStart) + dart.notNull(i)), E)); |
1890 } | 1980 } |
1891 } else { | 1981 } else { |
1892 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { | 1982 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { |
1893 this[core.$set](dart.notNull(start) + dart.notNull(i), dart.as(other
List[core.$get](dart.notNull(otherStart) + dart.notNull(i)), E)); | 1983 this.set(dart.notNull(start) + dart.notNull(i), dart.as(otherList[da
rtx.get](dart.notNull(otherStart) + dart.notNull(i)), E)); |
1894 } | 1984 } |
1895 } | 1985 } |
1896 } | 1986 } |
1897 [core.$replaceRange](start, end, newContents) { | 1987 replaceRange(start, end, newContents) { |
1898 dart.as(newContents, core.Iterable$(E)); | 1988 dart.as(newContents, core.Iterable$(E)); |
1899 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1989 core.RangeError.checkValidRange(start, end, this.length); |
1900 if (!dart.is(newContents, _internal.EfficientLength)) { | 1990 if (!dart.is(newContents, _internal.EfficientLength)) { |
1901 newContents = newContents[core.$toList](); | 1991 newContents = newContents[dartx.toList](); |
1902 } | 1992 } |
1903 let removeLength = dart.notNull(end) - dart.notNull(start); | 1993 let removeLength = dart.notNull(end) - dart.notNull(start); |
1904 let insertLength = newContents[core.$length]; | 1994 let insertLength = newContents.length; |
1905 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { | 1995 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { |
1906 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); | 1996 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); |
1907 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); | 1997 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); |
1908 let newLength = dart.notNull(this[core.$length]) - dart.notNull(delta)
; | 1998 let newLength = dart.notNull(this.length) - dart.notNull(delta); |
1909 this[core.$setRange](start, insertEnd, newContents); | 1999 this.setRange(start, insertEnd, newContents); |
1910 if (delta != 0) { | 2000 if (delta != 0) { |
1911 this[core.$setRange](insertEnd, newLength, this, end); | 2001 this.setRange(insertEnd, newLength, this, end); |
1912 this[core.$length] = newLength; | 2002 this.length = newLength; |
1913 } | 2003 } |
1914 } else { | 2004 } else { |
1915 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); | 2005 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); |
1916 let newLength = dart.notNull(this[core.$length]) + dart.notNull(delta)
; | 2006 let newLength = dart.notNull(this.length) + dart.notNull(delta); |
1917 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); | 2007 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); |
1918 this[core.$length] = newLength; | 2008 this.length = newLength; |
1919 this[core.$setRange](insertEnd, newLength, this, end); | 2009 this.setRange(insertEnd, newLength, this, end); |
1920 this[core.$setRange](start, insertEnd, newContents); | 2010 this.setRange(start, insertEnd, newContents); |
1921 } | 2011 } |
1922 } | 2012 } |
1923 [core.$indexOf](element, startIndex) { | 2013 indexOf(element, startIndex) { |
1924 if (startIndex === void 0) | 2014 if (startIndex === void 0) |
1925 startIndex = 0; | 2015 startIndex = 0; |
1926 if (dart.notNull(startIndex) >= dart.notNull(this[core.$length])) { | 2016 if (dart.notNull(startIndex) >= dart.notNull(this.length)) { |
1927 return -1; | 2017 return -1; |
1928 } | 2018 } |
1929 if (dart.notNull(startIndex) < 0) { | 2019 if (dart.notNull(startIndex) < 0) { |
1930 startIndex = 0; | 2020 startIndex = 0; |
1931 } | 2021 } |
1932 for (let i = startIndex; dart.notNull(i) < dart.notNull(this[core.$lengt
h]); i = dart.notNull(i) + 1) { | 2022 for (let i = startIndex; dart.notNull(i) < dart.notNull(this.length); i
= dart.notNull(i) + 1) { |
1933 if (dart.equals(this[core.$get](i), element)) { | 2023 if (dart.equals(this.get(i), element)) { |
1934 return i; | 2024 return i; |
1935 } | 2025 } |
1936 } | 2026 } |
1937 return -1; | 2027 return -1; |
1938 } | 2028 } |
1939 [core.$lastIndexOf](element, startIndex) { | 2029 lastIndexOf(element, startIndex) { |
1940 if (startIndex === void 0) | 2030 if (startIndex === void 0) |
1941 startIndex = null; | 2031 startIndex = null; |
1942 if (startIndex == null) { | 2032 if (startIndex == null) { |
1943 startIndex = dart.notNull(this[core.$length]) - 1; | 2033 startIndex = dart.notNull(this.length) - 1; |
1944 } else { | 2034 } else { |
1945 if (dart.notNull(startIndex) < 0) { | 2035 if (dart.notNull(startIndex) < 0) { |
1946 return -1; | 2036 return -1; |
1947 } | 2037 } |
1948 if (dart.notNull(startIndex) >= dart.notNull(this[core.$length])) { | 2038 if (dart.notNull(startIndex) >= dart.notNull(this.length)) { |
1949 startIndex = dart.notNull(this[core.$length]) - 1; | 2039 startIndex = dart.notNull(this.length) - 1; |
1950 } | 2040 } |
1951 } | 2041 } |
1952 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1)
{ | 2042 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1)
{ |
1953 if (dart.equals(this[core.$get](i), element)) { | 2043 if (dart.equals(this.get(i), element)) { |
1954 return i; | 2044 return i; |
1955 } | 2045 } |
1956 } | 2046 } |
1957 return -1; | 2047 return -1; |
1958 } | 2048 } |
1959 [core.$insert](index, element) { | 2049 insert(index, element) { |
1960 dart.as(element, E); | 2050 dart.as(element, E); |
1961 core.RangeError.checkValueInInterval(index, 0, this[core.$length], "inde
x"); | 2051 core.RangeError.checkValueInInterval(index, 0, this.length, "index"); |
1962 if (index == this[core.$length]) { | 2052 if (index == this.length) { |
1963 this[core.$add](element); | 2053 this.add(element); |
1964 return; | 2054 return; |
1965 } | 2055 } |
1966 if (!(typeof index == 'number')) | 2056 if (!(typeof index == 'number')) |
1967 throw new core.ArgumentError(index); | 2057 throw new core.ArgumentError(index); |
1968 this[core.$length] = dart.notNull(this[core.$length]) + 1; | 2058 this.length = dart.notNull(this.length) + 1; |
1969 this[core.$setRange](dart.notNull(index) + 1, this[core.$length], this,
index); | 2059 this.setRange(dart.notNull(index) + 1, this.length, this, index); |
1970 this[core.$set](index, element); | 2060 this.set(index, element); |
1971 } | 2061 } |
1972 [core.$removeAt](index) { | 2062 removeAt(index) { |
1973 let result = this[core.$get](index); | 2063 let result = this.get(index); |
1974 this[core.$setRange](index, dart.notNull(this[core.$length]) - 1, this,
dart.notNull(index) + 1); | 2064 this.setRange(index, dart.notNull(this.length) - 1, this, dart.notNull(i
ndex) + 1); |
1975 this[core.$length] = dart.notNull(this[core.$length]) - 1; | 2065 this.length = dart.notNull(this.length) - 1; |
1976 return result; | 2066 return result; |
1977 } | 2067 } |
1978 [core.$insertAll](index, iterable) { | 2068 insertAll(index, iterable) { |
1979 dart.as(iterable, core.Iterable$(E)); | 2069 dart.as(iterable, core.Iterable$(E)); |
1980 core.RangeError.checkValueInInterval(index, 0, this[core.$length], "inde
x"); | 2070 core.RangeError.checkValueInInterval(index, 0, this.length, "index"); |
1981 if (dart.is(iterable, _internal.EfficientLength)) { | 2071 if (dart.is(iterable, _internal.EfficientLength)) { |
1982 iterable = iterable[core.$toList](); | 2072 iterable = iterable[dartx.toList](); |
1983 } | 2073 } |
1984 let insertionLength = iterable[core.$length]; | 2074 let insertionLength = iterable.length; |
1985 this[core.$length] = dart.notNull(this[core.$length]) + dart.notNull(ins
ertionLength); | 2075 this.length = dart.notNull(this.length) + dart.notNull(insertionLength); |
1986 this[core.$setRange](dart.notNull(index) + dart.notNull(insertionLength)
, this[core.$length], this, index); | 2076 this.setRange(dart.notNull(index) + dart.notNull(insertionLength), this.
length, this, index); |
1987 this[core.$setAll](index, iterable); | 2077 this.setAll(index, iterable); |
1988 } | 2078 } |
1989 [core.$setAll](index, iterable) { | 2079 setAll(index, iterable) { |
1990 dart.as(iterable, core.Iterable$(E)); | 2080 dart.as(iterable, core.Iterable$(E)); |
1991 if (dart.is(iterable, core.List)) { | 2081 if (dart.is(iterable, core.List)) { |
1992 this[core.$setRange](index, dart.notNull(index) + dart.notNull(iterabl
e[core.$length]), iterable); | 2082 this.setRange(index, dart.notNull(index) + dart.notNull(iterable.lengt
h), iterable); |
1993 } else { | 2083 } else { |
1994 for (let element of iterable) { | 2084 for (let element of iterable) { |
1995 this[core.$set]((() => { | 2085 this.set((() => { |
1996 let x = index; | 2086 let x = index; |
1997 index = dart.notNull(x) + 1; | 2087 index = dart.notNull(x) + 1; |
1998 return x; | 2088 return x; |
1999 })(), element); | 2089 })(), element); |
2000 } | 2090 } |
2001 } | 2091 } |
2002 } | 2092 } |
2003 get [core.$reversed]() { | 2093 get reversed() { |
2004 return new (_internal.ReversedListIterable$(E))(this); | 2094 return new (_internal.ReversedListIterable$(E))(this); |
2005 } | 2095 } |
2006 [core.$toString]() { | 2096 toString() { |
2007 return IterableBase.iterableToFullString(this, '[', ']'); | 2097 return IterableBase.iterableToFullString(this, '[', ']'); |
2008 } | 2098 } |
2009 } | 2099 } |
2010 ListMixin[dart.implements] = () => [core.List$(E)]; | 2100 ListMixin[dart.implements] = () => [core.List$(E)]; |
| 2101 dart.defineExtensionMembers(ListMixin, [ |
| 2102 'elementAt', |
| 2103 'forEach', |
| 2104 'contains', |
| 2105 'every', |
| 2106 'any', |
| 2107 'firstWhere', |
| 2108 'lastWhere', |
| 2109 'singleWhere', |
| 2110 'join', |
| 2111 'where', |
| 2112 'map', |
| 2113 'expand', |
| 2114 'reduce', |
| 2115 'fold', |
| 2116 'skip', |
| 2117 'skipWhile', |
| 2118 'take', |
| 2119 'takeWhile', |
| 2120 'toList', |
| 2121 'toSet', |
| 2122 'add', |
| 2123 'addAll', |
| 2124 'remove', |
| 2125 'removeWhere', |
| 2126 'retainWhere', |
| 2127 'clear', |
| 2128 'removeLast', |
| 2129 'sort', |
| 2130 'shuffle', |
| 2131 'asMap', |
| 2132 'sublist', |
| 2133 'getRange', |
| 2134 'removeRange', |
| 2135 'fillRange', |
| 2136 'setRange', |
| 2137 'replaceRange', |
| 2138 'indexOf', |
| 2139 'lastIndexOf', |
| 2140 'insert', |
| 2141 'removeAt', |
| 2142 'insertAll', |
| 2143 'setAll', |
| 2144 'iterator', |
| 2145 'isEmpty', |
| 2146 'isNotEmpty', |
| 2147 'first', |
| 2148 'last', |
| 2149 'single', |
| 2150 'reversed' |
| 2151 ]); |
2011 dart.setSignature(ListMixin, { | 2152 dart.setSignature(ListMixin, { |
2012 methods: () => ({ | 2153 methods: () => ({ |
2013 [core.$elementAt]: [E, [core.int]], | 2154 elementAt: [E, [core.int]], |
2014 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 2155 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
2015 [core.$contains]: [core.bool, [core.Object]], | 2156 contains: [core.bool, [core.Object]], |
2016 [core.$every]: [core.bool, [dart.functionType(core.bool, [E])]], | 2157 every: [core.bool, [dart.functionType(core.bool, [E])]], |
2017 [core.$any]: [core.bool, [dart.functionType(core.bool, [E])]], | 2158 any: [core.bool, [dart.functionType(core.bool, [E])]], |
2018 [core.$firstWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: da
rt.functionType(E, [])}], | 2159 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct
ionType(E, [])}], |
2019 [core.$lastWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: dar
t.functionType(E, [])}], | 2160 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi
onType(E, [])}], |
2020 [core.$singleWhere]: [E, [dart.functionType(core.bool, [E])]], | 2161 singleWhere: [E, [dart.functionType(core.bool, [E])]], |
2021 [core.$join]: [core.String, [], [core.String]], | 2162 join: [core.String, [], [core.String]], |
2022 [core.$where]: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | 2163 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
2023 [core.$map]: [core.Iterable, [dart.functionType(core.Object, [E])]], | 2164 map: [core.Iterable, [dart.functionType(core.Object, [E])]], |
2024 [core.$expand]: [core.Iterable, [dart.functionType(core.Iterable, [E])]]
, | 2165 expand: [core.Iterable, [dart.functionType(core.Iterable, [E])]], |
2025 [core.$reduce]: [E, [dart.functionType(E, [E, E])]], | 2166 reduce: [E, [dart.functionType(E, [E, E])]], |
2026 [core.$fold]: [core.Object, [core.Object, dart.functionType(core.Object,
[dart.bottom, E])]], | 2167 fold: [core.Object, [core.Object, dart.functionType(core.Object, [dart.b
ottom, E])]], |
2027 [core.$skip]: [core.Iterable$(E), [core.int]], | 2168 skip: [core.Iterable$(E), [core.int]], |
2028 [core.$skipWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 2169 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
2029 [core.$take]: [core.Iterable$(E), [core.int]], | 2170 take: [core.Iterable$(E), [core.int]], |
2030 [core.$takeWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E]
)]], | 2171 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], |
2031 [core.$toList]: [core.List$(E), [], {growable: core.bool}], | 2172 toList: [core.List$(E), [], {growable: core.bool}], |
2032 [core.$toSet]: [core.Set$(E), []], | 2173 toSet: [core.Set$(E), []], |
2033 [core.$add]: [dart.void, [E]], | 2174 add: [dart.void, [E]], |
2034 [core.$addAll]: [dart.void, [core.Iterable$(E)]], | 2175 addAll: [dart.void, [core.Iterable$(E)]], |
2035 [core.$remove]: [core.bool, [core.Object]], | 2176 remove: [core.bool, [core.Object]], |
2036 [core.$removeWhere]: [dart.void, [dart.functionType(core.bool, [E])]], | 2177 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
2037 [core.$retainWhere]: [dart.void, [dart.functionType(core.bool, [E])]], | 2178 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
2038 [core.$clear]: [dart.void, []], | 2179 clear: [dart.void, []], |
2039 [core.$removeLast]: [E, []], | 2180 removeLast: [E, []], |
2040 [core.$sort]: [dart.void, [], [dart.functionType(core.int, [E, E])]], | 2181 sort: [dart.void, [], [dart.functionType(core.int, [E, E])]], |
2041 [core.$shuffle]: [dart.void, [], [math.Random]], | 2182 shuffle: [dart.void, [], [math.Random]], |
2042 [core.$asMap]: [core.Map$(core.int, E), []], | 2183 asMap: [core.Map$(core.int, E), []], |
2043 [core.$sublist]: [core.List$(E), [core.int], [core.int]], | 2184 sublist: [core.List$(E), [core.int], [core.int]], |
2044 [core.$getRange]: [core.Iterable$(E), [core.int, core.int]], | 2185 getRange: [core.Iterable$(E), [core.int, core.int]], |
2045 [core.$removeRange]: [dart.void, [core.int, core.int]], | 2186 removeRange: [dart.void, [core.int, core.int]], |
2046 [core.$fillRange]: [dart.void, [core.int, core.int], [E]], | 2187 fillRange: [dart.void, [core.int, core.int], [E]], |
2047 [core.$setRange]: [dart.void, [core.int, core.int, core.Iterable$(E)], [
core.int]], | 2188 setRange: [dart.void, [core.int, core.int, core.Iterable$(E)], [core.int
]], |
2048 [core.$replaceRange]: [dart.void, [core.int, core.int, core.Iterable$(E)
]], | 2189 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]], |
2049 [core.$indexOf]: [core.int, [core.Object], [core.int]], | 2190 indexOf: [core.int, [core.Object], [core.int]], |
2050 [core.$lastIndexOf]: [core.int, [core.Object], [core.int]], | 2191 lastIndexOf: [core.int, [core.Object], [core.int]], |
2051 [core.$insert]: [dart.void, [core.int, E]], | 2192 insert: [dart.void, [core.int, E]], |
2052 [core.$removeAt]: [E, [core.int]], | 2193 removeAt: [E, [core.int]], |
2053 [core.$insertAll]: [dart.void, [core.int, core.Iterable$(E)]], | 2194 insertAll: [dart.void, [core.int, core.Iterable$(E)]], |
2054 [core.$setAll]: [dart.void, [core.int, core.Iterable$(E)]] | 2195 setAll: [dart.void, [core.int, core.Iterable$(E)]] |
2055 }), | 2196 }), |
2056 statics: () => ({_filter: [dart.void, [core.List, dart.functionType(core.b
ool, [dart.bottom]), core.bool]]}), | 2197 statics: () => ({_filter: [dart.void, [core.List, dart.functionType(core.b
ool, [dart.bottom]), core.bool]]}), |
2057 names: ['_filter'] | 2198 names: ['_filter'] |
2058 }); | 2199 }); |
2059 return ListMixin; | 2200 return ListMixin; |
2060 }); | 2201 }); |
2061 let ListMixin = ListMixin$(); | 2202 let ListMixin = ListMixin$(); |
2062 let ListBase$ = dart.generic(function(E) { | 2203 let ListBase$ = dart.generic(function(E) { |
2063 class ListBase extends dart.mixin(core.Object, ListMixin$(E)) { | 2204 class ListBase extends dart.mixin(core.Object, ListMixin$(E)) { |
2064 static listToString(list) { | 2205 static listToString(list) { |
(...skipping 24 matching lines...) Expand all Loading... |
2089 containsValue(value) { | 2230 containsValue(value) { |
2090 for (let key of this.keys) { | 2231 for (let key of this.keys) { |
2091 if (dart.equals(this.get(key), value)) | 2232 if (dart.equals(this.get(key), value)) |
2092 return true; | 2233 return true; |
2093 } | 2234 } |
2094 return false; | 2235 return false; |
2095 } | 2236 } |
2096 putIfAbsent(key, ifAbsent) { | 2237 putIfAbsent(key, ifAbsent) { |
2097 dart.as(key, K); | 2238 dart.as(key, K); |
2098 dart.as(ifAbsent, dart.functionType(V, [])); | 2239 dart.as(ifAbsent, dart.functionType(V, [])); |
2099 if (this.keys[core.$contains](key)) { | 2240 if (this.keys[dartx.contains](key)) { |
2100 return this.get(key); | 2241 return this.get(key); |
2101 } | 2242 } |
2102 return this.set(key, ifAbsent()); | 2243 return this.set(key, ifAbsent()); |
2103 } | 2244 } |
2104 containsKey(key) { | 2245 containsKey(key) { |
2105 return this.keys[core.$contains](key); | 2246 return this.keys[dartx.contains](key); |
2106 } | 2247 } |
2107 get length() { | 2248 get length() { |
2108 return this.keys[core.$length]; | 2249 return this.keys.length; |
2109 } | 2250 } |
2110 get isEmpty() { | 2251 get isEmpty() { |
2111 return this.keys[core.$isEmpty]; | 2252 return this.keys[dartx.isEmpty]; |
2112 } | 2253 } |
2113 get isNotEmpty() { | 2254 get isNotEmpty() { |
2114 return this.keys[core.$isNotEmpty]; | 2255 return this.keys[dartx.isNotEmpty]; |
2115 } | 2256 } |
2116 get values() { | 2257 get values() { |
2117 return new (_MapBaseValueIterable$(V))(this); | 2258 return new (_MapBaseValueIterable$(V))(this); |
2118 } | 2259 } |
2119 toString() { | 2260 toString() { |
2120 return Maps.mapToString(this); | 2261 return Maps.mapToString(this); |
2121 } | 2262 } |
2122 } | 2263 } |
2123 MapMixin[dart.implements] = () => [core.Map$(K, V)]; | 2264 MapMixin[dart.implements] = () => [core.Map$(K, V)]; |
2124 dart.setSignature(MapMixin, { | 2265 dart.setSignature(MapMixin, { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2179 return UnmodifiableMapBase; | 2320 return UnmodifiableMapBase; |
2180 }); | 2321 }); |
2181 let UnmodifiableMapBase = UnmodifiableMapBase$(); | 2322 let UnmodifiableMapBase = UnmodifiableMapBase$(); |
2182 let _map = Symbol('_map'); | 2323 let _map = Symbol('_map'); |
2183 let _MapBaseValueIterable$ = dart.generic(function(V) { | 2324 let _MapBaseValueIterable$ = dart.generic(function(V) { |
2184 class _MapBaseValueIterable extends IterableBase$(V) { | 2325 class _MapBaseValueIterable extends IterableBase$(V) { |
2185 _MapBaseValueIterable(map) { | 2326 _MapBaseValueIterable(map) { |
2186 this[_map] = map; | 2327 this[_map] = map; |
2187 super.IterableBase(); | 2328 super.IterableBase(); |
2188 } | 2329 } |
2189 get [core.$length]() { | 2330 get length() { |
2190 return this[_map].length; | 2331 return this[_map].length; |
2191 } | 2332 } |
2192 get [core.$isEmpty]() { | 2333 get isEmpty() { |
2193 return this[_map].isEmpty; | 2334 return this[_map].isEmpty; |
2194 } | 2335 } |
2195 get [core.$isNotEmpty]() { | 2336 get isNotEmpty() { |
2196 return this[_map].isNotEmpty; | 2337 return this[_map].isNotEmpty; |
2197 } | 2338 } |
2198 get [core.$first]() { | 2339 get first() { |
2199 return dart.as(this[_map].get(this[_map].keys[core.$first]), V); | 2340 return dart.as(this[_map].get(this[_map].keys[dartx.first]), V); |
2200 } | 2341 } |
2201 get [core.$single]() { | 2342 get single() { |
2202 return dart.as(this[_map].get(this[_map].keys[core.$single]), V); | 2343 return dart.as(this[_map].get(this[_map].keys[dartx.single]), V); |
2203 } | 2344 } |
2204 get [core.$last]() { | 2345 get last() { |
2205 return dart.as(this[_map].get(this[_map].keys[core.$last]), V); | 2346 return dart.as(this[_map].get(this[_map].keys[dartx.last]), V); |
2206 } | 2347 } |
2207 get [core.$iterator]() { | 2348 get iterator() { |
2208 return new (_MapBaseValueIterator$(V))(this[_map]); | 2349 return new (_MapBaseValueIterator$(V))(this[_map]); |
2209 } | 2350 } |
2210 } | 2351 } |
2211 _MapBaseValueIterable[dart.implements] = () => [_internal.EfficientLength]; | 2352 _MapBaseValueIterable[dart.implements] = () => [_internal.EfficientLength]; |
| 2353 dart.defineExtensionMembers(_MapBaseValueIterable, [ |
| 2354 'length', |
| 2355 'isEmpty', |
| 2356 'isNotEmpty', |
| 2357 'first', |
| 2358 'single', |
| 2359 'last', |
| 2360 'iterator' |
| 2361 ]); |
2212 dart.setSignature(_MapBaseValueIterable, { | 2362 dart.setSignature(_MapBaseValueIterable, { |
2213 constructors: () => ({_MapBaseValueIterable: [_MapBaseValueIterable$(V), [
core.Map]]}) | 2363 constructors: () => ({_MapBaseValueIterable: [_MapBaseValueIterable$(V), [
core.Map]]}) |
2214 }); | 2364 }); |
2215 return _MapBaseValueIterable; | 2365 return _MapBaseValueIterable; |
2216 }); | 2366 }); |
2217 let _MapBaseValueIterable = _MapBaseValueIterable$(); | 2367 let _MapBaseValueIterable = _MapBaseValueIterable$(); |
2218 let _keys = Symbol('_keys'); | 2368 let _keys = Symbol('_keys'); |
2219 let _MapBaseValueIterator$ = dart.generic(function(V) { | 2369 let _MapBaseValueIterator$ = dart.generic(function(V) { |
2220 class _MapBaseValueIterator extends core.Object { | 2370 class _MapBaseValueIterator extends core.Object { |
2221 _MapBaseValueIterator(map) { | 2371 _MapBaseValueIterator(map) { |
2222 this[_map] = map; | 2372 this[_map] = map; |
2223 this[_keys] = map.keys[core.$iterator]; | 2373 this[_keys] = map.keys[dartx.iterator]; |
2224 this[_current] = null; | 2374 this[_current] = null; |
2225 } | 2375 } |
2226 moveNext() { | 2376 moveNext() { |
2227 if (this[_keys].moveNext()) { | 2377 if (this[_keys].moveNext()) { |
2228 this[_current] = dart.as(this[_map].get(this[_keys].current), V); | 2378 this[_current] = dart.as(this[_map].get(this[_keys].current), V); |
2229 return true; | 2379 return true; |
2230 } | 2380 } |
2231 this[_current] = null; | 2381 this[_current] = null; |
2232 return false; | 2382 return false; |
2233 } | 2383 } |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2342 } | 2492 } |
2343 static putIfAbsent(map, key, ifAbsent) { | 2493 static putIfAbsent(map, key, ifAbsent) { |
2344 if (map.containsKey(key)) { | 2494 if (map.containsKey(key)) { |
2345 return map.get(key); | 2495 return map.get(key); |
2346 } | 2496 } |
2347 let v = ifAbsent(); | 2497 let v = ifAbsent(); |
2348 map.set(key, v); | 2498 map.set(key, v); |
2349 return v; | 2499 return v; |
2350 } | 2500 } |
2351 static clear(map) { | 2501 static clear(map) { |
2352 for (let k of map.keys[core.$toList]()) { | 2502 for (let k of map.keys[dartx.toList]()) { |
2353 map.remove(k); | 2503 map.remove(k); |
2354 } | 2504 } |
2355 } | 2505 } |
2356 static forEach(map, f) { | 2506 static forEach(map, f) { |
2357 for (let k of map.keys) { | 2507 for (let k of map.keys) { |
2358 dart.dcall(f, k, map.get(k)); | 2508 dart.dcall(f, k, map.get(k)); |
2359 } | 2509 } |
2360 } | 2510 } |
2361 static getValues(map) { | 2511 static getValues(map) { |
2362 return map.keys[core.$map](dart.fn(key => map.get(key))); | 2512 return map.keys[dartx.map](dart.fn(key => map.get(key))); |
2363 } | 2513 } |
2364 static length(map) { | 2514 static length(map) { |
2365 return map.keys[core.$length]; | 2515 return map.keys.length; |
2366 } | 2516 } |
2367 static isEmpty(map) { | 2517 static isEmpty(map) { |
2368 return map.keys[core.$isEmpty]; | 2518 return map.keys[dartx.isEmpty]; |
2369 } | 2519 } |
2370 static isNotEmpty(map) { | 2520 static isNotEmpty(map) { |
2371 return map.keys[core.$isNotEmpty]; | 2521 return map.keys[dartx.isNotEmpty]; |
2372 } | 2522 } |
2373 static mapToString(m) { | 2523 static mapToString(m) { |
2374 if (IterableBase._isToStringVisiting(m)) { | 2524 if (IterableBase._isToStringVisiting(m)) { |
2375 return '{...}'; | 2525 return '{...}'; |
2376 } | 2526 } |
2377 let result = new core.StringBuffer(); | 2527 let result = new core.StringBuffer(); |
2378 try { | 2528 try { |
2379 IterableBase._toStringVisiting[core.$add](m); | 2529 IterableBase._toStringVisiting[dartx.add](m); |
2380 result.write('{'); | 2530 result.write('{'); |
2381 let first = true; | 2531 let first = true; |
2382 m.forEach(dart.fn((k, v) => { | 2532 m.forEach(dart.fn((k, v) => { |
2383 if (!dart.notNull(first)) { | 2533 if (!dart.notNull(first)) { |
2384 result.write(', '); | 2534 result.write(', '); |
2385 } | 2535 } |
2386 first = false; | 2536 first = false; |
2387 result.write(k); | 2537 result.write(k); |
2388 result.write(': '); | 2538 result.write(': '); |
2389 result.write(v); | 2539 result.write(v); |
2390 })); | 2540 })); |
2391 result.write('}'); | 2541 result.write('}'); |
2392 } finally { | 2542 } finally { |
2393 dart.assert(core.identical(IterableBase._toStringVisiting[core.$last], m
)); | 2543 dart.assert(core.identical(IterableBase._toStringVisiting[dartx.last], m
)); |
2394 IterableBase._toStringVisiting[core.$removeLast](); | 2544 IterableBase._toStringVisiting[dartx.removeLast](); |
2395 } | 2545 } |
2396 return dart.toString(result); | 2546 return dart.toString(result); |
2397 } | 2547 } |
2398 static _id(x) { | 2548 static _id(x) { |
2399 return x; | 2549 return x; |
2400 } | 2550 } |
2401 static _fillMapWithMappedIterable(map, iterable, key, value) { | 2551 static _fillMapWithMappedIterable(map, iterable, key, value) { |
2402 if (key == null) | 2552 if (key == null) |
2403 key = Maps._id; | 2553 key = Maps._id; |
2404 if (value == null) | 2554 if (value == null) |
2405 value = Maps._id; | 2555 value = Maps._id; |
2406 for (let element of iterable) { | 2556 for (let element of iterable) { |
2407 map.set(dart.dcall(key, element), dart.dcall(value, element)); | 2557 map.set(dart.dcall(key, element), dart.dcall(value, element)); |
2408 } | 2558 } |
2409 } | 2559 } |
2410 static _fillMapWithIterables(map, keys, values) { | 2560 static _fillMapWithIterables(map, keys, values) { |
2411 let keyIterator = keys[core.$iterator]; | 2561 let keyIterator = keys[dartx.iterator]; |
2412 let valueIterator = values[core.$iterator]; | 2562 let valueIterator = values[dartx.iterator]; |
2413 let hasNextKey = keyIterator.moveNext(); | 2563 let hasNextKey = keyIterator.moveNext(); |
2414 let hasNextValue = valueIterator.moveNext(); | 2564 let hasNextValue = valueIterator.moveNext(); |
2415 while (dart.notNull(hasNextKey) && dart.notNull(hasNextValue)) { | 2565 while (dart.notNull(hasNextKey) && dart.notNull(hasNextValue)) { |
2416 map.set(keyIterator.current, valueIterator.current); | 2566 map.set(keyIterator.current, valueIterator.current); |
2417 hasNextKey = keyIterator.moveNext(); | 2567 hasNextKey = keyIterator.moveNext(); |
2418 hasNextValue = valueIterator.moveNext(); | 2568 hasNextValue = valueIterator.moveNext(); |
2419 } | 2569 } |
2420 if (dart.notNull(hasNextKey) || dart.notNull(hasNextValue)) { | 2570 if (dart.notNull(hasNextKey) || dart.notNull(hasNextValue)) { |
2421 throw new core.ArgumentError("Iterables do not have same length."); | 2571 throw new core.ArgumentError("Iterables do not have same length."); |
2422 } | 2572 } |
(...skipping 19 matching lines...) Expand all Loading... |
2442 }); | 2592 }); |
2443 let Queue$ = dart.generic(function(E) { | 2593 let Queue$ = dart.generic(function(E) { |
2444 class Queue extends core.Object { | 2594 class Queue extends core.Object { |
2445 static new() { | 2595 static new() { |
2446 return new (ListQueue$(E))(); | 2596 return new (ListQueue$(E))(); |
2447 } | 2597 } |
2448 static from(elements) { | 2598 static from(elements) { |
2449 return ListQueue$(E).from(elements); | 2599 return ListQueue$(E).from(elements); |
2450 } | 2600 } |
2451 [Symbol.iterator]() { | 2601 [Symbol.iterator]() { |
2452 return new dart.JsIterator(this[core.$iterator]); | 2602 return new dart.JsIterator(this.iterator); |
2453 } | 2603 } |
2454 } | 2604 } |
2455 Queue[dart.implements] = () => [core.Iterable$(E), _internal.EfficientLength
]; | 2605 Queue[dart.implements] = () => [core.Iterable$(E), _internal.EfficientLength
]; |
2456 dart.setSignature(Queue, { | 2606 dart.setSignature(Queue, { |
2457 constructors: () => ({ | 2607 constructors: () => ({ |
2458 new: [Queue$(E), []], | 2608 new: [Queue$(E), []], |
2459 from: [Queue$(E), [core.Iterable]] | 2609 from: [Queue$(E), [core.Iterable]] |
2460 }) | 2610 }) |
2461 }); | 2611 }); |
2462 return Queue; | 2612 return Queue; |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2568 super.IterableBase(); | 2718 super.IterableBase(); |
2569 this[_sentinel] = new (_DoubleLinkedQueueEntrySentinel$(E))(); | 2719 this[_sentinel] = new (_DoubleLinkedQueueEntrySentinel$(E))(); |
2570 } | 2720 } |
2571 static from(elements) { | 2721 static from(elements) { |
2572 let list = new (DoubleLinkedQueue$(E))(); | 2722 let list = new (DoubleLinkedQueue$(E))(); |
2573 for (let e of dart.as(elements, core.Iterable$(E))) { | 2723 for (let e of dart.as(elements, core.Iterable$(E))) { |
2574 list.addLast(e); | 2724 list.addLast(e); |
2575 } | 2725 } |
2576 return dart.as(list, DoubleLinkedQueue$(E)); | 2726 return dart.as(list, DoubleLinkedQueue$(E)); |
2577 } | 2727 } |
2578 get [core.$length]() { | 2728 get length() { |
2579 return this[_elementCount]; | 2729 return this[_elementCount]; |
2580 } | 2730 } |
2581 addLast(value) { | 2731 addLast(value) { |
2582 dart.as(value, E); | 2732 dart.as(value, E); |
2583 this[_sentinel].prepend(value); | 2733 this[_sentinel].prepend(value); |
2584 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; | 2734 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
2585 } | 2735 } |
2586 addFirst(value) { | 2736 addFirst(value) { |
2587 dart.as(value, E); | 2737 dart.as(value, E); |
2588 this[_sentinel].append(value); | 2738 this[_sentinel].append(value); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2635 } | 2785 } |
2636 } | 2786 } |
2637 removeWhere(test) { | 2787 removeWhere(test) { |
2638 dart.as(test, dart.functionType(core.bool, [E])); | 2788 dart.as(test, dart.functionType(core.bool, [E])); |
2639 this[_filter](test, true); | 2789 this[_filter](test, true); |
2640 } | 2790 } |
2641 retainWhere(test) { | 2791 retainWhere(test) { |
2642 dart.as(test, dart.functionType(core.bool, [E])); | 2792 dart.as(test, dart.functionType(core.bool, [E])); |
2643 this[_filter](test, false); | 2793 this[_filter](test, false); |
2644 } | 2794 } |
2645 get [core.$first]() { | 2795 get first() { |
2646 return this[_sentinel][_next].element; | 2796 return this[_sentinel][_next].element; |
2647 } | 2797 } |
2648 get [core.$last]() { | 2798 get last() { |
2649 return this[_sentinel][_previous].element; | 2799 return this[_sentinel][_previous].element; |
2650 } | 2800 } |
2651 get [core.$single]() { | 2801 get single() { |
2652 if (core.identical(this[_sentinel][_next], this[_sentinel][_previous]))
{ | 2802 if (core.identical(this[_sentinel][_next], this[_sentinel][_previous]))
{ |
2653 return this[_sentinel][_next].element; | 2803 return this[_sentinel][_next].element; |
2654 } | 2804 } |
2655 throw _internal.IterableElementError.tooMany(); | 2805 throw _internal.IterableElementError.tooMany(); |
2656 } | 2806 } |
2657 lastEntry() { | 2807 lastEntry() { |
2658 return this[_sentinel].previousEntry(); | 2808 return this[_sentinel].previousEntry(); |
2659 } | 2809 } |
2660 firstEntry() { | 2810 firstEntry() { |
2661 return this[_sentinel].nextEntry(); | 2811 return this[_sentinel].nextEntry(); |
2662 } | 2812 } |
2663 get [core.$isEmpty]() { | 2813 get isEmpty() { |
2664 return core.identical(this[_sentinel][_next], this[_sentinel]); | 2814 return core.identical(this[_sentinel][_next], this[_sentinel]); |
2665 } | 2815 } |
2666 clear() { | 2816 clear() { |
2667 this[_sentinel][_next] = this[_sentinel]; | 2817 this[_sentinel][_next] = this[_sentinel]; |
2668 this[_sentinel][_previous] = this[_sentinel]; | 2818 this[_sentinel][_previous] = this[_sentinel]; |
2669 this[_elementCount] = 0; | 2819 this[_elementCount] = 0; |
2670 } | 2820 } |
2671 forEachEntry(f) { | 2821 forEachEntry(f) { |
2672 dart.as(f, dart.functionType(dart.void, [DoubleLinkedQueueEntry$(E)])); | 2822 dart.as(f, dart.functionType(dart.void, [DoubleLinkedQueueEntry$(E)])); |
2673 let entry = this[_sentinel][_next]; | 2823 let entry = this[_sentinel][_next]; |
2674 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { | 2824 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { |
2675 let nextEntry = entry[_next]; | 2825 let nextEntry = entry[_next]; |
2676 f(entry); | 2826 f(entry); |
2677 entry = nextEntry; | 2827 entry = nextEntry; |
2678 } | 2828 } |
2679 } | 2829 } |
2680 get [core.$iterator]() { | 2830 get iterator() { |
2681 return new (_DoubleLinkedQueueIterator$(E))(this[_sentinel]); | 2831 return new (_DoubleLinkedQueueIterator$(E))(this[_sentinel]); |
2682 } | 2832 } |
2683 toString() { | 2833 toString() { |
2684 return IterableBase.iterableToFullString(this, '{', '}'); | 2834 return IterableBase.iterableToFullString(this, '{', '}'); |
2685 } | 2835 } |
2686 } | 2836 } |
2687 DoubleLinkedQueue[dart.implements] = () => [Queue$(E)]; | 2837 DoubleLinkedQueue[dart.implements] = () => [Queue$(E)]; |
| 2838 dart.defineExtensionMembers(DoubleLinkedQueue, [ |
| 2839 'length', |
| 2840 'first', |
| 2841 'last', |
| 2842 'single', |
| 2843 'isEmpty', |
| 2844 'iterator' |
| 2845 ]); |
2688 dart.setSignature(DoubleLinkedQueue, { | 2846 dart.setSignature(DoubleLinkedQueue, { |
2689 constructors: () => ({ | 2847 constructors: () => ({ |
2690 DoubleLinkedQueue: [DoubleLinkedQueue$(E), []], | 2848 DoubleLinkedQueue: [DoubleLinkedQueue$(E), []], |
2691 from: [DoubleLinkedQueue$(E), [core.Iterable]] | 2849 from: [DoubleLinkedQueue$(E), [core.Iterable]] |
2692 }), | 2850 }), |
2693 methods: () => ({ | 2851 methods: () => ({ |
2694 addLast: [dart.void, [E]], | 2852 addLast: [dart.void, [E]], |
2695 addFirst: [dart.void, [E]], | 2853 addFirst: [dart.void, [E]], |
2696 add: [dart.void, [E]], | 2854 add: [dart.void, [E]], |
2697 addAll: [dart.void, [core.Iterable$(E)]], | 2855 addAll: [dart.void, [core.Iterable$(E)]], |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2763 if (initialCapacity == null || dart.notNull(initialCapacity) < dart.notN
ull(ListQueue$()._INITIAL_CAPACITY)) { | 2921 if (initialCapacity == null || dart.notNull(initialCapacity) < dart.notN
ull(ListQueue$()._INITIAL_CAPACITY)) { |
2764 initialCapacity = ListQueue$()._INITIAL_CAPACITY; | 2922 initialCapacity = ListQueue$()._INITIAL_CAPACITY; |
2765 } else if (!dart.notNull(ListQueue$()._isPowerOf2(initialCapacity))) { | 2923 } else if (!dart.notNull(ListQueue$()._isPowerOf2(initialCapacity))) { |
2766 initialCapacity = ListQueue$()._nextPowerOf2(initialCapacity); | 2924 initialCapacity = ListQueue$()._nextPowerOf2(initialCapacity); |
2767 } | 2925 } |
2768 dart.assert(ListQueue$()._isPowerOf2(initialCapacity)); | 2926 dart.assert(ListQueue$()._isPowerOf2(initialCapacity)); |
2769 this[_table] = core.List$(E).new(initialCapacity); | 2927 this[_table] = core.List$(E).new(initialCapacity); |
2770 } | 2928 } |
2771 static from(elements) { | 2929 static from(elements) { |
2772 if (dart.is(elements, core.List)) { | 2930 if (dart.is(elements, core.List)) { |
2773 let length = elements[core.$length]; | 2931 let length = elements.length; |
2774 let queue = new (ListQueue$(E))(dart.notNull(length) + 1); | 2932 let queue = new (ListQueue$(E))(dart.notNull(length) + 1); |
2775 dart.assert(dart.notNull(queue[_table][core.$length]) > dart.notNull(l
ength)); | 2933 dart.assert(dart.notNull(queue[_table].length) > dart.notNull(length))
; |
2776 let sourceList = elements; | 2934 let sourceList = elements; |
2777 queue[_table][core.$setRange](0, length, dart.as(sourceList, core.Iter
able$(E)), 0); | 2935 queue[_table][dartx.setRange](0, length, dart.as(sourceList, core.Iter
able$(E)), 0); |
2778 queue[_tail] = length; | 2936 queue[_tail] = length; |
2779 return queue; | 2937 return queue; |
2780 } else { | 2938 } else { |
2781 let capacity = ListQueue$()._INITIAL_CAPACITY; | 2939 let capacity = ListQueue$()._INITIAL_CAPACITY; |
2782 if (dart.is(elements, _internal.EfficientLength)) { | 2940 if (dart.is(elements, _internal.EfficientLength)) { |
2783 capacity = elements[core.$length]; | 2941 capacity = elements.length; |
2784 } | 2942 } |
2785 let result = new (ListQueue$(E))(capacity); | 2943 let result = new (ListQueue$(E))(capacity); |
2786 for (let element of dart.as(elements, core.Iterable$(E))) { | 2944 for (let element of dart.as(elements, core.Iterable$(E))) { |
2787 result.addLast(element); | 2945 result.addLast(element); |
2788 } | 2946 } |
2789 return result; | 2947 return result; |
2790 } | 2948 } |
2791 } | 2949 } |
2792 get [core.$iterator]() { | 2950 get iterator() { |
2793 return new (_ListQueueIterator$(E))(this); | 2951 return new (_ListQueueIterator$(E))(this); |
2794 } | 2952 } |
2795 [core.$forEach](action) { | 2953 forEach(action) { |
2796 dart.as(action, dart.functionType(dart.void, [E])); | 2954 dart.as(action, dart.functionType(dart.void, [E])); |
2797 let modificationCount = this[_modificationCount]; | 2955 let modificationCount = this[_modificationCount]; |
2798 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & da
rt.notNull(this[_table][core.$length]) - 1) { | 2956 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & da
rt.notNull(this[_table].length) - 1) { |
2799 action(this[_table][core.$get](i)); | 2957 action(this[_table][dartx.get](i)); |
2800 this[_checkModification](modificationCount); | 2958 this[_checkModification](modificationCount); |
2801 } | 2959 } |
2802 } | 2960 } |
2803 get [core.$isEmpty]() { | 2961 get isEmpty() { |
2804 return this[_head] == this[_tail]; | 2962 return this[_head] == this[_tail]; |
2805 } | 2963 } |
2806 get [core.$length]() { | 2964 get length() { |
2807 return dart.notNull(this[_tail]) - dart.notNull(this[_head]) & dart.notN
ull(this[_table][core.$length]) - 1; | 2965 return dart.notNull(this[_tail]) - dart.notNull(this[_head]) & dart.notN
ull(this[_table].length) - 1; |
2808 } | 2966 } |
2809 get [core.$first]() { | 2967 get first() { |
2810 if (this[_head] == this[_tail]) | 2968 if (this[_head] == this[_tail]) |
2811 throw _internal.IterableElementError.noElement(); | 2969 throw _internal.IterableElementError.noElement(); |
2812 return this[_table][core.$get](this[_head]); | 2970 return this[_table][dartx.get](this[_head]); |
2813 } | 2971 } |
2814 get [core.$last]() { | 2972 get last() { |
2815 if (this[_head] == this[_tail]) | 2973 if (this[_head] == this[_tail]) |
2816 throw _internal.IterableElementError.noElement(); | 2974 throw _internal.IterableElementError.noElement(); |
2817 return this[_table][core.$get](dart.notNull(this[_tail]) - 1 & dart.notN
ull(this[_table][core.$length]) - 1); | 2975 return this[_table][dartx.get](dart.notNull(this[_tail]) - 1 & dart.notN
ull(this[_table].length) - 1); |
2818 } | 2976 } |
2819 get [core.$single]() { | 2977 get single() { |
2820 if (this[_head] == this[_tail]) | 2978 if (this[_head] == this[_tail]) |
2821 throw _internal.IterableElementError.noElement(); | 2979 throw _internal.IterableElementError.noElement(); |
2822 if (dart.notNull(this[core.$length]) > 1) | 2980 if (dart.notNull(this.length) > 1) |
2823 throw _internal.IterableElementError.tooMany(); | 2981 throw _internal.IterableElementError.tooMany(); |
2824 return this[_table][core.$get](this[_head]); | 2982 return this[_table][dartx.get](this[_head]); |
2825 } | 2983 } |
2826 [core.$elementAt](index) { | 2984 elementAt(index) { |
2827 core.RangeError.checkValidIndex(index, this); | 2985 core.RangeError.checkValidIndex(index, this); |
2828 return this[_table][core.$get](dart.notNull(this[_head]) + dart.notNull(
index) & dart.notNull(this[_table][core.$length]) - 1); | 2986 return this[_table][dartx.get](dart.notNull(this[_head]) + dart.notNull(
index) & dart.notNull(this[_table].length) - 1); |
2829 } | 2987 } |
2830 [core.$toList](opts) { | 2988 toList(opts) { |
2831 let growable = opts && 'growable' in opts ? opts.growable : true; | 2989 let growable = opts && 'growable' in opts ? opts.growable : true; |
2832 let list = null; | 2990 let list = null; |
2833 if (growable) { | 2991 if (growable) { |
2834 list = core.List$(E).new(); | 2992 list = core.List$(E).new(); |
2835 list[core.$length] = this[core.$length]; | 2993 list.length = this.length; |
2836 } else { | 2994 } else { |
2837 list = core.List$(E).new(this[core.$length]); | 2995 list = core.List$(E).new(this.length); |
2838 } | 2996 } |
2839 this[_writeToList](list); | 2997 this[_writeToList](list); |
2840 return list; | 2998 return list; |
2841 } | 2999 } |
2842 add(element) { | 3000 add(element) { |
2843 dart.as(element, E); | 3001 dart.as(element, E); |
2844 this[_add](element); | 3002 this[_add](element); |
2845 } | 3003 } |
2846 addAll(elements) { | 3004 addAll(elements) { |
2847 dart.as(elements, core.Iterable$(E)); | 3005 dart.as(elements, core.Iterable$(E)); |
2848 if (dart.is(elements, core.List)) { | 3006 if (dart.is(elements, core.List)) { |
2849 let list = dart.as(elements, core.List); | 3007 let list = dart.as(elements, core.List); |
2850 let addCount = list[core.$length]; | 3008 let addCount = list.length; |
2851 let length = this[core.$length]; | 3009 let length = this.length; |
2852 if (dart.notNull(length) + dart.notNull(addCount) >= dart.notNull(this
[_table][core.$length])) { | 3010 if (dart.notNull(length) + dart.notNull(addCount) >= dart.notNull(this
[_table].length)) { |
2853 this[_preGrow](dart.notNull(length) + dart.notNull(addCount)); | 3011 this[_preGrow](dart.notNull(length) + dart.notNull(addCount)); |
2854 this[_table][core.$setRange](length, dart.notNull(length) + dart.not
Null(addCount), dart.as(list, core.Iterable$(E)), 0); | 3012 this[_table][dartx.setRange](length, dart.notNull(length) + dart.not
Null(addCount), dart.as(list, core.Iterable$(E)), 0); |
2855 this[_tail] = dart.notNull(this[_tail]) + dart.notNull(addCount); | 3013 this[_tail] = dart.notNull(this[_tail]) + dart.notNull(addCount); |
2856 } else { | 3014 } else { |
2857 let endSpace = dart.notNull(this[_table][core.$length]) - dart.notNu
ll(this[_tail]); | 3015 let endSpace = dart.notNull(this[_table].length) - dart.notNull(this
[_tail]); |
2858 if (dart.notNull(addCount) < dart.notNull(endSpace)) { | 3016 if (dart.notNull(addCount) < dart.notNull(endSpace)) { |
2859 this[_table][core.$setRange](this[_tail], dart.notNull(this[_tail]
) + dart.notNull(addCount), dart.as(list, core.Iterable$(E)), 0); | 3017 this[_table][dartx.setRange](this[_tail], dart.notNull(this[_tail]
) + dart.notNull(addCount), dart.as(list, core.Iterable$(E)), 0); |
2860 this[_tail] = dart.notNull(this[_tail]) + dart.notNull(addCount); | 3018 this[_tail] = dart.notNull(this[_tail]) + dart.notNull(addCount); |
2861 } else { | 3019 } else { |
2862 let preSpace = dart.notNull(addCount) - dart.notNull(endSpace); | 3020 let preSpace = dart.notNull(addCount) - dart.notNull(endSpace); |
2863 this[_table][core.$setRange](this[_tail], dart.notNull(this[_tail]
) + dart.notNull(endSpace), dart.as(list, core.Iterable$(E)), 0); | 3021 this[_table][dartx.setRange](this[_tail], dart.notNull(this[_tail]
) + dart.notNull(endSpace), dart.as(list, core.Iterable$(E)), 0); |
2864 this[_table][core.$setRange](0, preSpace, dart.as(list, core.Itera
ble$(E)), endSpace); | 3022 this[_table][dartx.setRange](0, preSpace, dart.as(list, core.Itera
ble$(E)), endSpace); |
2865 this[_tail] = preSpace; | 3023 this[_tail] = preSpace; |
2866 } | 3024 } |
2867 } | 3025 } |
2868 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 3026 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2869 } else { | 3027 } else { |
2870 for (let element of elements) | 3028 for (let element of elements) |
2871 this[_add](element); | 3029 this[_add](element); |
2872 } | 3030 } |
2873 } | 3031 } |
2874 remove(object) { | 3032 remove(object) { |
2875 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & da
rt.notNull(this[_table][core.$length]) - 1) { | 3033 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & da
rt.notNull(this[_table].length) - 1) { |
2876 let element = this[_table][core.$get](i); | 3034 let element = this[_table][dartx.get](i); |
2877 if (dart.equals(element, object)) { | 3035 if (dart.equals(element, object)) { |
2878 this[_remove](i); | 3036 this[_remove](i); |
2879 this[_modificationCount] = dart.notNull(this[_modificationCount]) +
1; | 3037 this[_modificationCount] = dart.notNull(this[_modificationCount]) +
1; |
2880 return true; | 3038 return true; |
2881 } | 3039 } |
2882 } | 3040 } |
2883 return false; | 3041 return false; |
2884 } | 3042 } |
2885 [_filterWhere](test, removeMatching) { | 3043 [_filterWhere](test, removeMatching) { |
2886 dart.as(test, dart.functionType(core.bool, [E])); | 3044 dart.as(test, dart.functionType(core.bool, [E])); |
2887 let index = this[_head]; | 3045 let index = this[_head]; |
2888 let modificationCount = this[_modificationCount]; | 3046 let modificationCount = this[_modificationCount]; |
2889 let i = this[_head]; | 3047 let i = this[_head]; |
2890 while (i != this[_tail]) { | 3048 while (i != this[_tail]) { |
2891 let element = this[_table][core.$get](i); | 3049 let element = this[_table][dartx.get](i); |
2892 let remove = core.identical(removeMatching, test(element)); | 3050 let remove = core.identical(removeMatching, test(element)); |
2893 this[_checkModification](modificationCount); | 3051 this[_checkModification](modificationCount); |
2894 if (remove) { | 3052 if (remove) { |
2895 i = this[_remove](i); | 3053 i = this[_remove](i); |
2896 modificationCount = this[_modificationCount] = dart.notNull(this[_mo
dificationCount]) + 1; | 3054 modificationCount = this[_modificationCount] = dart.notNull(this[_mo
dificationCount]) + 1; |
2897 } else { | 3055 } else { |
2898 i = dart.notNull(i) + 1 & dart.notNull(this[_table][core.$length]) -
1; | 3056 i = dart.notNull(i) + 1 & dart.notNull(this[_table].length) - 1; |
2899 } | 3057 } |
2900 } | 3058 } |
2901 } | 3059 } |
2902 removeWhere(test) { | 3060 removeWhere(test) { |
2903 dart.as(test, dart.functionType(core.bool, [E])); | 3061 dart.as(test, dart.functionType(core.bool, [E])); |
2904 this[_filterWhere](test, true); | 3062 this[_filterWhere](test, true); |
2905 } | 3063 } |
2906 retainWhere(test) { | 3064 retainWhere(test) { |
2907 dart.as(test, dart.functionType(core.bool, [E])); | 3065 dart.as(test, dart.functionType(core.bool, [E])); |
2908 this[_filterWhere](test, false); | 3066 this[_filterWhere](test, false); |
2909 } | 3067 } |
2910 clear() { | 3068 clear() { |
2911 if (this[_head] != this[_tail]) { | 3069 if (this[_head] != this[_tail]) { |
2912 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 &
dart.notNull(this[_table][core.$length]) - 1) { | 3070 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 &
dart.notNull(this[_table].length) - 1) { |
2913 this[_table][core.$set](i, null); | 3071 this[_table][dartx.set](i, null); |
2914 } | 3072 } |
2915 this[_head] = this[_tail] = 0; | 3073 this[_head] = this[_tail] = 0; |
2916 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 3074 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2917 } | 3075 } |
2918 } | 3076 } |
2919 toString() { | 3077 toString() { |
2920 return IterableBase.iterableToFullString(this, "{", "}"); | 3078 return IterableBase.iterableToFullString(this, "{", "}"); |
2921 } | 3079 } |
2922 addLast(element) { | 3080 addLast(element) { |
2923 dart.as(element, E); | 3081 dart.as(element, E); |
2924 this[_add](element); | 3082 this[_add](element); |
2925 } | 3083 } |
2926 addFirst(element) { | 3084 addFirst(element) { |
2927 dart.as(element, E); | 3085 dart.as(element, E); |
2928 this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table][
core.$length]) - 1; | 3086 this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table].
length) - 1; |
2929 this[_table][core.$set](this[_head], element); | 3087 this[_table][dartx.set](this[_head], element); |
2930 if (this[_head] == this[_tail]) | 3088 if (this[_head] == this[_tail]) |
2931 this[_grow](); | 3089 this[_grow](); |
2932 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 3090 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2933 } | 3091 } |
2934 removeFirst() { | 3092 removeFirst() { |
2935 if (this[_head] == this[_tail]) | 3093 if (this[_head] == this[_tail]) |
2936 throw _internal.IterableElementError.noElement(); | 3094 throw _internal.IterableElementError.noElement(); |
2937 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 3095 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2938 let result = this[_table][core.$get](this[_head]); | 3096 let result = this[_table][dartx.get](this[_head]); |
2939 this[_table][core.$set](this[_head], null); | 3097 this[_table][dartx.set](this[_head], null); |
2940 this[_head] = dart.notNull(this[_head]) + 1 & dart.notNull(this[_table][
core.$length]) - 1; | 3098 this[_head] = dart.notNull(this[_head]) + 1 & dart.notNull(this[_table].
length) - 1; |
2941 return result; | 3099 return result; |
2942 } | 3100 } |
2943 removeLast() { | 3101 removeLast() { |
2944 if (this[_head] == this[_tail]) | 3102 if (this[_head] == this[_tail]) |
2945 throw _internal.IterableElementError.noElement(); | 3103 throw _internal.IterableElementError.noElement(); |
2946 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 3104 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2947 this[_tail] = dart.notNull(this[_tail]) - 1 & dart.notNull(this[_table][
core.$length]) - 1; | 3105 this[_tail] = dart.notNull(this[_tail]) - 1 & dart.notNull(this[_table].
length) - 1; |
2948 let result = this[_table][core.$get](this[_tail]); | 3106 let result = this[_table][dartx.get](this[_tail]); |
2949 this[_table][core.$set](this[_tail], null); | 3107 this[_table][dartx.set](this[_tail], null); |
2950 return result; | 3108 return result; |
2951 } | 3109 } |
2952 static _isPowerOf2(number) { | 3110 static _isPowerOf2(number) { |
2953 return (dart.notNull(number) & dart.notNull(number) - 1) == 0; | 3111 return (dart.notNull(number) & dart.notNull(number) - 1) == 0; |
2954 } | 3112 } |
2955 static _nextPowerOf2(number) { | 3113 static _nextPowerOf2(number) { |
2956 dart.assert(dart.notNull(number) > 0); | 3114 dart.assert(dart.notNull(number) > 0); |
2957 number = (dart.notNull(number) << 1) - 1; | 3115 number = (dart.notNull(number) << 1) - 1; |
2958 for (;;) { | 3116 for (;;) { |
2959 let nextNumber = dart.notNull(number) & dart.notNull(number) - 1; | 3117 let nextNumber = dart.notNull(number) & dart.notNull(number) - 1; |
2960 if (nextNumber == 0) | 3118 if (nextNumber == 0) |
2961 return number; | 3119 return number; |
2962 number = nextNumber; | 3120 number = nextNumber; |
2963 } | 3121 } |
2964 } | 3122 } |
2965 [_checkModification](expectedModificationCount) { | 3123 [_checkModification](expectedModificationCount) { |
2966 if (expectedModificationCount != this[_modificationCount]) { | 3124 if (expectedModificationCount != this[_modificationCount]) { |
2967 throw new core.ConcurrentModificationError(this); | 3125 throw new core.ConcurrentModificationError(this); |
2968 } | 3126 } |
2969 } | 3127 } |
2970 [_add](element) { | 3128 [_add](element) { |
2971 dart.as(element, E); | 3129 dart.as(element, E); |
2972 this[_table][core.$set](this[_tail], element); | 3130 this[_table][dartx.set](this[_tail], element); |
2973 this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table][
core.$length]) - 1; | 3131 this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table].
length) - 1; |
2974 if (this[_head] == this[_tail]) | 3132 if (this[_head] == this[_tail]) |
2975 this[_grow](); | 3133 this[_grow](); |
2976 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 3134 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2977 } | 3135 } |
2978 [_remove](offset) { | 3136 [_remove](offset) { |
2979 let mask = dart.notNull(this[_table][core.$length]) - 1; | 3137 let mask = dart.notNull(this[_table].length) - 1; |
2980 let startDistance = dart.notNull(offset) - dart.notNull(this[_head]) & d
art.notNull(mask); | 3138 let startDistance = dart.notNull(offset) - dart.notNull(this[_head]) & d
art.notNull(mask); |
2981 let endDistance = dart.notNull(this[_tail]) - dart.notNull(offset) & dar
t.notNull(mask); | 3139 let endDistance = dart.notNull(this[_tail]) - dart.notNull(offset) & dar
t.notNull(mask); |
2982 if (dart.notNull(startDistance) < dart.notNull(endDistance)) { | 3140 if (dart.notNull(startDistance) < dart.notNull(endDistance)) { |
2983 let i = offset; | 3141 let i = offset; |
2984 while (i != this[_head]) { | 3142 while (i != this[_head]) { |
2985 let prevOffset = dart.notNull(i) - 1 & dart.notNull(mask); | 3143 let prevOffset = dart.notNull(i) - 1 & dart.notNull(mask); |
2986 this[_table][core.$set](i, this[_table][core.$get](prevOffset)); | 3144 this[_table][dartx.set](i, this[_table][dartx.get](prevOffset)); |
2987 i = prevOffset; | 3145 i = prevOffset; |
2988 } | 3146 } |
2989 this[_table][core.$set](this[_head], null); | 3147 this[_table][dartx.set](this[_head], null); |
2990 this[_head] = dart.notNull(this[_head]) + 1 & dart.notNull(mask); | 3148 this[_head] = dart.notNull(this[_head]) + 1 & dart.notNull(mask); |
2991 return dart.notNull(offset) + 1 & dart.notNull(mask); | 3149 return dart.notNull(offset) + 1 & dart.notNull(mask); |
2992 } else { | 3150 } else { |
2993 this[_tail] = dart.notNull(this[_tail]) - 1 & dart.notNull(mask); | 3151 this[_tail] = dart.notNull(this[_tail]) - 1 & dart.notNull(mask); |
2994 let i = offset; | 3152 let i = offset; |
2995 while (i != this[_tail]) { | 3153 while (i != this[_tail]) { |
2996 let nextOffset = dart.notNull(i) + 1 & dart.notNull(mask); | 3154 let nextOffset = dart.notNull(i) + 1 & dart.notNull(mask); |
2997 this[_table][core.$set](i, this[_table][core.$get](nextOffset)); | 3155 this[_table][dartx.set](i, this[_table][dartx.get](nextOffset)); |
2998 i = nextOffset; | 3156 i = nextOffset; |
2999 } | 3157 } |
3000 this[_table][core.$set](this[_tail], null); | 3158 this[_table][dartx.set](this[_tail], null); |
3001 return offset; | 3159 return offset; |
3002 } | 3160 } |
3003 } | 3161 } |
3004 [_grow]() { | 3162 [_grow]() { |
3005 let newTable = core.List$(E).new(dart.notNull(this[_table][core.$length]
) * 2); | 3163 let newTable = core.List$(E).new(dart.notNull(this[_table].length) * 2); |
3006 let split = dart.notNull(this[_table][core.$length]) - dart.notNull(this
[_head]); | 3164 let split = dart.notNull(this[_table].length) - dart.notNull(this[_head]
); |
3007 newTable[core.$setRange](0, split, this[_table], this[_head]); | 3165 newTable[dartx.setRange](0, split, this[_table], this[_head]); |
3008 newTable[core.$setRange](split, dart.notNull(split) + dart.notNull(this[
_head]), this[_table], 0); | 3166 newTable[dartx.setRange](split, dart.notNull(split) + dart.notNull(this[
_head]), this[_table], 0); |
3009 this[_head] = 0; | 3167 this[_head] = 0; |
3010 this[_tail] = this[_table][core.$length]; | 3168 this[_tail] = this[_table].length; |
3011 this[_table] = newTable; | 3169 this[_table] = newTable; |
3012 } | 3170 } |
3013 [_writeToList](target) { | 3171 [_writeToList](target) { |
3014 dart.as(target, core.List$(E)); | 3172 dart.as(target, core.List$(E)); |
3015 dart.assert(dart.notNull(target[core.$length]) >= dart.notNull(this[core
.$length])); | 3173 dart.assert(dart.notNull(target.length) >= dart.notNull(this.length)); |
3016 if (dart.notNull(this[_head]) <= dart.notNull(this[_tail])) { | 3174 if (dart.notNull(this[_head]) <= dart.notNull(this[_tail])) { |
3017 let length = dart.notNull(this[_tail]) - dart.notNull(this[_head]); | 3175 let length = dart.notNull(this[_tail]) - dart.notNull(this[_head]); |
3018 target[core.$setRange](0, length, this[_table], this[_head]); | 3176 target[dartx.setRange](0, length, this[_table], this[_head]); |
3019 return length; | 3177 return length; |
3020 } else { | 3178 } else { |
3021 let firstPartSize = dart.notNull(this[_table][core.$length]) - dart.no
tNull(this[_head]); | 3179 let firstPartSize = dart.notNull(this[_table].length) - dart.notNull(t
his[_head]); |
3022 target[core.$setRange](0, firstPartSize, this[_table], this[_head]); | 3180 target[dartx.setRange](0, firstPartSize, this[_table], this[_head]); |
3023 target[core.$setRange](firstPartSize, dart.notNull(firstPartSize) + da
rt.notNull(this[_tail]), this[_table], 0); | 3181 target[dartx.setRange](firstPartSize, dart.notNull(firstPartSize) + da
rt.notNull(this[_tail]), this[_table], 0); |
3024 return dart.notNull(this[_tail]) + dart.notNull(firstPartSize); | 3182 return dart.notNull(this[_tail]) + dart.notNull(firstPartSize); |
3025 } | 3183 } |
3026 } | 3184 } |
3027 [_preGrow](newElementCount) { | 3185 [_preGrow](newElementCount) { |
3028 dart.assert(dart.notNull(newElementCount) >= dart.notNull(this[core.$len
gth])); | 3186 dart.assert(dart.notNull(newElementCount) >= dart.notNull(this.length)); |
3029 newElementCount = dart.notNull(newElementCount) + (dart.notNull(newEleme
ntCount) >> 1); | 3187 newElementCount = dart.notNull(newElementCount) + (dart.notNull(newEleme
ntCount) >> 1); |
3030 let newCapacity = ListQueue$()._nextPowerOf2(newElementCount); | 3188 let newCapacity = ListQueue$()._nextPowerOf2(newElementCount); |
3031 let newTable = core.List$(E).new(newCapacity); | 3189 let newTable = core.List$(E).new(newCapacity); |
3032 this[_tail] = this[_writeToList](newTable); | 3190 this[_tail] = this[_writeToList](newTable); |
3033 this[_table] = newTable; | 3191 this[_table] = newTable; |
3034 this[_head] = 0; | 3192 this[_head] = 0; |
3035 } | 3193 } |
3036 } | 3194 } |
3037 ListQueue[dart.implements] = () => [Queue$(E)]; | 3195 ListQueue[dart.implements] = () => [Queue$(E)]; |
| 3196 dart.defineExtensionMembers(ListQueue, [ |
| 3197 'forEach', |
| 3198 'elementAt', |
| 3199 'toList', |
| 3200 'iterator', |
| 3201 'isEmpty', |
| 3202 'length', |
| 3203 'first', |
| 3204 'last', |
| 3205 'single' |
| 3206 ]); |
3038 dart.setSignature(ListQueue, { | 3207 dart.setSignature(ListQueue, { |
3039 constructors: () => ({ | 3208 constructors: () => ({ |
3040 ListQueue: [ListQueue$(E), [], [core.int]], | 3209 ListQueue: [ListQueue$(E), [], [core.int]], |
3041 from: [ListQueue$(E), [core.Iterable]] | 3210 from: [ListQueue$(E), [core.Iterable]] |
3042 }), | 3211 }), |
3043 methods: () => ({ | 3212 methods: () => ({ |
3044 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 3213 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
3045 [core.$elementAt]: [E, [core.int]], | 3214 elementAt: [E, [core.int]], |
3046 [core.$toList]: [core.List$(E), [], {growable: core.bool}], | 3215 toList: [core.List$(E), [], {growable: core.bool}], |
3047 add: [dart.void, [E]], | 3216 add: [dart.void, [E]], |
3048 addAll: [dart.void, [core.Iterable$(E)]], | 3217 addAll: [dart.void, [core.Iterable$(E)]], |
3049 remove: [core.bool, [core.Object]], | 3218 remove: [core.bool, [core.Object]], |
3050 [_filterWhere]: [dart.void, [dart.functionType(core.bool, [E]), core.boo
l]], | 3219 [_filterWhere]: [dart.void, [dart.functionType(core.bool, [E]), core.boo
l]], |
3051 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], | 3220 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
3052 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], | 3221 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
3053 clear: [dart.void, []], | 3222 clear: [dart.void, []], |
3054 addLast: [dart.void, [E]], | 3223 addLast: [dart.void, [E]], |
3055 addFirst: [dart.void, [E]], | 3224 addFirst: [dart.void, [E]], |
3056 removeFirst: [E, []], | 3225 removeFirst: [E, []], |
(...skipping 29 matching lines...) Expand all Loading... |
3086 } | 3255 } |
3087 get current() { | 3256 get current() { |
3088 return this[_current]; | 3257 return this[_current]; |
3089 } | 3258 } |
3090 moveNext() { | 3259 moveNext() { |
3091 this[_queue][_checkModification](this[_modificationCount]); | 3260 this[_queue][_checkModification](this[_modificationCount]); |
3092 if (this[_position] == this[_end]) { | 3261 if (this[_position] == this[_end]) { |
3093 this[_current] = null; | 3262 this[_current] = null; |
3094 return false; | 3263 return false; |
3095 } | 3264 } |
3096 this[_current] = dart.as(this[_queue][_table][core.$get](this[_position]
), E); | 3265 this[_current] = dart.as(this[_queue][_table][dartx.get](this[_position]
), E); |
3097 this[_position] = dart.notNull(this[_position]) + 1 & dart.notNull(this[
_queue][_table][core.$length]) - 1; | 3266 this[_position] = dart.notNull(this[_position]) + 1 & dart.notNull(this[
_queue][_table].length) - 1; |
3098 return true; | 3267 return true; |
3099 } | 3268 } |
3100 } | 3269 } |
3101 _ListQueueIterator[dart.implements] = () => [core.Iterator$(E)]; | 3270 _ListQueueIterator[dart.implements] = () => [core.Iterator$(E)]; |
3102 dart.setSignature(_ListQueueIterator, { | 3271 dart.setSignature(_ListQueueIterator, { |
3103 constructors: () => ({_ListQueueIterator: [_ListQueueIterator$(E), [ListQu
eue]]}), | 3272 constructors: () => ({_ListQueueIterator: [_ListQueueIterator$(E), [ListQu
eue]]}), |
3104 methods: () => ({moveNext: [core.bool, []]}) | 3273 methods: () => ({moveNext: [core.bool, []]}) |
3105 }); | 3274 }); |
3106 return _ListQueueIterator; | 3275 return _ListQueueIterator; |
3107 }); | 3276 }); |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3550 let SplayTreeMap = SplayTreeMap$(); | 3719 let SplayTreeMap = SplayTreeMap$(); |
3551 let _workList = Symbol('_workList'); | 3720 let _workList = Symbol('_workList'); |
3552 let _tree = Symbol('_tree'); | 3721 let _tree = Symbol('_tree'); |
3553 let _currentNode = Symbol('_currentNode'); | 3722 let _currentNode = Symbol('_currentNode'); |
3554 let _findLeftMostDescendent = Symbol('_findLeftMostDescendent'); | 3723 let _findLeftMostDescendent = Symbol('_findLeftMostDescendent'); |
3555 let _getValue = Symbol('_getValue'); | 3724 let _getValue = Symbol('_getValue'); |
3556 let _rebuildWorkList = Symbol('_rebuildWorkList'); | 3725 let _rebuildWorkList = Symbol('_rebuildWorkList'); |
3557 let _SplayTreeIterator$ = dart.generic(function(T) { | 3726 let _SplayTreeIterator$ = dart.generic(function(T) { |
3558 class _SplayTreeIterator extends core.Object { | 3727 class _SplayTreeIterator extends core.Object { |
3559 _SplayTreeIterator(tree) { | 3728 _SplayTreeIterator(tree) { |
3560 this[_workList] = dart.setType([], core.List$(_SplayTreeNode)); | 3729 this[_workList] = dart.list([], _SplayTreeNode); |
3561 this[_tree] = tree; | 3730 this[_tree] = tree; |
3562 this[_modificationCount] = tree[_modificationCount]; | 3731 this[_modificationCount] = tree[_modificationCount]; |
3563 this[_splayCount] = tree[_splayCount]; | 3732 this[_splayCount] = tree[_splayCount]; |
3564 this[_currentNode] = null; | 3733 this[_currentNode] = null; |
3565 this[_findLeftMostDescendent](tree[_root]); | 3734 this[_findLeftMostDescendent](tree[_root]); |
3566 } | 3735 } |
3567 startAt(tree, startKey) { | 3736 startAt(tree, startKey) { |
3568 this[_workList] = dart.setType([], core.List$(_SplayTreeNode)); | 3737 this[_workList] = dart.list([], _SplayTreeNode); |
3569 this[_tree] = tree; | 3738 this[_tree] = tree; |
3570 this[_modificationCount] = tree[_modificationCount]; | 3739 this[_modificationCount] = tree[_modificationCount]; |
3571 this[_splayCount] = null; | 3740 this[_splayCount] = null; |
3572 this[_currentNode] = null; | 3741 this[_currentNode] = null; |
3573 if (tree[_root] == null) | 3742 if (tree[_root] == null) |
3574 return; | 3743 return; |
3575 let compare = tree[_splay](startKey); | 3744 let compare = tree[_splay](startKey); |
3576 this[_splayCount] = tree[_splayCount]; | 3745 this[_splayCount] = tree[_splayCount]; |
3577 if (dart.notNull(compare) < 0) { | 3746 if (dart.notNull(compare) < 0) { |
3578 this[_findLeftMostDescendent](tree[_root].right); | 3747 this[_findLeftMostDescendent](tree[_root].right); |
3579 } else { | 3748 } else { |
3580 this[_workList][core.$add](tree[_root]); | 3749 this[_workList][dartx.add](tree[_root]); |
3581 } | 3750 } |
3582 } | 3751 } |
3583 get current() { | 3752 get current() { |
3584 if (this[_currentNode] == null) | 3753 if (this[_currentNode] == null) |
3585 return null; | 3754 return null; |
3586 return this[_getValue](dart.as(this[_currentNode], _SplayTreeMapNode)); | 3755 return this[_getValue](dart.as(this[_currentNode], _SplayTreeMapNode)); |
3587 } | 3756 } |
3588 [_findLeftMostDescendent](node) { | 3757 [_findLeftMostDescendent](node) { |
3589 while (node != null) { | 3758 while (node != null) { |
3590 this[_workList][core.$add](node); | 3759 this[_workList][dartx.add](node); |
3591 node = node.left; | 3760 node = node.left; |
3592 } | 3761 } |
3593 } | 3762 } |
3594 [_rebuildWorkList](currentNode) { | 3763 [_rebuildWorkList](currentNode) { |
3595 dart.assert(!dart.notNull(this[_workList][core.$isEmpty])); | 3764 dart.assert(!dart.notNull(this[_workList][dartx.isEmpty])); |
3596 this[_workList][core.$clear](); | 3765 this[_workList][dartx.clear](); |
3597 if (currentNode == null) { | 3766 if (currentNode == null) { |
3598 this[_findLeftMostDescendent](this[_tree][_root]); | 3767 this[_findLeftMostDescendent](this[_tree][_root]); |
3599 } else { | 3768 } else { |
3600 this[_tree][_splay](currentNode.key); | 3769 this[_tree][_splay](currentNode.key); |
3601 this[_findLeftMostDescendent](this[_tree][_root].right); | 3770 this[_findLeftMostDescendent](this[_tree][_root].right); |
3602 dart.assert(!dart.notNull(this[_workList][core.$isEmpty])); | 3771 dart.assert(!dart.notNull(this[_workList][dartx.isEmpty])); |
3603 } | 3772 } |
3604 } | 3773 } |
3605 moveNext() { | 3774 moveNext() { |
3606 if (this[_modificationCount] != this[_tree][_modificationCount]) { | 3775 if (this[_modificationCount] != this[_tree][_modificationCount]) { |
3607 throw new core.ConcurrentModificationError(this[_tree]); | 3776 throw new core.ConcurrentModificationError(this[_tree]); |
3608 } | 3777 } |
3609 if (this[_workList][core.$isEmpty]) { | 3778 if (this[_workList][dartx.isEmpty]) { |
3610 this[_currentNode] = null; | 3779 this[_currentNode] = null; |
3611 return false; | 3780 return false; |
3612 } | 3781 } |
3613 if (this[_tree][_splayCount] != this[_splayCount] && dart.notNull(this[_
currentNode] != null)) { | 3782 if (this[_tree][_splayCount] != this[_splayCount] && dart.notNull(this[_
currentNode] != null)) { |
3614 this[_rebuildWorkList](this[_currentNode]); | 3783 this[_rebuildWorkList](this[_currentNode]); |
3615 } | 3784 } |
3616 this[_currentNode] = this[_workList][core.$removeLast](); | 3785 this[_currentNode] = this[_workList][dartx.removeLast](); |
3617 this[_findLeftMostDescendent](this[_currentNode].right); | 3786 this[_findLeftMostDescendent](this[_currentNode].right); |
3618 return true; | 3787 return true; |
3619 } | 3788 } |
3620 } | 3789 } |
3621 _SplayTreeIterator[dart.implements] = () => [core.Iterator$(T)]; | 3790 _SplayTreeIterator[dart.implements] = () => [core.Iterator$(T)]; |
3622 dart.defineNamedConstructor(_SplayTreeIterator, 'startAt'); | 3791 dart.defineNamedConstructor(_SplayTreeIterator, 'startAt'); |
3623 dart.setSignature(_SplayTreeIterator, { | 3792 dart.setSignature(_SplayTreeIterator, { |
3624 constructors: () => ({ | 3793 constructors: () => ({ |
3625 _SplayTreeIterator: [_SplayTreeIterator$(T), [_SplayTree]], | 3794 _SplayTreeIterator: [_SplayTreeIterator$(T), [_SplayTree]], |
3626 startAt: [_SplayTreeIterator$(T), [_SplayTree, core.Object]] | 3795 startAt: [_SplayTreeIterator$(T), [_SplayTree, core.Object]] |
3627 }), | 3796 }), |
3628 methods: () => ({ | 3797 methods: () => ({ |
3629 [_findLeftMostDescendent]: [dart.void, [_SplayTreeNode]], | 3798 [_findLeftMostDescendent]: [dart.void, [_SplayTreeNode]], |
3630 [_rebuildWorkList]: [dart.void, [_SplayTreeNode]], | 3799 [_rebuildWorkList]: [dart.void, [_SplayTreeNode]], |
3631 moveNext: [core.bool, []] | 3800 moveNext: [core.bool, []] |
3632 }) | 3801 }) |
3633 }); | 3802 }); |
3634 return _SplayTreeIterator; | 3803 return _SplayTreeIterator; |
3635 }); | 3804 }); |
3636 let _SplayTreeIterator = _SplayTreeIterator$(); | 3805 let _SplayTreeIterator = _SplayTreeIterator$(); |
3637 let _copyNode = Symbol('_copyNode'); | 3806 let _copyNode = Symbol('_copyNode'); |
3638 let _SplayTreeKeyIterable$ = dart.generic(function(K) { | 3807 let _SplayTreeKeyIterable$ = dart.generic(function(K) { |
3639 class _SplayTreeKeyIterable extends IterableBase$(K) { | 3808 class _SplayTreeKeyIterable extends IterableBase$(K) { |
3640 _SplayTreeKeyIterable(tree) { | 3809 _SplayTreeKeyIterable(tree) { |
3641 this[_tree] = tree; | 3810 this[_tree] = tree; |
3642 super.IterableBase(); | 3811 super.IterableBase(); |
3643 } | 3812 } |
3644 get [core.$length]() { | 3813 get length() { |
3645 return this[_tree][_count]; | 3814 return this[_tree][_count]; |
3646 } | 3815 } |
3647 get [core.$isEmpty]() { | 3816 get isEmpty() { |
3648 return this[_tree][_count] == 0; | 3817 return this[_tree][_count] == 0; |
3649 } | 3818 } |
3650 get [core.$iterator]() { | 3819 get iterator() { |
3651 return new (_SplayTreeKeyIterator$(K))(this[_tree]); | 3820 return new (_SplayTreeKeyIterator$(K))(this[_tree]); |
3652 } | 3821 } |
3653 [core.$toSet]() { | 3822 toSet() { |
3654 let setOrMap = this[_tree]; | 3823 let setOrMap = this[_tree]; |
3655 let set = new (SplayTreeSet$(K))(dart.as(setOrMap[_comparator], __CastTy
pe0), dart.as(setOrMap[_validKey], __CastType3)); | 3824 let set = new (SplayTreeSet$(K))(dart.as(setOrMap[_comparator], __CastTy
pe0), dart.as(setOrMap[_validKey], __CastType3)); |
3656 set[_count] = this[_tree][_count]; | 3825 set[_count] = this[_tree][_count]; |
3657 set[_root] = set[_copyNode](this[_tree][_root]); | 3826 set[_root] = set[_copyNode](this[_tree][_root]); |
3658 return set; | 3827 return set; |
3659 } | 3828 } |
3660 } | 3829 } |
3661 _SplayTreeKeyIterable[dart.implements] = () => [_internal.EfficientLength]; | 3830 _SplayTreeKeyIterable[dart.implements] = () => [_internal.EfficientLength]; |
| 3831 dart.defineExtensionMembers(_SplayTreeKeyIterable, ['toSet', 'length', 'isEm
pty', 'iterator']); |
3662 dart.setSignature(_SplayTreeKeyIterable, { | 3832 dart.setSignature(_SplayTreeKeyIterable, { |
3663 constructors: () => ({_SplayTreeKeyIterable: [_SplayTreeKeyIterable$(K), [
_SplayTree$(K)]]}), | 3833 constructors: () => ({_SplayTreeKeyIterable: [_SplayTreeKeyIterable$(K), [
_SplayTree$(K)]]}), |
3664 methods: () => ({[core.$toSet]: [core.Set$(K), []]}) | 3834 methods: () => ({toSet: [core.Set$(K), []]}) |
3665 }); | 3835 }); |
3666 return _SplayTreeKeyIterable; | 3836 return _SplayTreeKeyIterable; |
3667 }); | 3837 }); |
3668 let _SplayTreeKeyIterable = _SplayTreeKeyIterable$(); | 3838 let _SplayTreeKeyIterable = _SplayTreeKeyIterable$(); |
3669 let _SplayTreeValueIterable$ = dart.generic(function(K, V) { | 3839 let _SplayTreeValueIterable$ = dart.generic(function(K, V) { |
3670 class _SplayTreeValueIterable extends IterableBase$(V) { | 3840 class _SplayTreeValueIterable extends IterableBase$(V) { |
3671 _SplayTreeValueIterable(map) { | 3841 _SplayTreeValueIterable(map) { |
3672 this[_map] = map; | 3842 this[_map] = map; |
3673 super.IterableBase(); | 3843 super.IterableBase(); |
3674 } | 3844 } |
3675 get [core.$length]() { | 3845 get length() { |
3676 return this[_map][_count]; | 3846 return this[_map][_count]; |
3677 } | 3847 } |
3678 get [core.$isEmpty]() { | 3848 get isEmpty() { |
3679 return this[_map][_count] == 0; | 3849 return this[_map][_count] == 0; |
3680 } | 3850 } |
3681 get [core.$iterator]() { | 3851 get iterator() { |
3682 return new (_SplayTreeValueIterator$(K, V))(this[_map]); | 3852 return new (_SplayTreeValueIterator$(K, V))(this[_map]); |
3683 } | 3853 } |
3684 } | 3854 } |
3685 _SplayTreeValueIterable[dart.implements] = () => [_internal.EfficientLength]
; | 3855 _SplayTreeValueIterable[dart.implements] = () => [_internal.EfficientLength]
; |
| 3856 dart.defineExtensionMembers(_SplayTreeValueIterable, ['length', 'isEmpty', '
iterator']); |
3686 dart.setSignature(_SplayTreeValueIterable, { | 3857 dart.setSignature(_SplayTreeValueIterable, { |
3687 constructors: () => ({_SplayTreeValueIterable: [_SplayTreeValueIterable$(K
, V), [SplayTreeMap$(K, V)]]}) | 3858 constructors: () => ({_SplayTreeValueIterable: [_SplayTreeValueIterable$(K
, V), [SplayTreeMap$(K, V)]]}) |
3688 }); | 3859 }); |
3689 return _SplayTreeValueIterable; | 3860 return _SplayTreeValueIterable; |
3690 }); | 3861 }); |
3691 let _SplayTreeValueIterable = _SplayTreeValueIterable$(); | 3862 let _SplayTreeValueIterable = _SplayTreeValueIterable$(); |
3692 let _SplayTreeKeyIterator$ = dart.generic(function(K) { | 3863 let _SplayTreeKeyIterator$ = dart.generic(function(K) { |
3693 class _SplayTreeKeyIterator extends _SplayTreeIterator$(K) { | 3864 class _SplayTreeKeyIterator extends _SplayTreeIterator$(K) { |
3694 _SplayTreeKeyIterator(map) { | 3865 _SplayTreeKeyIterator(map) { |
3695 super._SplayTreeIterator(map); | 3866 super._SplayTreeIterator(map); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3765 for (let element of dart.as(elements, core.Iterable$(E))) { | 3936 for (let element of dart.as(elements, core.Iterable$(E))) { |
3766 result.add(element); | 3937 result.add(element); |
3767 } | 3938 } |
3768 return result; | 3939 return result; |
3769 } | 3940 } |
3770 [_compare](e1, e2) { | 3941 [_compare](e1, e2) { |
3771 dart.as(e1, E); | 3942 dart.as(e1, E); |
3772 dart.as(e2, E); | 3943 dart.as(e2, E); |
3773 return this[_comparator](e1, e2); | 3944 return this[_comparator](e1, e2); |
3774 } | 3945 } |
3775 get [core.$iterator]() { | 3946 get iterator() { |
3776 return new (_SplayTreeKeyIterator$(E))(this); | 3947 return new (_SplayTreeKeyIterator$(E))(this); |
3777 } | 3948 } |
3778 get [core.$length]() { | 3949 get length() { |
3779 return this[_count]; | 3950 return this[_count]; |
3780 } | 3951 } |
3781 get [core.$isEmpty]() { | 3952 get isEmpty() { |
3782 return this[_root] == null; | 3953 return this[_root] == null; |
3783 } | 3954 } |
3784 get [core.$isNotEmpty]() { | 3955 get isNotEmpty() { |
3785 return this[_root] != null; | 3956 return this[_root] != null; |
3786 } | 3957 } |
3787 get [core.$first]() { | 3958 get first() { |
3788 if (this[_count] == 0) | 3959 if (this[_count] == 0) |
3789 throw _internal.IterableElementError.noElement(); | 3960 throw _internal.IterableElementError.noElement(); |
3790 return dart.as(this[_first].key, E); | 3961 return dart.as(this[_first].key, E); |
3791 } | 3962 } |
3792 get [core.$last]() { | 3963 get last() { |
3793 if (this[_count] == 0) | 3964 if (this[_count] == 0) |
3794 throw _internal.IterableElementError.noElement(); | 3965 throw _internal.IterableElementError.noElement(); |
3795 return dart.as(this[_last].key, E); | 3966 return dart.as(this[_last].key, E); |
3796 } | 3967 } |
3797 get [core.$single]() { | 3968 get single() { |
3798 if (this[_count] == 0) | 3969 if (this[_count] == 0) |
3799 throw _internal.IterableElementError.noElement(); | 3970 throw _internal.IterableElementError.noElement(); |
3800 if (dart.notNull(this[_count]) > 1) | 3971 if (dart.notNull(this[_count]) > 1) |
3801 throw _internal.IterableElementError.tooMany(); | 3972 throw _internal.IterableElementError.tooMany(); |
3802 return this[_root].key; | 3973 return this[_root].key; |
3803 } | 3974 } |
3804 [core.$contains](object) { | 3975 contains(object) { |
3805 return dart.notNull(this[_validKey](object)) && this[_splay](dart.as(obj
ect, E)) == 0; | 3976 return dart.notNull(this[_validKey](object)) && this[_splay](dart.as(obj
ect, E)) == 0; |
3806 } | 3977 } |
3807 add(element) { | 3978 add(element) { |
3808 dart.as(element, E); | 3979 dart.as(element, E); |
3809 let compare = this[_splay](element); | 3980 let compare = this[_splay](element); |
3810 if (compare == 0) | 3981 if (compare == 0) |
3811 return false; | 3982 return false; |
3812 this[_addNewRoot](new (_SplayTreeNode$(E))(element), compare); | 3983 this[_addNewRoot](new (_SplayTreeNode$(E))(element), compare); |
3813 return true; | 3984 return true; |
3814 } | 3985 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3852 if (!dart.notNull(this[_validKey](object))) | 4023 if (!dart.notNull(this[_validKey](object))) |
3853 return null; | 4024 return null; |
3854 let comp = this[_splay](dart.as(object, E)); | 4025 let comp = this[_splay](dart.as(object, E)); |
3855 if (comp != 0) | 4026 if (comp != 0) |
3856 return null; | 4027 return null; |
3857 return this[_root].key; | 4028 return this[_root].key; |
3858 } | 4029 } |
3859 intersection(other) { | 4030 intersection(other) { |
3860 let result = new (SplayTreeSet$(E))(this[_comparator], this[_validKey]); | 4031 let result = new (SplayTreeSet$(E))(this[_comparator], this[_validKey]); |
3861 for (let element of this) { | 4032 for (let element of this) { |
3862 if (other[core.$contains](element)) | 4033 if (other.contains(element)) |
3863 result.add(element); | 4034 result.add(element); |
3864 } | 4035 } |
3865 return result; | 4036 return result; |
3866 } | 4037 } |
3867 difference(other) { | 4038 difference(other) { |
3868 let result = new (SplayTreeSet$(E))(this[_comparator], this[_validKey]); | 4039 let result = new (SplayTreeSet$(E))(this[_comparator], this[_validKey]); |
3869 for (let element of this) { | 4040 for (let element of this) { |
3870 if (!dart.notNull(other[core.$contains](element))) | 4041 if (!dart.notNull(other.contains(element))) |
3871 result.add(element); | 4042 result.add(element); |
3872 } | 4043 } |
3873 return result; | 4044 return result; |
3874 } | 4045 } |
3875 union(other) { | 4046 union(other) { |
3876 dart.as(other, core.Set$(E)); | 4047 dart.as(other, core.Set$(E)); |
3877 let _ = this[_clone](); | 4048 let _ = this[_clone](); |
3878 _.addAll(other); | 4049 _.addAll(other); |
3879 return _; | 4050 return _; |
3880 } | 4051 } |
3881 [_clone]() { | 4052 [_clone]() { |
3882 let set = new (SplayTreeSet$(E))(this[_comparator], this[_validKey]); | 4053 let set = new (SplayTreeSet$(E))(this[_comparator], this[_validKey]); |
3883 set[_count] = this[_count]; | 4054 set[_count] = this[_count]; |
3884 set[_root] = this[_copyNode](this[_root]); | 4055 set[_root] = this[_copyNode](this[_root]); |
3885 return set; | 4056 return set; |
3886 } | 4057 } |
3887 [_copyNode](node) { | 4058 [_copyNode](node) { |
3888 dart.as(node, _SplayTreeNode$(E)); | 4059 dart.as(node, _SplayTreeNode$(E)); |
3889 if (node == null) | 4060 if (node == null) |
3890 return null; | 4061 return null; |
3891 let _ = new (_SplayTreeNode$(E))(node.key); | 4062 let _ = new (_SplayTreeNode$(E))(node.key); |
3892 _.left = this[_copyNode](node.left); | 4063 _.left = this[_copyNode](node.left); |
3893 _.right = this[_copyNode](node.right); | 4064 _.right = this[_copyNode](node.right); |
3894 return _; | 4065 return _; |
3895 } | 4066 } |
3896 clear() { | 4067 clear() { |
3897 this[_clear](); | 4068 this[_clear](); |
3898 } | 4069 } |
3899 [core.$toSet]() { | 4070 toSet() { |
3900 return this[_clone](); | 4071 return this[_clone](); |
3901 } | 4072 } |
3902 toString() { | 4073 toString() { |
3903 return IterableBase.iterableToFullString(this, '{', '}'); | 4074 return IterableBase.iterableToFullString(this, '{', '}'); |
3904 } | 4075 } |
3905 } | 4076 } |
3906 dart.setSignature(SplayTreeSet, { | 4077 dart.setSignature(SplayTreeSet, { |
3907 constructors: () => ({ | 4078 constructors: () => ({ |
3908 SplayTreeSet: [SplayTreeSet$(E), [], [dart.functionType(core.int, [E, E]
), dart.functionType(core.bool, [core.Object])]], | 4079 SplayTreeSet: [SplayTreeSet$(E), [], [dart.functionType(core.int, [E, E]
), dart.functionType(core.bool, [core.Object])]], |
3909 from: [SplayTreeSet$(E), [core.Iterable], [dart.functionType(core.int, [
E, E]), dart.functionType(core.bool, [core.Object])]] | 4080 from: [SplayTreeSet$(E), [core.Iterable], [dart.functionType(core.int, [
E, E]), dart.functionType(core.bool, [core.Object])]] |
3910 }), | 4081 }), |
3911 methods: () => ({ | 4082 methods: () => ({ |
3912 [_compare]: [core.int, [E, E]], | 4083 [_compare]: [core.int, [E, E]], |
3913 [core.$contains]: [core.bool, [core.Object]], | 4084 contains: [core.bool, [core.Object]], |
3914 add: [core.bool, [E]], | 4085 add: [core.bool, [E]], |
3915 remove: [core.bool, [core.Object]], | 4086 remove: [core.bool, [core.Object]], |
3916 addAll: [dart.void, [core.Iterable$(E)]], | 4087 addAll: [dart.void, [core.Iterable$(E)]], |
3917 lookup: [E, [core.Object]], | 4088 lookup: [E, [core.Object]], |
3918 intersection: [core.Set$(E), [core.Set$(core.Object)]], | 4089 intersection: [core.Set$(E), [core.Set$(core.Object)]], |
3919 difference: [core.Set$(E), [core.Set$(core.Object)]], | 4090 difference: [core.Set$(E), [core.Set$(core.Object)]], |
3920 union: [core.Set$(E), [core.Set$(E)]], | 4091 union: [core.Set$(E), [core.Set$(E)]], |
3921 [_clone]: [SplayTreeSet$(E), []], | 4092 [_clone]: [SplayTreeSet$(E), []], |
3922 [_copyNode]: [_SplayTreeNode$(E), [_SplayTreeNode$(E)]], | 4093 [_copyNode]: [_SplayTreeNode$(E), [_SplayTreeNode$(E)]], |
3923 [core.$toSet]: [core.Set$(E), []] | 4094 toSet: [core.Set$(E), []] |
3924 }) | 4095 }) |
3925 }); | 4096 }); |
3926 return SplayTreeSet; | 4097 return SplayTreeSet; |
3927 }); | 4098 }); |
3928 let SplayTreeSet = SplayTreeSet$(); | 4099 let SplayTreeSet = SplayTreeSet$(); |
3929 let __CastType0$ = dart.generic(function(K) { | 4100 let __CastType0$ = dart.generic(function(K) { |
3930 let __CastType0 = dart.typedef('__CastType0', () => dart.functionType(core.i
nt, [K, K])); | 4101 let __CastType0 = dart.typedef('__CastType0', () => dart.functionType(core.i
nt, [K, K])); |
3931 return __CastType0; | 4102 return __CastType0; |
3932 }); | 4103 }); |
3933 let __CastType0 = __CastType0$(); | 4104 let __CastType0 = __CastType0$(); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3980 } | 4151 } |
3981 } | 4152 } |
3982 [_containsKey](key) { | 4153 [_containsKey](key) { |
3983 let rest = this[_rest]; | 4154 let rest = this[_rest]; |
3984 if (rest == null) | 4155 if (rest == null) |
3985 return false; | 4156 return false; |
3986 let bucket = this[_getBucket](rest, key); | 4157 let bucket = this[_getBucket](rest, key); |
3987 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; | 4158 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; |
3988 } | 4159 } |
3989 containsValue(value) { | 4160 containsValue(value) { |
3990 return this[_computeKeys]()[core.$any](dart.fn(each => dart.equals(this.
get(each), value), core.bool, [core.Object])); | 4161 return this[_computeKeys]()[dartx.any](dart.fn(each => dart.equals(this.
get(each), value), core.bool, [core.Object])); |
3991 } | 4162 } |
3992 addAll(other) { | 4163 addAll(other) { |
3993 dart.as(other, core.Map$(K, V)); | 4164 dart.as(other, core.Map$(K, V)); |
3994 other.forEach(dart.fn((key, value) => { | 4165 other.forEach(dart.fn((key, value) => { |
3995 dart.as(key, K); | 4166 dart.as(key, K); |
3996 dart.as(value, V); | 4167 dart.as(value, V); |
3997 this.set(key, value); | 4168 this.set(key, value); |
3998 }, core.Object, [K, V])); | 4169 }, core.Object, [K, V])); |
3999 } | 4170 } |
4000 get(key) { | 4171 get(key) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4088 } | 4259 } |
4089 clear() { | 4260 clear() { |
4090 if (dart.notNull(this[_length]) > 0) { | 4261 if (dart.notNull(this[_length]) > 0) { |
4091 this[_strings] = this[_nums] = this[_rest] = this[_keys] = null; | 4262 this[_strings] = this[_nums] = this[_rest] = this[_keys] = null; |
4092 this[_length] = 0; | 4263 this[_length] = 0; |
4093 } | 4264 } |
4094 } | 4265 } |
4095 forEach(action) { | 4266 forEach(action) { |
4096 dart.as(action, dart.functionType(dart.void, [K, V])); | 4267 dart.as(action, dart.functionType(dart.void, [K, V])); |
4097 let keys = this[_computeKeys](); | 4268 let keys = this[_computeKeys](); |
4098 for (let i = 0, length = keys[core.$length]; dart.notNull(i) < dart.notN
ull(length); i = dart.notNull(i) + 1) { | 4269 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); i = dart.notNull(i) + 1) { |
4099 let key = keys[i]; | 4270 let key = keys[i]; |
4100 action(dart.as(key, K), this.get(key)); | 4271 action(dart.as(key, K), this.get(key)); |
4101 if (keys !== this[_keys]) { | 4272 if (keys !== this[_keys]) { |
4102 throw new core.ConcurrentModificationError(this); | 4273 throw new core.ConcurrentModificationError(this); |
4103 } | 4274 } |
4104 } | 4275 } |
4105 } | 4276 } |
4106 [_computeKeys]() { | 4277 [_computeKeys]() { |
4107 if (this[_keys] != null) | 4278 if (this[_keys] != null) |
4108 return this[_keys]; | 4279 return this[_keys]; |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4332 }); | 4503 }); |
4333 return _CustomHashMap; | 4504 return _CustomHashMap; |
4334 }); | 4505 }); |
4335 let _CustomHashMap = _CustomHashMap$(); | 4506 let _CustomHashMap = _CustomHashMap$(); |
4336 let HashMapKeyIterable$ = dart.generic(function(E) { | 4507 let HashMapKeyIterable$ = dart.generic(function(E) { |
4337 class HashMapKeyIterable extends IterableBase$(E) { | 4508 class HashMapKeyIterable extends IterableBase$(E) { |
4338 HashMapKeyIterable(map) { | 4509 HashMapKeyIterable(map) { |
4339 this[_map] = map; | 4510 this[_map] = map; |
4340 super.IterableBase(); | 4511 super.IterableBase(); |
4341 } | 4512 } |
4342 get [core.$length]() { | 4513 get length() { |
4343 return dart.as(dart.dload(this[_map], _length), core.int); | 4514 return dart.as(dart.dload(this[_map], _length), core.int); |
4344 } | 4515 } |
4345 get [core.$isEmpty]() { | 4516 get isEmpty() { |
4346 return dart.equals(dart.dload(this[_map], _length), 0); | 4517 return dart.equals(dart.dload(this[_map], _length), 0); |
4347 } | 4518 } |
4348 get [core.$iterator]() { | 4519 get iterator() { |
4349 return new (HashMapKeyIterator$(E))(this[_map], dart.as(dart.dsend(this[
_map], _computeKeys), core.List)); | 4520 return new (HashMapKeyIterator$(E))(this[_map], dart.as(dart.dsend(this[
_map], _computeKeys), core.List)); |
4350 } | 4521 } |
4351 [core.$contains](element) { | 4522 contains(element) { |
4352 return dart.as(dart.dsend(this[_map], 'containsKey', element), core.bool
); | 4523 return dart.as(dart.dsend(this[_map], 'containsKey', element), core.bool
); |
4353 } | 4524 } |
4354 [core.$forEach](f) { | 4525 forEach(f) { |
4355 dart.as(f, dart.functionType(dart.void, [E])); | 4526 dart.as(f, dart.functionType(dart.void, [E])); |
4356 let keys = dart.as(dart.dsend(this[_map], _computeKeys), core.List); | 4527 let keys = dart.as(dart.dsend(this[_map], _computeKeys), core.List); |
4357 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); i = dart.notNull(i) + 1) { | 4528 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); i = dart.notNull(i) + 1) { |
4358 f(dart.as(keys[i], E)); | 4529 f(dart.as(keys[i], E)); |
4359 if (keys !== dart.dload(this[_map], _keys)) { | 4530 if (keys !== dart.dload(this[_map], _keys)) { |
4360 throw new core.ConcurrentModificationError(this[_map]); | 4531 throw new core.ConcurrentModificationError(this[_map]); |
4361 } | 4532 } |
4362 } | 4533 } |
4363 } | 4534 } |
4364 } | 4535 } |
4365 HashMapKeyIterable[dart.implements] = () => [_internal.EfficientLength]; | 4536 HashMapKeyIterable[dart.implements] = () => [_internal.EfficientLength]; |
| 4537 dart.defineExtensionMembers(HashMapKeyIterable, [ |
| 4538 'contains', |
| 4539 'forEach', |
| 4540 'length', |
| 4541 'isEmpty', |
| 4542 'iterator' |
| 4543 ]); |
4366 dart.setSignature(HashMapKeyIterable, { | 4544 dart.setSignature(HashMapKeyIterable, { |
4367 constructors: () => ({HashMapKeyIterable: [HashMapKeyIterable$(E), [core.O
bject]]}), | 4545 constructors: () => ({HashMapKeyIterable: [HashMapKeyIterable$(E), [core.O
bject]]}), |
4368 methods: () => ({[core.$forEach]: [dart.void, [dart.functionType(dart.void
, [E])]]}) | 4546 methods: () => ({forEach: [dart.void, [dart.functionType(dart.void, [E])]]
}) |
4369 }); | 4547 }); |
4370 return HashMapKeyIterable; | 4548 return HashMapKeyIterable; |
4371 }); | 4549 }); |
4372 let HashMapKeyIterable = HashMapKeyIterable$(); | 4550 let HashMapKeyIterable = HashMapKeyIterable$(); |
4373 let _offset = Symbol('_offset'); | 4551 let _offset = Symbol('_offset'); |
4374 let HashMapKeyIterator$ = dart.generic(function(E) { | 4552 let HashMapKeyIterator$ = dart.generic(function(E) { |
4375 class HashMapKeyIterator extends core.Object { | 4553 class HashMapKeyIterator extends core.Object { |
4376 HashMapKeyIterator(map, keys) { | 4554 HashMapKeyIterator(map, keys) { |
4377 this[_map] = map; | 4555 this[_map] = map; |
4378 this[_keys] = keys; | 4556 this[_keys] = keys; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4455 } | 4633 } |
4456 } | 4634 } |
4457 [_containsKey](key) { | 4635 [_containsKey](key) { |
4458 let rest = this[_rest]; | 4636 let rest = this[_rest]; |
4459 if (rest == null) | 4637 if (rest == null) |
4460 return false; | 4638 return false; |
4461 let bucket = this[_getBucket](rest, key); | 4639 let bucket = this[_getBucket](rest, key); |
4462 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; | 4640 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; |
4463 } | 4641 } |
4464 containsValue(value) { | 4642 containsValue(value) { |
4465 return this.keys[core.$any](dart.fn(each => dart.equals(this.get(each),
value), core.bool, [core.Object])); | 4643 return this.keys[dartx.any](dart.fn(each => dart.equals(this.get(each),
value), core.bool, [core.Object])); |
4466 } | 4644 } |
4467 addAll(other) { | 4645 addAll(other) { |
4468 dart.as(other, core.Map$(K, V)); | 4646 dart.as(other, core.Map$(K, V)); |
4469 other.forEach(dart.fn((key, value) => { | 4647 other.forEach(dart.fn((key, value) => { |
4470 dart.as(key, K); | 4648 dart.as(key, K); |
4471 dart.as(value, V); | 4649 dart.as(value, V); |
4472 this.set(key, value); | 4650 this.set(key, value); |
4473 }, core.Object, [K, V])); | 4651 }, core.Object, [K, V])); |
4474 } | 4652 } |
4475 get(key) { | 4653 get(key) { |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4815 } | 4993 } |
4816 dart.setSignature(LinkedHashMapCell, { | 4994 dart.setSignature(LinkedHashMapCell, { |
4817 constructors: () => ({LinkedHashMapCell: [LinkedHashMapCell, [core.Object, c
ore.Object]]}) | 4995 constructors: () => ({LinkedHashMapCell: [LinkedHashMapCell, [core.Object, c
ore.Object]]}) |
4818 }); | 4996 }); |
4819 let LinkedHashMapKeyIterable$ = dart.generic(function(E) { | 4997 let LinkedHashMapKeyIterable$ = dart.generic(function(E) { |
4820 class LinkedHashMapKeyIterable extends IterableBase$(E) { | 4998 class LinkedHashMapKeyIterable extends IterableBase$(E) { |
4821 LinkedHashMapKeyIterable(map) { | 4999 LinkedHashMapKeyIterable(map) { |
4822 this[_map] = map; | 5000 this[_map] = map; |
4823 super.IterableBase(); | 5001 super.IterableBase(); |
4824 } | 5002 } |
4825 get [core.$length]() { | 5003 get length() { |
4826 return dart.as(dart.dload(this[_map], _length), core.int); | 5004 return dart.as(dart.dload(this[_map], _length), core.int); |
4827 } | 5005 } |
4828 get [core.$isEmpty]() { | 5006 get isEmpty() { |
4829 return dart.equals(dart.dload(this[_map], _length), 0); | 5007 return dart.equals(dart.dload(this[_map], _length), 0); |
4830 } | 5008 } |
4831 get [core.$iterator]() { | 5009 get iterator() { |
4832 return new (LinkedHashMapKeyIterator$(E))(this[_map], dart.as(dart.dload
(this[_map], _modifications), core.int)); | 5010 return new (LinkedHashMapKeyIterator$(E))(this[_map], dart.as(dart.dload
(this[_map], _modifications), core.int)); |
4833 } | 5011 } |
4834 [core.$contains](element) { | 5012 contains(element) { |
4835 return dart.as(dart.dsend(this[_map], 'containsKey', element), core.bool
); | 5013 return dart.as(dart.dsend(this[_map], 'containsKey', element), core.bool
); |
4836 } | 5014 } |
4837 [core.$forEach](f) { | 5015 forEach(f) { |
4838 dart.as(f, dart.functionType(dart.void, [E])); | 5016 dart.as(f, dart.functionType(dart.void, [E])); |
4839 let cell = dart.as(dart.dload(this[_map], _first), LinkedHashMapCell); | 5017 let cell = dart.as(dart.dload(this[_map], _first), LinkedHashMapCell); |
4840 let modifications = dart.as(dart.dload(this[_map], _modifications), core
.int); | 5018 let modifications = dart.as(dart.dload(this[_map], _modifications), core
.int); |
4841 while (cell != null) { | 5019 while (cell != null) { |
4842 f(dart.as(cell[_key], E)); | 5020 f(dart.as(cell[_key], E)); |
4843 if (!dart.equals(modifications, dart.dload(this[_map], _modifications)
)) { | 5021 if (!dart.equals(modifications, dart.dload(this[_map], _modifications)
)) { |
4844 throw new core.ConcurrentModificationError(this[_map]); | 5022 throw new core.ConcurrentModificationError(this[_map]); |
4845 } | 5023 } |
4846 cell = cell[_next]; | 5024 cell = cell[_next]; |
4847 } | 5025 } |
4848 } | 5026 } |
4849 } | 5027 } |
4850 LinkedHashMapKeyIterable[dart.implements] = () => [_internal.EfficientLength
]; | 5028 LinkedHashMapKeyIterable[dart.implements] = () => [_internal.EfficientLength
]; |
| 5029 dart.defineExtensionMembers(LinkedHashMapKeyIterable, [ |
| 5030 'contains', |
| 5031 'forEach', |
| 5032 'length', |
| 5033 'isEmpty', |
| 5034 'iterator' |
| 5035 ]); |
4851 dart.setSignature(LinkedHashMapKeyIterable, { | 5036 dart.setSignature(LinkedHashMapKeyIterable, { |
4852 constructors: () => ({LinkedHashMapKeyIterable: [LinkedHashMapKeyIterable$
(E), [core.Object]]}), | 5037 constructors: () => ({LinkedHashMapKeyIterable: [LinkedHashMapKeyIterable$
(E), [core.Object]]}), |
4853 methods: () => ({[core.$forEach]: [dart.void, [dart.functionType(dart.void
, [E])]]}) | 5038 methods: () => ({forEach: [dart.void, [dart.functionType(dart.void, [E])]]
}) |
4854 }); | 5039 }); |
4855 return LinkedHashMapKeyIterable; | 5040 return LinkedHashMapKeyIterable; |
4856 }); | 5041 }); |
4857 let LinkedHashMapKeyIterable = LinkedHashMapKeyIterable$(); | 5042 let LinkedHashMapKeyIterable = LinkedHashMapKeyIterable$(); |
4858 let _cell = Symbol('_cell'); | 5043 let _cell = Symbol('_cell'); |
4859 let LinkedHashMapKeyIterator$ = dart.generic(function(E) { | 5044 let LinkedHashMapKeyIterator$ = dart.generic(function(E) { |
4860 class LinkedHashMapKeyIterator extends core.Object { | 5045 class LinkedHashMapKeyIterator extends core.Object { |
4861 LinkedHashMapKeyIterator(map, modifications) { | 5046 LinkedHashMapKeyIterator(map, modifications) { |
4862 this[_map] = map; | 5047 this[_map] = map; |
4863 this[_modifications] = modifications; | 5048 this[_modifications] = modifications; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4898 _HashSet() { | 5083 _HashSet() { |
4899 this[_length] = 0; | 5084 this[_length] = 0; |
4900 this[_strings] = null; | 5085 this[_strings] = null; |
4901 this[_nums] = null; | 5086 this[_nums] = null; |
4902 this[_rest] = null; | 5087 this[_rest] = null; |
4903 this[_elements] = null; | 5088 this[_elements] = null; |
4904 } | 5089 } |
4905 [_newSet]() { | 5090 [_newSet]() { |
4906 return new (_HashSet$(E))(); | 5091 return new (_HashSet$(E))(); |
4907 } | 5092 } |
4908 get [core.$iterator]() { | 5093 get iterator() { |
4909 return new (HashSetIterator$(E))(this, this[_computeElements]()); | 5094 return new (HashSetIterator$(E))(this, this[_computeElements]()); |
4910 } | 5095 } |
4911 get [core.$length]() { | 5096 get length() { |
4912 return this[_length]; | 5097 return this[_length]; |
4913 } | 5098 } |
4914 get [core.$isEmpty]() { | 5099 get isEmpty() { |
4915 return this[_length] == 0; | 5100 return this[_length] == 0; |
4916 } | 5101 } |
4917 get [core.$isNotEmpty]() { | 5102 get isNotEmpty() { |
4918 return !dart.notNull(this[core.$isEmpty]); | 5103 return !dart.notNull(this.isEmpty); |
4919 } | 5104 } |
4920 [core.$contains](object) { | 5105 contains(object) { |
4921 if (_HashSet$()._isStringElement(object)) { | 5106 if (_HashSet$()._isStringElement(object)) { |
4922 let strings = this[_strings]; | 5107 let strings = this[_strings]; |
4923 return strings == null ? false : _HashSet$()._hasTableEntry(strings, o
bject); | 5108 return strings == null ? false : _HashSet$()._hasTableEntry(strings, o
bject); |
4924 } else if (_HashSet$()._isNumericElement(object)) { | 5109 } else if (_HashSet$()._isNumericElement(object)) { |
4925 let nums = this[_nums]; | 5110 let nums = this[_nums]; |
4926 return nums == null ? false : _HashSet$()._hasTableEntry(nums, object)
; | 5111 return nums == null ? false : _HashSet$()._hasTableEntry(nums, object)
; |
4927 } else { | 5112 } else { |
4928 return this[_contains](object); | 5113 return this[_contains](object); |
4929 } | 5114 } |
4930 } | 5115 } |
4931 [_contains](object) { | 5116 [_contains](object) { |
4932 let rest = this[_rest]; | 5117 let rest = this[_rest]; |
4933 if (rest == null) | 5118 if (rest == null) |
4934 return false; | 5119 return false; |
4935 let bucket = this[_getBucket](rest, object); | 5120 let bucket = this[_getBucket](rest, object); |
4936 return dart.notNull(this[_findBucketIndex](bucket, object)) >= 0; | 5121 return dart.notNull(this[_findBucketIndex](bucket, object)) >= 0; |
4937 } | 5122 } |
4938 lookup(object) { | 5123 lookup(object) { |
4939 if (dart.notNull(_HashSet$()._isStringElement(object)) || dart.notNull(_
HashSet$()._isNumericElement(object))) { | 5124 if (dart.notNull(_HashSet$()._isStringElement(object)) || dart.notNull(_
HashSet$()._isNumericElement(object))) { |
4940 return dart.as(this[core.$contains](object) ? object : null, E); | 5125 return dart.as(this.contains(object) ? object : null, E); |
4941 } | 5126 } |
4942 return this[_lookup](object); | 5127 return this[_lookup](object); |
4943 } | 5128 } |
4944 [_lookup](object) { | 5129 [_lookup](object) { |
4945 let rest = this[_rest]; | 5130 let rest = this[_rest]; |
4946 if (rest == null) | 5131 if (rest == null) |
4947 return null; | 5132 return null; |
4948 let bucket = this[_getBucket](rest, object); | 5133 let bucket = this[_getBucket](rest, object); |
4949 let index = this[_findBucketIndex](bucket, object); | 5134 let index = this[_findBucketIndex](bucket, object); |
4950 if (dart.notNull(index) < 0) | 5135 if (dart.notNull(index) < 0) |
4951 return null; | 5136 return null; |
4952 return dart.as(bucket[core.$get](index), E); | 5137 return dart.as(bucket[dartx.get](index), E); |
4953 } | 5138 } |
4954 add(element) { | 5139 add(element) { |
4955 dart.as(element, E); | 5140 dart.as(element, E); |
4956 if (_HashSet$()._isStringElement(element)) { | 5141 if (_HashSet$()._isStringElement(element)) { |
4957 let strings = this[_strings]; | 5142 let strings = this[_strings]; |
4958 if (strings == null) | 5143 if (strings == null) |
4959 this[_strings] = strings = _HashSet$()._newHashTable(); | 5144 this[_strings] = strings = _HashSet$()._newHashTable(); |
4960 return this[_addHashTableEntry](strings, element); | 5145 return this[_addHashTableEntry](strings, element); |
4961 } else if (_HashSet$()._isNumericElement(element)) { | 5146 } else if (_HashSet$()._isNumericElement(element)) { |
4962 let nums = this[_nums]; | 5147 let nums = this[_nums]; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5117 } | 5302 } |
5118 static _newHashTable() { | 5303 static _newHashTable() { |
5119 let table = Object.create(null); | 5304 let table = Object.create(null); |
5120 let temporaryKey = '<non-identifier-key>'; | 5305 let temporaryKey = '<non-identifier-key>'; |
5121 _HashSet$()._setTableEntry(table, temporaryKey, table); | 5306 _HashSet$()._setTableEntry(table, temporaryKey, table); |
5122 _HashSet$()._deleteTableEntry(table, temporaryKey); | 5307 _HashSet$()._deleteTableEntry(table, temporaryKey); |
5123 return table; | 5308 return table; |
5124 } | 5309 } |
5125 } | 5310 } |
5126 _HashSet[dart.implements] = () => [HashSet$(E)]; | 5311 _HashSet[dart.implements] = () => [HashSet$(E)]; |
| 5312 dart.defineExtensionMembers(_HashSet, [ |
| 5313 'contains', |
| 5314 'iterator', |
| 5315 'length', |
| 5316 'isEmpty', |
| 5317 'isNotEmpty' |
| 5318 ]); |
5127 dart.setSignature(_HashSet, { | 5319 dart.setSignature(_HashSet, { |
5128 constructors: () => ({_HashSet: [_HashSet$(E), []]}), | 5320 constructors: () => ({_HashSet: [_HashSet$(E), []]}), |
5129 methods: () => ({ | 5321 methods: () => ({ |
5130 [_newSet]: [core.Set$(E), []], | 5322 [_newSet]: [core.Set$(E), []], |
5131 [core.$contains]: [core.bool, [core.Object]], | 5323 contains: [core.bool, [core.Object]], |
5132 [_contains]: [core.bool, [core.Object]], | 5324 [_contains]: [core.bool, [core.Object]], |
5133 lookup: [E, [core.Object]], | 5325 lookup: [E, [core.Object]], |
5134 [_lookup]: [E, [core.Object]], | 5326 [_lookup]: [E, [core.Object]], |
5135 add: [core.bool, [E]], | 5327 add: [core.bool, [E]], |
5136 [_add]: [core.bool, [E]], | 5328 [_add]: [core.bool, [E]], |
5137 addAll: [dart.void, [core.Iterable$(E)]], | 5329 addAll: [dart.void, [core.Iterable$(E)]], |
5138 remove: [core.bool, [core.Object]], | 5330 remove: [core.bool, [core.Object]], |
5139 [_remove]: [core.bool, [core.Object]], | 5331 [_remove]: [core.bool, [core.Object]], |
5140 [_computeElements]: [core.List, []], | 5332 [_computeElements]: [core.List, []], |
5141 [_addHashTableEntry]: [core.bool, [core.Object, E]], | 5333 [_addHashTableEntry]: [core.bool, [core.Object, E]], |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5208 } | 5400 } |
5209 return -1; | 5401 return -1; |
5210 } | 5402 } |
5211 [_computeHashCode](element) { | 5403 [_computeHashCode](element) { |
5212 return this[_hasher](dart.as(element, E)) & 0x3ffffff; | 5404 return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
5213 } | 5405 } |
5214 add(object) { | 5406 add(object) { |
5215 dart.as(object, E); | 5407 dart.as(object, E); |
5216 return super[_add](object); | 5408 return super[_add](object); |
5217 } | 5409 } |
5218 [core.$contains](object) { | 5410 contains(object) { |
5219 if (!dart.notNull(this[_validKey](object))) | 5411 if (!dart.notNull(this[_validKey](object))) |
5220 return false; | 5412 return false; |
5221 return super[_contains](object); | 5413 return super[_contains](object); |
5222 } | 5414 } |
5223 lookup(object) { | 5415 lookup(object) { |
5224 if (!dart.notNull(this[_validKey](object))) | 5416 if (!dart.notNull(this[_validKey](object))) |
5225 return null; | 5417 return null; |
5226 return super[_lookup](object); | 5418 return super[_lookup](object); |
5227 } | 5419 } |
5228 remove(object) { | 5420 remove(object) { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5287 this[_first] = null; | 5479 this[_first] = null; |
5288 this[_last] = null; | 5480 this[_last] = null; |
5289 this[_modifications] = 0; | 5481 this[_modifications] = 0; |
5290 } | 5482 } |
5291 [_newSet]() { | 5483 [_newSet]() { |
5292 return new (_LinkedHashSet$(E))(); | 5484 return new (_LinkedHashSet$(E))(); |
5293 } | 5485 } |
5294 [_unsupported](operation) { | 5486 [_unsupported](operation) { |
5295 throw `LinkedHashSet: unsupported ${operation}`; | 5487 throw `LinkedHashSet: unsupported ${operation}`; |
5296 } | 5488 } |
5297 get [core.$iterator]() { | 5489 get iterator() { |
5298 return new (LinkedHashSetIterator$(E))(this, this[_modifications]); | 5490 return new (LinkedHashSetIterator$(E))(this, this[_modifications]); |
5299 } | 5491 } |
5300 get [core.$length]() { | 5492 get length() { |
5301 return this[_length]; | 5493 return this[_length]; |
5302 } | 5494 } |
5303 get [core.$isEmpty]() { | 5495 get isEmpty() { |
5304 return this[_length] == 0; | 5496 return this[_length] == 0; |
5305 } | 5497 } |
5306 get [core.$isNotEmpty]() { | 5498 get isNotEmpty() { |
5307 return !dart.notNull(this[core.$isEmpty]); | 5499 return !dart.notNull(this.isEmpty); |
5308 } | 5500 } |
5309 [core.$contains](object) { | 5501 contains(object) { |
5310 if (_LinkedHashSet$()._isStringElement(object)) { | 5502 if (_LinkedHashSet$()._isStringElement(object)) { |
5311 let strings = this[_strings]; | 5503 let strings = this[_strings]; |
5312 if (strings == null) | 5504 if (strings == null) |
5313 return false; | 5505 return false; |
5314 let cell = dart.as(_LinkedHashSet$()._getTableEntry(strings, object),
LinkedHashSetCell); | 5506 let cell = dart.as(_LinkedHashSet$()._getTableEntry(strings, object),
LinkedHashSetCell); |
5315 return cell != null; | 5507 return cell != null; |
5316 } else if (_LinkedHashSet$()._isNumericElement(object)) { | 5508 } else if (_LinkedHashSet$()._isNumericElement(object)) { |
5317 let nums = this[_nums]; | 5509 let nums = this[_nums]; |
5318 if (nums == null) | 5510 if (nums == null) |
5319 return false; | 5511 return false; |
5320 let cell = dart.as(_LinkedHashSet$()._getTableEntry(nums, object), Lin
kedHashSetCell); | 5512 let cell = dart.as(_LinkedHashSet$()._getTableEntry(nums, object), Lin
kedHashSetCell); |
5321 return cell != null; | 5513 return cell != null; |
5322 } else { | 5514 } else { |
5323 return this[_contains](object); | 5515 return this[_contains](object); |
5324 } | 5516 } |
5325 } | 5517 } |
5326 [_contains](object) { | 5518 [_contains](object) { |
5327 let rest = this[_rest]; | 5519 let rest = this[_rest]; |
5328 if (rest == null) | 5520 if (rest == null) |
5329 return false; | 5521 return false; |
5330 let bucket = this[_getBucket](rest, object); | 5522 let bucket = this[_getBucket](rest, object); |
5331 return dart.notNull(this[_findBucketIndex](bucket, object)) >= 0; | 5523 return dart.notNull(this[_findBucketIndex](bucket, object)) >= 0; |
5332 } | 5524 } |
5333 lookup(object) { | 5525 lookup(object) { |
5334 if (dart.notNull(_LinkedHashSet$()._isStringElement(object)) || dart.not
Null(_LinkedHashSet$()._isNumericElement(object))) { | 5526 if (dart.notNull(_LinkedHashSet$()._isStringElement(object)) || dart.not
Null(_LinkedHashSet$()._isNumericElement(object))) { |
5335 return dart.as(this[core.$contains](object) ? object : null, E); | 5527 return dart.as(this.contains(object) ? object : null, E); |
5336 } else { | 5528 } else { |
5337 return this[_lookup](object); | 5529 return this[_lookup](object); |
5338 } | 5530 } |
5339 } | 5531 } |
5340 [_lookup](object) { | 5532 [_lookup](object) { |
5341 let rest = this[_rest]; | 5533 let rest = this[_rest]; |
5342 if (rest == null) | 5534 if (rest == null) |
5343 return null; | 5535 return null; |
5344 let bucket = this[_getBucket](rest, object); | 5536 let bucket = this[_getBucket](rest, object); |
5345 let index = this[_findBucketIndex](bucket, object); | 5537 let index = this[_findBucketIndex](bucket, object); |
5346 if (dart.notNull(index) < 0) | 5538 if (dart.notNull(index) < 0) |
5347 return null; | 5539 return null; |
5348 return dart.as(dart.dload(bucket[core.$get](index), _element), E); | 5540 return dart.as(dart.dload(bucket[dartx.get](index), _element), E); |
5349 } | 5541 } |
5350 [core.$forEach](action) { | 5542 forEach(action) { |
5351 dart.as(action, dart.functionType(dart.void, [E])); | 5543 dart.as(action, dart.functionType(dart.void, [E])); |
5352 let cell = this[_first]; | 5544 let cell = this[_first]; |
5353 let modifications = this[_modifications]; | 5545 let modifications = this[_modifications]; |
5354 while (cell != null) { | 5546 while (cell != null) { |
5355 action(dart.as(cell[_element], E)); | 5547 action(dart.as(cell[_element], E)); |
5356 if (modifications != this[_modifications]) { | 5548 if (modifications != this[_modifications]) { |
5357 throw new core.ConcurrentModificationError(this); | 5549 throw new core.ConcurrentModificationError(this); |
5358 } | 5550 } |
5359 cell = cell[_next]; | 5551 cell = cell[_next]; |
5360 } | 5552 } |
5361 } | 5553 } |
5362 get [core.$first]() { | 5554 get first() { |
5363 if (this[_first] == null) | 5555 if (this[_first] == null) |
5364 throw new core.StateError("No elements"); | 5556 throw new core.StateError("No elements"); |
5365 return dart.as(this[_first][_element], E); | 5557 return dart.as(this[_first][_element], E); |
5366 } | 5558 } |
5367 get [core.$last]() { | 5559 get last() { |
5368 if (this[_last] == null) | 5560 if (this[_last] == null) |
5369 throw new core.StateError("No elements"); | 5561 throw new core.StateError("No elements"); |
5370 return dart.as(this[_last][_element], E); | 5562 return dart.as(this[_last][_element], E); |
5371 } | 5563 } |
5372 add(element) { | 5564 add(element) { |
5373 dart.as(element, E); | 5565 dart.as(element, E); |
5374 if (_LinkedHashSet$()._isStringElement(element)) { | 5566 if (_LinkedHashSet$()._isStringElement(element)) { |
5375 let strings = this[_strings]; | 5567 let strings = this[_strings]; |
5376 if (strings == null) | 5568 if (strings == null) |
5377 this[_strings] = strings = _LinkedHashSet$()._newHashTable(); | 5569 this[_strings] = strings = _LinkedHashSet$()._newHashTable(); |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5545 } | 5737 } |
5546 static _newHashTable() { | 5738 static _newHashTable() { |
5547 let table = Object.create(null); | 5739 let table = Object.create(null); |
5548 let temporaryKey = '<non-identifier-key>'; | 5740 let temporaryKey = '<non-identifier-key>'; |
5549 _LinkedHashSet$()._setTableEntry(table, temporaryKey, table); | 5741 _LinkedHashSet$()._setTableEntry(table, temporaryKey, table); |
5550 _LinkedHashSet$()._deleteTableEntry(table, temporaryKey); | 5742 _LinkedHashSet$()._deleteTableEntry(table, temporaryKey); |
5551 return table; | 5743 return table; |
5552 } | 5744 } |
5553 } | 5745 } |
5554 _LinkedHashSet[dart.implements] = () => [LinkedHashSet$(E)]; | 5746 _LinkedHashSet[dart.implements] = () => [LinkedHashSet$(E)]; |
| 5747 dart.defineExtensionMembers(_LinkedHashSet, [ |
| 5748 'contains', |
| 5749 'forEach', |
| 5750 'iterator', |
| 5751 'length', |
| 5752 'isEmpty', |
| 5753 'isNotEmpty', |
| 5754 'first', |
| 5755 'last' |
| 5756 ]); |
5555 dart.setSignature(_LinkedHashSet, { | 5757 dart.setSignature(_LinkedHashSet, { |
5556 constructors: () => ({_LinkedHashSet: [_LinkedHashSet$(E), []]}), | 5758 constructors: () => ({_LinkedHashSet: [_LinkedHashSet$(E), []]}), |
5557 methods: () => ({ | 5759 methods: () => ({ |
5558 [_newSet]: [core.Set$(E), []], | 5760 [_newSet]: [core.Set$(E), []], |
5559 [_unsupported]: [dart.void, [core.String]], | 5761 [_unsupported]: [dart.void, [core.String]], |
5560 [core.$contains]: [core.bool, [core.Object]], | 5762 contains: [core.bool, [core.Object]], |
5561 [_contains]: [core.bool, [core.Object]], | 5763 [_contains]: [core.bool, [core.Object]], |
5562 lookup: [E, [core.Object]], | 5764 lookup: [E, [core.Object]], |
5563 [_lookup]: [E, [core.Object]], | 5765 [_lookup]: [E, [core.Object]], |
5564 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], | 5766 forEach: [dart.void, [dart.functionType(dart.void, [E])]], |
5565 add: [core.bool, [E]], | 5767 add: [core.bool, [E]], |
5566 [_add]: [core.bool, [E]], | 5768 [_add]: [core.bool, [E]], |
5567 remove: [core.bool, [core.Object]], | 5769 remove: [core.bool, [core.Object]], |
5568 [_remove]: [core.bool, [core.Object]], | 5770 [_remove]: [core.bool, [core.Object]], |
5569 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], | 5771 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
5570 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], | 5772 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], |
5571 [_filterWhere]: [dart.void, [dart.functionType(core.bool, [E]), core.boo
l]], | 5773 [_filterWhere]: [dart.void, [dart.functionType(core.bool, [E]), core.boo
l]], |
5572 [_addHashTableEntry]: [core.bool, [core.Object, E]], | 5774 [_addHashTableEntry]: [core.bool, [core.Object, E]], |
5573 [_removeHashTableEntry]: [core.bool, [core.Object, core.Object]], | 5775 [_removeHashTableEntry]: [core.bool, [core.Object, core.Object]], |
5574 [_modified]: [dart.void, []], | 5776 [_modified]: [dart.void, []], |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5642 } | 5844 } |
5643 return -1; | 5845 return -1; |
5644 } | 5846 } |
5645 [_computeHashCode](element) { | 5847 [_computeHashCode](element) { |
5646 return this[_hasher](dart.as(element, E)) & 0x3ffffff; | 5848 return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
5647 } | 5849 } |
5648 add(element) { | 5850 add(element) { |
5649 dart.as(element, E); | 5851 dart.as(element, E); |
5650 return super[_add](element); | 5852 return super[_add](element); |
5651 } | 5853 } |
5652 [core.$contains](object) { | 5854 contains(object) { |
5653 if (!dart.notNull(this[_validKey](object))) | 5855 if (!dart.notNull(this[_validKey](object))) |
5654 return false; | 5856 return false; |
5655 return super[_contains](object); | 5857 return super[_contains](object); |
5656 } | 5858 } |
5657 lookup(object) { | 5859 lookup(object) { |
5658 if (!dart.notNull(this[_validKey](object))) | 5860 if (!dart.notNull(this[_validKey](object))) |
5659 return null; | 5861 return null; |
5660 return super[_lookup](object); | 5862 return super[_lookup](object); |
5661 } | 5863 } |
5662 remove(object) { | 5864 remove(object) { |
5663 if (!dart.notNull(this[_validKey](object))) | 5865 if (!dart.notNull(this[_validKey](object))) |
5664 return false; | 5866 return false; |
5665 return super[_remove](object); | 5867 return super[_remove](object); |
5666 } | 5868 } |
5667 containsAll(elements) { | 5869 containsAll(elements) { |
5668 for (let element of elements) { | 5870 for (let element of elements) { |
5669 if (!dart.notNull(this[_validKey](element)) || !dart.notNull(this[core
.$contains](element))) | 5871 if (!dart.notNull(this[_validKey](element)) || !dart.notNull(this.cont
ains(element))) |
5670 return false; | 5872 return false; |
5671 } | 5873 } |
5672 return true; | 5874 return true; |
5673 } | 5875 } |
5674 removeAll(elements) { | 5876 removeAll(elements) { |
5675 for (let element of elements) { | 5877 for (let element of elements) { |
5676 if (this[_validKey](element)) { | 5878 if (this[_validKey](element)) { |
5677 super[_remove](element); | 5879 super[_remove](element); |
5678 } | 5880 } |
5679 } | 5881 } |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5792 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; | 5994 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; |
5793 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; | 5995 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; |
5794 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; | 5996 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; |
5795 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; | 5997 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; |
5796 exports.HashSetIterator$ = HashSetIterator$; | 5998 exports.HashSetIterator$ = HashSetIterator$; |
5797 exports.HashSetIterator = HashSetIterator; | 5999 exports.HashSetIterator = HashSetIterator; |
5798 exports.LinkedHashSetCell = LinkedHashSetCell; | 6000 exports.LinkedHashSetCell = LinkedHashSetCell; |
5799 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; | 6001 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; |
5800 exports.LinkedHashSetIterator = LinkedHashSetIterator; | 6002 exports.LinkedHashSetIterator = LinkedHashSetIterator; |
5801 })(collection, _internal, core, _js_helper, math); | 6003 })(collection, _internal, core, _js_helper, math); |
OLD | NEW |