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

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

Issue 1050723002: partially implement instance of checks and some codegen fixes (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 var collection; 1 var collection;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 let _source = Symbol('_source'); 4 let _source = Symbol('_source');
5 let UnmodifiableListView$ = dart.generic(function(E) { 5 let UnmodifiableListView$ = dart.generic(function(E) {
6 class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) { 6 class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) {
7 UnmodifiableListView(source) { 7 UnmodifiableListView(source) {
8 this[_source] = source; 8 this[_source] = source;
9 super.UnmodifiableListBase(); 9 super.UnmodifiableListBase();
10 } 10 }
(...skipping 17 matching lines...) Expand all
28 } 28 }
29 let HashMap$ = dart.generic(function(K, V) { 29 let HashMap$ = dart.generic(function(K, V) {
30 class HashMap extends core.Object { 30 class HashMap extends core.Object {
31 HashMap(opts) { 31 HashMap(opts) {
32 let equals = opts && 'equals' in opts ? opts.equals : null; 32 let equals = opts && 'equals' in opts ? opts.equals : null;
33 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; 33 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
34 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; 34 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
35 if (isValidKey == null) { 35 if (isValidKey == null) {
36 if (hashCode == null) { 36 if (hashCode == null) {
37 if (equals == null) { 37 if (equals == null) {
38 return new _HashMap(); 38 return new (_HashMap$(K, V))();
39 } 39 }
40 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int"); 40 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int");
41 } else { 41 } else {
42 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { 42 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) {
43 return new _IdentityHashMap(); 43 return new (_IdentityHashMap$(K, V))();
44 } 44 }
45 if (equals == null) { 45 if (equals == null) {
46 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool"); 46 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool");
47 } 47 }
48 } 48 }
49 } else { 49 } else {
50 if (hashCode == null) { 50 if (hashCode == null) {
51 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int"); 51 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int");
52 } 52 }
53 if (equals == null) { 53 if (equals == null) {
54 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool"); 54 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool");
55 } 55 }
56 } 56 }
57 return new _CustomHashMap(equals, hashCode, isValidKey); 57 return new (_CustomHashMap$(K, V))(equals, hashCode, isValidKey);
58 } 58 }
59 identity() { 59 identity() {
60 return new _IdentityHashMap(); 60 return new (_IdentityHashMap$(K, V))();
61 } 61 }
62 from(other) { 62 from(other) {
63 let result = new HashMap(); 63 let result = new (HashMap$(K, V))();
64 other.forEach((k, v) => { 64 other.forEach((k, v) => {
65 result.set(k, dart.as(v, V)); 65 result.set(k, dart.as(v, V));
66 }); 66 });
67 return result; 67 return result;
68 } 68 }
69 fromIterable(iterable, opts) { 69 fromIterable(iterable, opts) {
70 let key = opts && 'key' in opts ? opts.key : null; 70 let key = opts && 'key' in opts ? opts.key : null;
71 let value = opts && 'value' in opts ? opts.value : null; 71 let value = opts && 'value' in opts ? opts.value : null;
72 let map = new HashMap(); 72 let map = new (HashMap$(K, V))();
73 Maps._fillMapWithMappedIterable(map, iterable, key, value); 73 Maps._fillMapWithMappedIterable(map, iterable, key, value);
74 return map; 74 return map;
75 } 75 }
76 fromIterables(keys, values) { 76 fromIterables(keys, values) {
77 let map = new HashMap(); 77 let map = new (HashMap$(K, V))();
78 Maps._fillMapWithIterables(map, keys, values); 78 Maps._fillMapWithIterables(map, keys, values);
79 return map; 79 return map;
80 } 80 }
81 } 81 }
82 HashMap[dart.implements] = () => [core.Map$(K, V)]; 82 HashMap[dart.implements] = () => [core.Map$(K, V)];
83 dart.defineNamedConstructor(HashMap, 'identity'); 83 dart.defineNamedConstructor(HashMap, 'identity');
84 dart.defineNamedConstructor(HashMap, 'from'); 84 dart.defineNamedConstructor(HashMap, 'from');
85 dart.defineNamedConstructor(HashMap, 'fromIterable'); 85 dart.defineNamedConstructor(HashMap, 'fromIterable');
86 dart.defineNamedConstructor(HashMap, 'fromIterables'); 86 dart.defineNamedConstructor(HashMap, 'fromIterables');
87 return HashMap; 87 return HashMap;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 if (other.contains(element)) 157 if (other.contains(element))
158 result.remove(element); 158 result.remove(element);
159 } 159 }
160 return result; 160 return result;
161 } 161 }
162 toList(opts) { 162 toList(opts) {
163 let growable = opts && 'growable' in opts ? opts.growable : true; 163 let growable = opts && 'growable' in opts ? opts.growable : true;
164 let result = growable ? ((_) => { 164 let result = growable ? ((_) => {
165 _.length = this.length; 165 _.length = this.length;
166 return _; 166 return _;
167 }).bind(this)(new core.List()) : new core.List(this.length); 167 }).bind(this)(new (core.List$(E))()) : new (core.List$(E))(this.length);
168 let i = 0; 168 let i = 0;
169 for (let element of this) 169 for (let element of this)
170 result.set(((x$) => i = dart.notNull(x$) + 1, x$)(i), element); 170 result.set(((x$) => i = dart.notNull(x$) + 1, x$)(i), element);
171 return result; 171 return result;
172 } 172 }
173 map(f) { 173 map(f) {
174 return new _internal.EfficientLengthMappedIterable(this, f); 174 return new (_internal.EfficientLengthMappedIterable$(E, dynamic))(this, f);
175 } 175 }
176 get single() { 176 get single() {
177 if (dart.notNull(this.length) > 1) 177 if (dart.notNull(this.length) > 1)
178 throw _internal.IterableElementError.tooMany(); 178 throw _internal.IterableElementError.tooMany();
179 let it = this.iterator; 179 let it = this.iterator;
180 if (!dart.notNull(it.moveNext())) 180 if (!dart.notNull(it.moveNext()))
181 throw _internal.IterableElementError.noElement(); 181 throw _internal.IterableElementError.noElement();
182 let result = dart.as(it.current, E); 182 let result = dart.as(it.current, E);
183 return result; 183 return result;
184 } 184 }
185 toString() { 185 toString() {
186 return IterableBase.iterableToFullString(this, '{', '}'); 186 return IterableBase.iterableToFullString(this, '{', '}');
187 } 187 }
188 where(f) { 188 where(f) {
189 return new _internal.WhereIterable(this, f); 189 return new (_internal.WhereIterable$(E))(this, f);
190 } 190 }
191 expand(f) { 191 expand(f) {
192 return new _internal.ExpandIterable(this, f); 192 return new (_internal.ExpandIterable$(E, dynamic))(this, f);
193 } 193 }
194 forEach(f) { 194 forEach(f) {
195 for (let element of this) 195 for (let element of this)
196 f(element); 196 f(element);
197 } 197 }
198 reduce(combine) { 198 reduce(combine) {
199 let iterator = this.iterator; 199 let iterator = this.iterator;
200 if (!dart.notNull(iterator.moveNext())) { 200 if (!dart.notNull(iterator.moveNext())) {
201 throw _internal.IterableElementError.noElement(); 201 throw _internal.IterableElementError.noElement();
202 } 202 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 return buffer.toString(); 240 return buffer.toString();
241 } 241 }
242 any(test) { 242 any(test) {
243 for (let element of this) { 243 for (let element of this) {
244 if (test(element)) 244 if (test(element))
245 return true; 245 return true;
246 } 246 }
247 return false; 247 return false;
248 } 248 }
249 take(n) { 249 take(n) {
250 return new _internal.TakeIterable(this, n); 250 return new (_internal.TakeIterable$(E))(this, n);
251 } 251 }
252 takeWhile(test) { 252 takeWhile(test) {
253 return new _internal.TakeWhileIterable(this, test); 253 return new (_internal.TakeWhileIterable$(E))(this, test);
254 } 254 }
255 skip(n) { 255 skip(n) {
256 return new _internal.SkipIterable(this, n); 256 return new (_internal.SkipIterable$(E))(this, n);
257 } 257 }
258 skipWhile(test) { 258 skipWhile(test) {
259 return new _internal.SkipWhileIterable(this, test); 259 return new (_internal.SkipWhileIterable$(E))(this, test);
260 } 260 }
261 get first() { 261 get first() {
262 let it = this.iterator; 262 let it = this.iterator;
263 if (!dart.notNull(it.moveNext())) { 263 if (!dart.notNull(it.moveNext())) {
264 throw _internal.IterableElementError.noElement(); 264 throw _internal.IterableElementError.noElement();
265 } 265 }
266 return dart.as(it.current, E); 266 return dart.as(it.current, E);
267 } 267 }
268 get last() { 268 get last() {
269 let it = this.iterator; 269 let it = this.iterator;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 let _HashSetBase = _HashSetBase$(dart.dynamic); 374 let _HashSetBase = _HashSetBase$(dart.dynamic);
375 let HashSet$ = dart.generic(function(E) { 375 let HashSet$ = dart.generic(function(E) {
376 class HashSet extends core.Object { 376 class HashSet extends core.Object {
377 HashSet(opts) { 377 HashSet(opts) {
378 let equals = opts && 'equals' in opts ? opts.equals : null; 378 let equals = opts && 'equals' in opts ? opts.equals : null;
379 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; 379 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
380 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; 380 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
381 if (isValidKey == null) { 381 if (isValidKey == null) {
382 if (hashCode == null) { 382 if (hashCode == null) {
383 if (equals == null) { 383 if (equals == null) {
384 return new _HashSet(); 384 return new (_HashSet$(E))();
385 } 385 }
386 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int"); 386 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int");
387 } else { 387 } else {
388 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { 388 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) {
389 return new _IdentityHashSet(); 389 return new (_IdentityHashSet$(E))();
390 } 390 }
391 if (equals == null) { 391 if (equals == null) {
392 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool"); 392 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool");
393 } 393 }
394 } 394 }
395 } else { 395 } else {
396 if (hashCode == null) { 396 if (hashCode == null) {
397 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int"); 397 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int");
398 } 398 }
399 if (equals == null) { 399 if (equals == null) {
400 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool"); 400 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool");
401 } 401 }
402 } 402 }
403 return new _CustomHashSet(equals, hashCode, isValidKey); 403 return new (_CustomHashSet$(E))(equals, hashCode, isValidKey);
404 } 404 }
405 identity() { 405 identity() {
406 return new _IdentityHashSet(); 406 return new (_IdentityHashSet$(E))();
407 } 407 }
408 from(elements) { 408 from(elements) {
409 let result = new HashSet(); 409 let result = new (HashSet$(E))();
410 for (let e of dart.as(elements, core.Iterable$(E))) 410 for (let e of dart.as(elements, core.Iterable$(E)))
411 result.add(e); 411 result.add(e);
412 return result; 412 return result;
413 } 413 }
414 } 414 }
415 HashSet[dart.implements] = () => [core.Set$(E)]; 415 HashSet[dart.implements] = () => [core.Set$(E)];
416 dart.defineNamedConstructor(HashSet, 'identity'); 416 dart.defineNamedConstructor(HashSet, 'identity');
417 dart.defineNamedConstructor(HashSet, 'from'); 417 dart.defineNamedConstructor(HashSet, 'from');
418 return HashSet; 418 return HashSet;
419 }); 419 });
420 let HashSet = HashSet$(dart.dynamic); 420 let HashSet = HashSet$(dart.dynamic);
421 let IterableMixin$ = dart.generic(function(E) { 421 let IterableMixin$ = dart.generic(function(E) {
422 class IterableMixin extends core.Object { 422 class IterableMixin extends core.Object {
423 map(f) { 423 map(f) {
424 return new _internal.MappedIterable(this, f); 424 return new (_internal.MappedIterable$(E, dynamic))(this, f);
425 } 425 }
426 where(f) { 426 where(f) {
427 return new _internal.WhereIterable(this, f); 427 return new (_internal.WhereIterable$(E))(this, f);
428 } 428 }
429 expand(f) { 429 expand(f) {
430 return new _internal.ExpandIterable(this, f); 430 return new (_internal.ExpandIterable$(E, dynamic))(this, f);
431 } 431 }
432 contains(element) { 432 contains(element) {
433 for (let e of this) { 433 for (let e of this) {
434 if (dart.equals(e, element)) 434 if (dart.equals(e, element))
435 return true; 435 return true;
436 } 436 }
437 return false; 437 return false;
438 } 438 }
439 forEach(f) { 439 forEach(f) {
440 for (let element of this) 440 for (let element of this)
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 } 486 }
487 any(f) { 487 any(f) {
488 for (let element of this) { 488 for (let element of this) {
489 if (f(element)) 489 if (f(element))
490 return true; 490 return true;
491 } 491 }
492 return false; 492 return false;
493 } 493 }
494 toList(opts) { 494 toList(opts) {
495 let growable = opts && 'growable' in opts ? opts.growable : true; 495 let growable = opts && 'growable' in opts ? opts.growable : true;
496 return new core.List.from(this, {growable: growable}); 496 return new core.List$(E).from(this, {growable: growable});
497 } 497 }
498 toSet() { 498 toSet() {
499 return new core.Set.from(this); 499 return new core.Set$(E).from(this);
500 } 500 }
501 get length() { 501 get length() {
502 dart.assert(!dart.is(this, _internal.EfficientLength)); 502 dart.assert(!dart.is(this, _internal.EfficientLength));
503 let count = 0; 503 let count = 0;
504 let it = this.iterator; 504 let it = this.iterator;
505 while (it.moveNext()) { 505 while (it.moveNext()) {
506 count = dart.notNull(count) + 1; 506 count = dart.notNull(count) + 1;
507 } 507 }
508 return count; 508 return count;
509 } 509 }
510 get isEmpty() { 510 get isEmpty() {
511 return !dart.notNull(this.iterator.moveNext()); 511 return !dart.notNull(this.iterator.moveNext());
512 } 512 }
513 get isNotEmpty() { 513 get isNotEmpty() {
514 return !dart.notNull(this.isEmpty); 514 return !dart.notNull(this.isEmpty);
515 } 515 }
516 take(n) { 516 take(n) {
517 return new _internal.TakeIterable(this, n); 517 return new (_internal.TakeIterable$(E))(this, n);
518 } 518 }
519 takeWhile(test) { 519 takeWhile(test) {
520 return new _internal.TakeWhileIterable(this, test); 520 return new (_internal.TakeWhileIterable$(E))(this, test);
521 } 521 }
522 skip(n) { 522 skip(n) {
523 return new _internal.SkipIterable(this, n); 523 return new (_internal.SkipIterable$(E))(this, n);
524 } 524 }
525 skipWhile(test) { 525 skipWhile(test) {
526 return new _internal.SkipWhileIterable(this, test); 526 return new (_internal.SkipWhileIterable$(E))(this, test);
527 } 527 }
528 get first() { 528 get first() {
529 let it = this.iterator; 529 let it = this.iterator;
530 if (!dart.notNull(it.moveNext())) { 530 if (!dart.notNull(it.moveNext())) {
531 throw _internal.IterableElementError.noElement(); 531 throw _internal.IterableElementError.noElement();
532 } 532 }
533 return dart.as(it.current, E); 533 return dart.as(it.current, E);
534 } 534 }
535 get last() { 535 get last() {
536 let it = this.iterator; 536 let it = this.iterator;
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 }); 615 });
616 let IterableMixin = IterableMixin$(dart.dynamic); 616 let IterableMixin = IterableMixin$(dart.dynamic);
617 let _isToStringVisiting = Symbol('_isToStringVisiting'); 617 let _isToStringVisiting = Symbol('_isToStringVisiting');
618 let _toStringVisiting = Symbol('_toStringVisiting'); 618 let _toStringVisiting = Symbol('_toStringVisiting');
619 let _iterablePartsToStrings = Symbol('_iterablePartsToStrings'); 619 let _iterablePartsToStrings = Symbol('_iterablePartsToStrings');
620 let IterableBase$ = dart.generic(function(E) { 620 let IterableBase$ = dart.generic(function(E) {
621 class IterableBase extends core.Object { 621 class IterableBase extends core.Object {
622 IterableBase() { 622 IterableBase() {
623 } 623 }
624 map(f) { 624 map(f) {
625 return new _internal.MappedIterable(this, f); 625 return new (_internal.MappedIterable$(E, dynamic))(this, f);
626 } 626 }
627 where(f) { 627 where(f) {
628 return new _internal.WhereIterable(this, f); 628 return new (_internal.WhereIterable$(E))(this, f);
629 } 629 }
630 expand(f) { 630 expand(f) {
631 return new _internal.ExpandIterable(this, f); 631 return new (_internal.ExpandIterable$(E, dynamic))(this, f);
632 } 632 }
633 contains(element) { 633 contains(element) {
634 for (let e of this) { 634 for (let e of this) {
635 if (dart.equals(e, element)) 635 if (dart.equals(e, element))
636 return true; 636 return true;
637 } 637 }
638 return false; 638 return false;
639 } 639 }
640 forEach(f) { 640 forEach(f) {
641 for (let element of this) 641 for (let element of this)
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 } 687 }
688 any(f) { 688 any(f) {
689 for (let element of this) { 689 for (let element of this) {
690 if (f(element)) 690 if (f(element))
691 return true; 691 return true;
692 } 692 }
693 return false; 693 return false;
694 } 694 }
695 toList(opts) { 695 toList(opts) {
696 let growable = opts && 'growable' in opts ? opts.growable : true; 696 let growable = opts && 'growable' in opts ? opts.growable : true;
697 return new core.List.from(this, {growable: growable}); 697 return new core.List$(E).from(this, {growable: growable});
698 } 698 }
699 toSet() { 699 toSet() {
700 return new core.Set.from(this); 700 return new core.Set$(E).from(this);
701 } 701 }
702 get length() { 702 get length() {
703 dart.assert(!dart.is(this, _internal.EfficientLength)); 703 dart.assert(!dart.is(this, _internal.EfficientLength));
704 let count = 0; 704 let count = 0;
705 let it = this.iterator; 705 let it = this.iterator;
706 while (it.moveNext()) { 706 while (it.moveNext()) {
707 count = dart.notNull(count) + 1; 707 count = dart.notNull(count) + 1;
708 } 708 }
709 return count; 709 return count;
710 } 710 }
711 get isEmpty() { 711 get isEmpty() {
712 return !dart.notNull(this.iterator.moveNext()); 712 return !dart.notNull(this.iterator.moveNext());
713 } 713 }
714 get isNotEmpty() { 714 get isNotEmpty() {
715 return !dart.notNull(this.isEmpty); 715 return !dart.notNull(this.isEmpty);
716 } 716 }
717 take(n) { 717 take(n) {
718 return new _internal.TakeIterable(this, n); 718 return new (_internal.TakeIterable$(E))(this, n);
719 } 719 }
720 takeWhile(test) { 720 takeWhile(test) {
721 return new _internal.TakeWhileIterable(this, test); 721 return new (_internal.TakeWhileIterable$(E))(this, test);
722 } 722 }
723 skip(n) { 723 skip(n) {
724 return new _internal.SkipIterable(this, n); 724 return new (_internal.SkipIterable$(E))(this, n);
725 } 725 }
726 skipWhile(test) { 726 skipWhile(test) {
727 return new _internal.SkipWhileIterable(this, test); 727 return new (_internal.SkipWhileIterable$(E))(this, test);
728 } 728 }
729 get first() { 729 get first() {
730 let it = this.iterator; 730 let it = this.iterator;
731 if (!dart.notNull(it.moveNext())) { 731 if (!dart.notNull(it.moveNext())) {
732 throw _internal.IterableElementError.noElement(); 732 throw _internal.IterableElementError.noElement();
733 } 733 }
734 return dart.as(it.current, E); 734 return dart.as(it.current, E);
735 } 735 }
736 get last() { 736 get last() {
737 let it = this.iterator; 737 let it = this.iterator;
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 let _empty = Symbol('_empty'); 992 let _empty = Symbol('_empty');
993 let LinkedHashMap$ = dart.generic(function(K, V) { 993 let LinkedHashMap$ = dart.generic(function(K, V) {
994 class LinkedHashMap extends core.Object { 994 class LinkedHashMap extends core.Object {
995 LinkedHashMap(opts) { 995 LinkedHashMap(opts) {
996 let equals = opts && 'equals' in opts ? opts.equals : null; 996 let equals = opts && 'equals' in opts ? opts.equals : null;
997 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; 997 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
998 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; 998 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
999 if (isValidKey == null) { 999 if (isValidKey == null) {
1000 if (hashCode == null) { 1000 if (hashCode == null) {
1001 if (equals == null) { 1001 if (equals == null) {
1002 return new _LinkedHashMap(); 1002 return new (_LinkedHashMap$(K, V))();
1003 } 1003 }
1004 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int"); 1004 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int");
1005 } else { 1005 } else {
1006 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { 1006 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) {
1007 return new _LinkedIdentityHashMap(); 1007 return new (_LinkedIdentityHashMap$(K, V))();
1008 } 1008 }
1009 if (equals == null) { 1009 if (equals == null) {
1010 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool"); 1010 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool");
1011 } 1011 }
1012 } 1012 }
1013 } else { 1013 } else {
1014 if (hashCode == null) { 1014 if (hashCode == null) {
1015 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int"); 1015 hashCode = dart.closureWrap(_defaultHashCode, "(K) → int");
1016 } 1016 }
1017 if (equals == null) { 1017 if (equals == null) {
1018 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool"); 1018 equals = dart.closureWrap(_defaultEquals, "(K, K) → bool");
1019 } 1019 }
1020 } 1020 }
1021 return new _LinkedCustomHashMap(equals, hashCode, isValidKey); 1021 return new (_LinkedCustomHashMap$(K, V))(equals, hashCode, isValidKey);
1022 } 1022 }
1023 identity() { 1023 identity() {
1024 return new _LinkedIdentityHashMap(); 1024 return new (_LinkedIdentityHashMap$(K, V))();
1025 } 1025 }
1026 from(other) { 1026 from(other) {
1027 let result = new LinkedHashMap(); 1027 let result = new (LinkedHashMap$(K, V))();
1028 other.forEach((k, v) => { 1028 other.forEach((k, v) => {
1029 result.set(k, dart.as(v, V)); 1029 result.set(k, dart.as(v, V));
1030 }); 1030 });
1031 return result; 1031 return result;
1032 } 1032 }
1033 fromIterable(iterable, opts) { 1033 fromIterable(iterable, opts) {
1034 let key = opts && 'key' in opts ? opts.key : null; 1034 let key = opts && 'key' in opts ? opts.key : null;
1035 let value = opts && 'value' in opts ? opts.value : null; 1035 let value = opts && 'value' in opts ? opts.value : null;
1036 let map = new LinkedHashMap(); 1036 let map = new (LinkedHashMap$(K, V))();
1037 Maps._fillMapWithMappedIterable(map, iterable, key, value); 1037 Maps._fillMapWithMappedIterable(map, iterable, key, value);
1038 return map; 1038 return map;
1039 } 1039 }
1040 fromIterables(keys, values) { 1040 fromIterables(keys, values) {
1041 let map = new LinkedHashMap(); 1041 let map = new (LinkedHashMap$(K, V))();
1042 Maps._fillMapWithIterables(map, keys, values); 1042 Maps._fillMapWithIterables(map, keys, values);
1043 return map; 1043 return map;
1044 } 1044 }
1045 [_literal](keyValuePairs) { 1045 [_literal](keyValuePairs) {
1046 return dart.as(_js_helper.fillLiteralMap(keyValuePairs, new _LinkedHashM ap()), LinkedHashMap$(K, V)); 1046 return dart.as(_js_helper.fillLiteralMap(keyValuePairs, new (_LinkedHash Map$(K, V))()), LinkedHashMap$(K, V));
1047 } 1047 }
1048 [_empty]() { 1048 [_empty]() {
1049 return new _LinkedHashMap(); 1049 return new (_LinkedHashMap$(K, V))();
1050 } 1050 }
1051 } 1051 }
1052 LinkedHashMap[dart.implements] = () => [HashMap$(K, V)]; 1052 LinkedHashMap[dart.implements] = () => [HashMap$(K, V)];
1053 dart.defineNamedConstructor(LinkedHashMap, 'identity'); 1053 dart.defineNamedConstructor(LinkedHashMap, 'identity');
1054 dart.defineNamedConstructor(LinkedHashMap, 'from'); 1054 dart.defineNamedConstructor(LinkedHashMap, 'from');
1055 dart.defineNamedConstructor(LinkedHashMap, 'fromIterable'); 1055 dart.defineNamedConstructor(LinkedHashMap, 'fromIterable');
1056 dart.defineNamedConstructor(LinkedHashMap, 'fromIterables'); 1056 dart.defineNamedConstructor(LinkedHashMap, 'fromIterables');
1057 dart.defineNamedConstructor(LinkedHashMap, _literal); 1057 dart.defineNamedConstructor(LinkedHashMap, _literal);
1058 dart.defineNamedConstructor(LinkedHashMap, _empty); 1058 dart.defineNamedConstructor(LinkedHashMap, _empty);
1059 return LinkedHashMap; 1059 return LinkedHashMap;
1060 }); 1060 });
1061 let LinkedHashMap = LinkedHashMap$(dart.dynamic, dart.dynamic); 1061 let LinkedHashMap = LinkedHashMap$(dart.dynamic, dart.dynamic);
1062 let LinkedHashSet$ = dart.generic(function(E) { 1062 let LinkedHashSet$ = dart.generic(function(E) {
1063 class LinkedHashSet extends core.Object { 1063 class LinkedHashSet extends core.Object {
1064 LinkedHashSet(opts) { 1064 LinkedHashSet(opts) {
1065 let equals = opts && 'equals' in opts ? opts.equals : null; 1065 let equals = opts && 'equals' in opts ? opts.equals : null;
1066 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; 1066 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
1067 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; 1067 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
1068 if (isValidKey == null) { 1068 if (isValidKey == null) {
1069 if (hashCode == null) { 1069 if (hashCode == null) {
1070 if (equals == null) { 1070 if (equals == null) {
1071 return new _LinkedHashSet(); 1071 return new (_LinkedHashSet$(E))();
1072 } 1072 }
1073 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int"); 1073 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int");
1074 } else { 1074 } else {
1075 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { 1075 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) {
1076 return new _LinkedIdentityHashSet(); 1076 return new (_LinkedIdentityHashSet$(E))();
1077 } 1077 }
1078 if (equals == null) { 1078 if (equals == null) {
1079 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool"); 1079 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool");
1080 } 1080 }
1081 } 1081 }
1082 } else { 1082 } else {
1083 if (hashCode == null) { 1083 if (hashCode == null) {
1084 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int"); 1084 hashCode = dart.closureWrap(_defaultHashCode, "(E) → int");
1085 } 1085 }
1086 if (equals == null) { 1086 if (equals == null) {
1087 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool"); 1087 equals = dart.closureWrap(_defaultEquals, "(E, E) → bool");
1088 } 1088 }
1089 } 1089 }
1090 return new _LinkedCustomHashSet(equals, hashCode, isValidKey); 1090 return new (_LinkedCustomHashSet$(E))(equals, hashCode, isValidKey);
1091 } 1091 }
1092 identity() { 1092 identity() {
1093 return new _LinkedIdentityHashSet(); 1093 return new (_LinkedIdentityHashSet$(E))();
1094 } 1094 }
1095 from(elements) { 1095 from(elements) {
1096 let result = new LinkedHashSet(); 1096 let result = new (LinkedHashSet$(E))();
1097 for (let element of elements) { 1097 for (let element of elements) {
1098 result.add(element); 1098 result.add(element);
1099 } 1099 }
1100 return result; 1100 return result;
1101 } 1101 }
1102 } 1102 }
1103 LinkedHashSet[dart.implements] = () => [HashSet$(E)]; 1103 LinkedHashSet[dart.implements] = () => [HashSet$(E)];
1104 dart.defineNamedConstructor(LinkedHashSet, 'identity'); 1104 dart.defineNamedConstructor(LinkedHashSet, 'identity');
1105 dart.defineNamedConstructor(LinkedHashSet, 'from'); 1105 dart.defineNamedConstructor(LinkedHashSet, 'from');
1106 return LinkedHashSet; 1106 return LinkedHashSet;
(...skipping 25 matching lines...) Expand all
1132 addAll(entries) { 1132 addAll(entries) {
1133 entries.forEach(dart.closureWrap(((entry) => this[_insertAfter](this[_pr evious], dart.as(entry, E))).bind(this), "(E) → void")); 1133 entries.forEach(dart.closureWrap(((entry) => this[_insertAfter](this[_pr evious], dart.as(entry, E))).bind(this), "(E) → void"));
1134 } 1134 }
1135 remove(entry) { 1135 remove(entry) {
1136 if (!dart.equals(entry[_list], this)) 1136 if (!dart.equals(entry[_list], this))
1137 return false; 1137 return false;
1138 this[_unlink](entry); 1138 this[_unlink](entry);
1139 return true; 1139 return true;
1140 } 1140 }
1141 get iterator() { 1141 get iterator() {
1142 return new _LinkedListIterator(this); 1142 return new (_LinkedListIterator$(E))(this);
1143 } 1143 }
1144 get length() { 1144 get length() {
1145 return this[_length]; 1145 return this[_length];
1146 } 1146 }
1147 clear() { 1147 clear() {
1148 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; 1148 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
1149 let next = this[_next]; 1149 let next = this[_next];
1150 while (!dart.notNull(core.identical(next, this))) { 1150 while (!dart.notNull(core.identical(next, this))) {
1151 let entry = dart.as(next, E); 1151 let entry = dart.as(next, E);
1152 next = entry[_next]; 1152 next = entry[_next];
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
1283 } 1283 }
1284 } 1284 }
1285 LinkedListEntry[dart.implements] = () => [_LinkedListLink]; 1285 LinkedListEntry[dart.implements] = () => [_LinkedListLink];
1286 return LinkedListEntry; 1286 return LinkedListEntry;
1287 }); 1287 });
1288 let LinkedListEntry = LinkedListEntry$(dart.dynamic); 1288 let LinkedListEntry = LinkedListEntry$(dart.dynamic);
1289 let _filter = Symbol('_filter'); 1289 let _filter = Symbol('_filter');
1290 let ListMixin$ = dart.generic(function(E) { 1290 let ListMixin$ = dart.generic(function(E) {
1291 class ListMixin extends core.Object { 1291 class ListMixin extends core.Object {
1292 get iterator() { 1292 get iterator() {
1293 return new _internal.ListIterator(this); 1293 return new (_internal.ListIterator$(E))(this);
1294 } 1294 }
1295 elementAt(index) { 1295 elementAt(index) {
1296 return this.get(index); 1296 return this.get(index);
1297 } 1297 }
1298 forEach(action) { 1298 forEach(action) {
1299 let length = this.length; 1299 let length = this.length;
1300 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1300 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1301 action(this.get(i)); 1301 action(this.get(i));
1302 if (length != this.length) { 1302 if (length != this.length) {
1303 throw new core.ConcurrentModificationError(this); 1303 throw new core.ConcurrentModificationError(this);
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1414 join(separator) { 1414 join(separator) {
1415 if (separator === void 0) 1415 if (separator === void 0)
1416 separator = ""; 1416 separator = "";
1417 if (this.length == 0) 1417 if (this.length == 0)
1418 return ""; 1418 return "";
1419 let buffer = new core.StringBuffer(); 1419 let buffer = new core.StringBuffer();
1420 buffer.writeAll(this, separator); 1420 buffer.writeAll(this, separator);
1421 return buffer.toString(); 1421 return buffer.toString();
1422 } 1422 }
1423 where(test) { 1423 where(test) {
1424 return new _internal.WhereIterable(this, test); 1424 return new (_internal.WhereIterable$(E))(this, test);
1425 } 1425 }
1426 map(f) { 1426 map(f) {
1427 return new _internal.MappedListIterable(this, f); 1427 return new _internal.MappedListIterable(this, f);
1428 } 1428 }
1429 expand(f) { 1429 expand(f) {
1430 return new _internal.ExpandIterable(this, f); 1430 return new (_internal.ExpandIterable$(E, dynamic))(this, f);
1431 } 1431 }
1432 reduce(combine) { 1432 reduce(combine) {
1433 let length = this.length; 1433 let length = this.length;
1434 if (length == 0) 1434 if (length == 0)
1435 throw _internal.IterableElementError.noElement(); 1435 throw _internal.IterableElementError.noElement();
1436 let value = this.get(0); 1436 let value = this.get(0);
1437 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1437 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1438 value = combine(value, this.get(i)); 1438 value = combine(value, this.get(i));
1439 if (length != this.length) { 1439 if (length != this.length) {
1440 throw new core.ConcurrentModificationError(this); 1440 throw new core.ConcurrentModificationError(this);
1441 } 1441 }
1442 } 1442 }
1443 return value; 1443 return value;
1444 } 1444 }
1445 fold(initialValue, combine) { 1445 fold(initialValue, combine) {
1446 let value = initialValue; 1446 let value = initialValue;
1447 let length = this.length; 1447 let length = this.length;
1448 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1448 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1449 value = dart.dinvokef(combine, value, this.get(i)); 1449 value = dart.dinvokef(combine, value, this.get(i));
1450 if (length != this.length) { 1450 if (length != this.length) {
1451 throw new core.ConcurrentModificationError(this); 1451 throw new core.ConcurrentModificationError(this);
1452 } 1452 }
1453 } 1453 }
1454 return value; 1454 return value;
1455 } 1455 }
1456 skip(count) { 1456 skip(count) {
1457 return new _internal.SubListIterable(this, count, null); 1457 return new (_internal.SubListIterable$(E))(this, count, null);
1458 } 1458 }
1459 skipWhile(test) { 1459 skipWhile(test) {
1460 return new _internal.SkipWhileIterable(this, test); 1460 return new (_internal.SkipWhileIterable$(E))(this, test);
1461 } 1461 }
1462 take(count) { 1462 take(count) {
1463 return new _internal.SubListIterable(this, 0, count); 1463 return new (_internal.SubListIterable$(E))(this, 0, count);
1464 } 1464 }
1465 takeWhile(test) { 1465 takeWhile(test) {
1466 return new _internal.TakeWhileIterable(this, test); 1466 return new (_internal.TakeWhileIterable$(E))(this, test);
1467 } 1467 }
1468 toList(opts) { 1468 toList(opts) {
1469 let growable = opts && 'growable' in opts ? opts.growable : true; 1469 let growable = opts && 'growable' in opts ? opts.growable : true;
1470 let result = null; 1470 let result = null;
1471 if (growable) { 1471 if (growable) {
1472 result = ((_) => { 1472 result = ((_) => {
1473 _.length = this.length; 1473 _.length = this.length;
1474 return _; 1474 return _;
1475 }).bind(this)(new core.List()); 1475 }).bind(this)(new (core.List$(E))());
1476 } else { 1476 } else {
1477 result = new core.List(this.length); 1477 result = new (core.List$(E))(this.length);
1478 } 1478 }
1479 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) { 1479 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
1480 result.set(i, this.get(i)); 1480 result.set(i, this.get(i));
1481 } 1481 }
1482 return result; 1482 return result;
1483 } 1483 }
1484 toSet() { 1484 toSet() {
1485 let result = new core.Set(); 1485 let result = new (core.Set$(E))();
1486 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) { 1486 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
1487 result.add(this.get(i)); 1487 result.add(this.get(i));
1488 } 1488 }
1489 return result; 1489 return result;
1490 } 1490 }
1491 add(element) { 1491 add(element) {
1492 this.set(((x$) => this.length = dart.notNull(x$) + 1, x$).bind(this)(thi s.length), element); 1492 this.set(((x$) => this.length = dart.notNull(x$) + 1, x$).bind(this)(thi s.length), element);
1493 } 1493 }
1494 addAll(iterable) { 1494 addAll(iterable) {
1495 for (let element of iterable) { 1495 for (let element of iterable) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 let length = this.length; 1557 let length = this.length;
1558 while (dart.notNull(length) > 1) { 1558 while (dart.notNull(length) > 1) {
1559 let pos = random.nextInt(length); 1559 let pos = random.nextInt(length);
1560 length = 1; 1560 length = 1;
1561 let tmp = this.get(length); 1561 let tmp = this.get(length);
1562 this.set(length, this.get(pos)); 1562 this.set(length, this.get(pos));
1563 this.set(pos, tmp); 1563 this.set(pos, tmp);
1564 } 1564 }
1565 } 1565 }
1566 asMap() { 1566 asMap() {
1567 return new _internal.ListMapView(this); 1567 return new (_internal.ListMapView$(E))(this);
1568 } 1568 }
1569 sublist(start, end) { 1569 sublist(start, end) {
1570 if (end === void 0) 1570 if (end === void 0)
1571 end = null; 1571 end = null;
1572 let listLength = this.length; 1572 let listLength = this.length;
1573 if (end == null) 1573 if (end == null)
1574 end = listLength; 1574 end = listLength;
1575 core.RangeError.checkValidRange(start, end, listLength); 1575 core.RangeError.checkValidRange(start, end, listLength);
1576 let length = dart.notNull(end) - dart.notNull(start); 1576 let length = dart.notNull(end) - dart.notNull(start);
1577 let result = new core.List(); 1577 let result = new (core.List$(E))();
1578 result.length = length; 1578 result.length = length;
1579 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1579 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1580 result.set(i, this.get(dart.notNull(start) + dart.notNull(i))); 1580 result.set(i, this.get(dart.notNull(start) + dart.notNull(i)));
1581 } 1581 }
1582 return result; 1582 return result;
1583 } 1583 }
1584 getRange(start, end) { 1584 getRange(start, end) {
1585 core.RangeError.checkValidRange(start, end, this.length); 1585 core.RangeError.checkValidRange(start, end, this.length);
1586 return new _internal.SubListIterable(this, start, end); 1586 return new (_internal.SubListIterable$(E))(this, start, end);
1587 } 1587 }
1588 removeRange(start, end) { 1588 removeRange(start, end) {
1589 core.RangeError.checkValidRange(start, end, this.length); 1589 core.RangeError.checkValidRange(start, end, this.length);
1590 let length = dart.notNull(end) - dart.notNull(start); 1590 let length = dart.notNull(end) - dart.notNull(start);
1591 this.setRange(start, dart.notNull(this.length) - dart.notNull(length), t his, end); 1591 this.setRange(start, dart.notNull(this.length) - dart.notNull(length), t his, end);
1592 this.length = length; 1592 this.length = length;
1593 } 1593 }
1594 fillRange(start, end, fill) { 1594 fillRange(start, end, fill) {
1595 if (fill === void 0) 1595 if (fill === void 0)
1596 fill = null; 1596 fill = null;
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1721 setAll(index, iterable) { 1721 setAll(index, iterable) {
1722 if (dart.is(iterable, core.List)) { 1722 if (dart.is(iterable, core.List)) {
1723 this.setRange(index, dart.notNull(index) + dart.notNull(iterable.lengt h), iterable); 1723 this.setRange(index, dart.notNull(index) + dart.notNull(iterable.lengt h), iterable);
1724 } else { 1724 } else {
1725 for (let element of iterable) { 1725 for (let element of iterable) {
1726 this.set(((x$) => index = dart.notNull(x$) + 1, x$)(index), element) ; 1726 this.set(((x$) => index = dart.notNull(x$) + 1, x$)(index), element) ;
1727 } 1727 }
1728 } 1728 }
1729 } 1729 }
1730 get reversed() { 1730 get reversed() {
1731 return new _internal.ReversedListIterable(this); 1731 return new (_internal.ReversedListIterable$(E))(this);
1732 } 1732 }
1733 toString() { 1733 toString() {
1734 return IterableBase.iterableToFullString(this, '[', ']'); 1734 return IterableBase.iterableToFullString(this, '[', ']');
1735 } 1735 }
1736 } 1736 }
1737 ListMixin[dart.implements] = () => [core.List$(E)]; 1737 ListMixin[dart.implements] = () => [core.List$(E)];
1738 return ListMixin; 1738 return ListMixin;
1739 }); 1739 });
1740 let ListMixin = ListMixin$(dart.dynamic); 1740 let ListMixin = ListMixin$(dart.dynamic);
1741 let ListBase$ = dart.generic(function(E) { 1741 let ListBase$ = dart.generic(function(E) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1778 get length() { 1778 get length() {
1779 return this.keys.length; 1779 return this.keys.length;
1780 } 1780 }
1781 get isEmpty() { 1781 get isEmpty() {
1782 return this.keys.isEmpty; 1782 return this.keys.isEmpty;
1783 } 1783 }
1784 get isNotEmpty() { 1784 get isNotEmpty() {
1785 return this.keys.isNotEmpty; 1785 return this.keys.isNotEmpty;
1786 } 1786 }
1787 get values() { 1787 get values() {
1788 return new _MapBaseValueIterable(this); 1788 return new (_MapBaseValueIterable$(V))(this);
1789 } 1789 }
1790 toString() { 1790 toString() {
1791 return Maps.mapToString(this); 1791 return Maps.mapToString(this);
1792 } 1792 }
1793 } 1793 }
1794 MapMixin[dart.implements] = () => [core.Map$(K, V)]; 1794 MapMixin[dart.implements] = () => [core.Map$(K, V)];
1795 return MapMixin; 1795 return MapMixin;
1796 }); 1796 });
1797 let MapMixin = MapMixin$(dart.dynamic, dart.dynamic); 1797 let MapMixin = MapMixin$(dart.dynamic, dart.dynamic);
1798 let MapBase$ = dart.generic(function(K, V) { 1798 let MapBase$ = dart.generic(function(K, V) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1848 get first() { 1848 get first() {
1849 return dart.as(this[_map].get(this[_map].keys.first), V); 1849 return dart.as(this[_map].get(this[_map].keys.first), V);
1850 } 1850 }
1851 get single() { 1851 get single() {
1852 return dart.as(this[_map].get(this[_map].keys.single), V); 1852 return dart.as(this[_map].get(this[_map].keys.single), V);
1853 } 1853 }
1854 get last() { 1854 get last() {
1855 return dart.as(this[_map].get(this[_map].keys.last), V); 1855 return dart.as(this[_map].get(this[_map].keys.last), V);
1856 } 1856 }
1857 get iterator() { 1857 get iterator() {
1858 return new _MapBaseValueIterator(this[_map]); 1858 return new (_MapBaseValueIterator$(V))(this[_map]);
1859 } 1859 }
1860 } 1860 }
1861 _MapBaseValueIterable[dart.implements] = () => [_internal.EfficientLength]; 1861 _MapBaseValueIterable[dart.implements] = () => [_internal.EfficientLength];
1862 return _MapBaseValueIterable; 1862 return _MapBaseValueIterable;
1863 }); 1863 });
1864 let _MapBaseValueIterable = _MapBaseValueIterable$(dart.dynamic); 1864 let _MapBaseValueIterable = _MapBaseValueIterable$(dart.dynamic);
1865 let _keys = Symbol('_keys'); 1865 let _keys = Symbol('_keys');
1866 let _MapBaseValueIterator$ = dart.generic(function(V) { 1866 let _MapBaseValueIterator$ = dart.generic(function(V) {
1867 class _MapBaseValueIterator extends core.Object { 1867 class _MapBaseValueIterator extends core.Object {
1868 _MapBaseValueIterator(map) { 1868 _MapBaseValueIterator(map) {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
2045 hasNextValue = valueIterator.moveNext(); 2045 hasNextValue = valueIterator.moveNext();
2046 } 2046 }
2047 if (dart.notNull(hasNextKey) || dart.notNull(hasNextValue)) { 2047 if (dart.notNull(hasNextKey) || dart.notNull(hasNextValue)) {
2048 throw new core.ArgumentError("Iterables do not have same length."); 2048 throw new core.ArgumentError("Iterables do not have same length.");
2049 } 2049 }
2050 } 2050 }
2051 } 2051 }
2052 let Queue$ = dart.generic(function(E) { 2052 let Queue$ = dart.generic(function(E) {
2053 class Queue extends core.Object { 2053 class Queue extends core.Object {
2054 Queue() { 2054 Queue() {
2055 return new ListQueue(); 2055 return new (ListQueue$(E))();
2056 } 2056 }
2057 from(elements) { 2057 from(elements) {
2058 return new ListQueue.from(elements); 2058 return new ListQueue$(E).from(elements);
2059 } 2059 }
2060 } 2060 }
2061 Queue[dart.implements] = () => [core.Iterable$(E), _internal.EfficientLength ]; 2061 Queue[dart.implements] = () => [core.Iterable$(E), _internal.EfficientLength ];
2062 dart.defineNamedConstructor(Queue, 'from'); 2062 dart.defineNamedConstructor(Queue, 'from');
2063 return Queue; 2063 return Queue;
2064 }); 2064 });
2065 let Queue = Queue$(dart.dynamic); 2065 let Queue = Queue$(dart.dynamic);
2066 let _element = Symbol('_element'); 2066 let _element = Symbol('_element');
2067 let _link = Symbol('_link'); 2067 let _link = Symbol('_link');
2068 let _asNonSentinelEntry = Symbol('_asNonSentinelEntry'); 2068 let _asNonSentinelEntry = Symbol('_asNonSentinelEntry');
2069 let DoubleLinkedQueueEntry$ = dart.generic(function(E) { 2069 let DoubleLinkedQueueEntry$ = dart.generic(function(E) {
2070 class DoubleLinkedQueueEntry extends core.Object { 2070 class DoubleLinkedQueueEntry extends core.Object {
2071 DoubleLinkedQueueEntry(e) { 2071 DoubleLinkedQueueEntry(e) {
2072 this[_element] = e; 2072 this[_element] = e;
2073 this[_previous] = null; 2073 this[_previous] = null;
2074 this[_next] = null; 2074 this[_next] = null;
2075 } 2075 }
2076 [_link](previous, next) { 2076 [_link](previous, next) {
2077 this[_next] = next; 2077 this[_next] = next;
2078 this[_previous] = previous; 2078 this[_previous] = previous;
2079 previous[_next] = this; 2079 previous[_next] = this;
2080 next[_previous] = this; 2080 next[_previous] = this;
2081 } 2081 }
2082 append(e) { 2082 append(e) {
2083 new DoubleLinkedQueueEntry(e)._link(this, this[_next]); 2083 new (DoubleLinkedQueueEntry$(E))(e)._link(this, this[_next]);
2084 } 2084 }
2085 prepend(e) { 2085 prepend(e) {
2086 new DoubleLinkedQueueEntry(e)._link(this[_previous], this); 2086 new (DoubleLinkedQueueEntry$(E))(e)._link(this[_previous], this);
2087 } 2087 }
2088 remove() { 2088 remove() {
2089 this[_previous][_next] = this[_next]; 2089 this[_previous][_next] = this[_next];
2090 this[_next][_previous] = this[_previous]; 2090 this[_next][_previous] = this[_previous];
2091 this[_next] = null; 2091 this[_next] = null;
2092 this[_previous] = null; 2092 this[_previous] = null;
2093 return this[_element]; 2093 return this[_element];
2094 } 2094 }
2095 [_asNonSentinelEntry]() { 2095 [_asNonSentinelEntry]() {
2096 return this; 2096 return this;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2134 }); 2134 });
2135 let _DoubleLinkedQueueEntrySentinel = _DoubleLinkedQueueEntrySentinel$(dart.dy namic); 2135 let _DoubleLinkedQueueEntrySentinel = _DoubleLinkedQueueEntrySentinel$(dart.dy namic);
2136 let _sentinel = Symbol('_sentinel'); 2136 let _sentinel = Symbol('_sentinel');
2137 let _elementCount = Symbol('_elementCount'); 2137 let _elementCount = Symbol('_elementCount');
2138 let DoubleLinkedQueue$ = dart.generic(function(E) { 2138 let DoubleLinkedQueue$ = dart.generic(function(E) {
2139 class DoubleLinkedQueue extends IterableBase$(E) { 2139 class DoubleLinkedQueue extends IterableBase$(E) {
2140 DoubleLinkedQueue() { 2140 DoubleLinkedQueue() {
2141 this[_sentinel] = null; 2141 this[_sentinel] = null;
2142 this[_elementCount] = 0; 2142 this[_elementCount] = 0;
2143 super.IterableBase(); 2143 super.IterableBase();
2144 this[_sentinel] = new _DoubleLinkedQueueEntrySentinel(); 2144 this[_sentinel] = new (_DoubleLinkedQueueEntrySentinel$(E))();
2145 } 2145 }
2146 from(elements) { 2146 from(elements) {
2147 let list = dart.as(new DoubleLinkedQueue(), Queue$(E)); 2147 let list = dart.as(new DoubleLinkedQueue(), Queue$(E));
2148 for (let e of dart.as(elements, core.Iterable$(E))) { 2148 for (let e of dart.as(elements, core.Iterable$(E))) {
2149 list.addLast(e); 2149 list.addLast(e);
2150 } 2150 }
2151 return dart.as(list, DoubleLinkedQueue$(E)); 2151 return dart.as(list, DoubleLinkedQueue$(E));
2152 } 2152 }
2153 get length() { 2153 get length() {
2154 return this[_elementCount]; 2154 return this[_elementCount];
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
2238 } 2238 }
2239 forEachEntry(f) { 2239 forEachEntry(f) {
2240 let entry = this[_sentinel][_next]; 2240 let entry = this[_sentinel][_next];
2241 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { 2241 while (!dart.notNull(core.identical(entry, this[_sentinel]))) {
2242 let nextEntry = entry[_next]; 2242 let nextEntry = entry[_next];
2243 f(entry); 2243 f(entry);
2244 entry = nextEntry; 2244 entry = nextEntry;
2245 } 2245 }
2246 } 2246 }
2247 get iterator() { 2247 get iterator() {
2248 return new _DoubleLinkedQueueIterator(this[_sentinel]); 2248 return new (_DoubleLinkedQueueIterator$(E))(this[_sentinel]);
2249 } 2249 }
2250 toString() { 2250 toString() {
2251 return IterableBase.iterableToFullString(this, '{', '}'); 2251 return IterableBase.iterableToFullString(this, '{', '}');
2252 } 2252 }
2253 } 2253 }
2254 DoubleLinkedQueue[dart.implements] = () => [Queue$(E)]; 2254 DoubleLinkedQueue[dart.implements] = () => [Queue$(E)];
2255 dart.defineNamedConstructor(DoubleLinkedQueue, 'from'); 2255 dart.defineNamedConstructor(DoubleLinkedQueue, 'from');
2256 return DoubleLinkedQueue; 2256 return DoubleLinkedQueue;
2257 }); 2257 });
2258 let DoubleLinkedQueue = DoubleLinkedQueue$(dart.dynamic); 2258 let DoubleLinkedQueue = DoubleLinkedQueue$(dart.dynamic);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
2304 this[_tail] = 0; 2304 this[_tail] = 0;
2305 this[_table] = null; 2305 this[_table] = null;
2306 this[_modificationCount] = 0; 2306 this[_modificationCount] = 0;
2307 super.IterableBase(); 2307 super.IterableBase();
2308 if (initialCapacity == null || dart.notNull(initialCapacity) < dart.notN ull(ListQueue[_INITIAL_CAPACITY])) { 2308 if (initialCapacity == null || dart.notNull(initialCapacity) < dart.notN ull(ListQueue[_INITIAL_CAPACITY])) {
2309 initialCapacity = ListQueue[_INITIAL_CAPACITY]; 2309 initialCapacity = ListQueue[_INITIAL_CAPACITY];
2310 } else if (!dart.notNull(ListQueue[_isPowerOf2](initialCapacity))) { 2310 } else if (!dart.notNull(ListQueue[_isPowerOf2](initialCapacity))) {
2311 initialCapacity = ListQueue[_nextPowerOf2](initialCapacity); 2311 initialCapacity = ListQueue[_nextPowerOf2](initialCapacity);
2312 } 2312 }
2313 dart.assert(ListQueue[_isPowerOf2](initialCapacity)); 2313 dart.assert(ListQueue[_isPowerOf2](initialCapacity));
2314 this[_table] = new core.List(initialCapacity); 2314 this[_table] = new (core.List$(E))(initialCapacity);
2315 } 2315 }
2316 from(elements) { 2316 from(elements) {
2317 if (dart.is(elements, core.List)) { 2317 if (dart.is(elements, core.List)) {
2318 let length = elements.length; 2318 let length = elements.length;
2319 let queue = dart.as(new ListQueue(dart.notNull(length) + 1), ListQueue $(E)); 2319 let queue = dart.as(new ListQueue(dart.notNull(length) + 1), ListQueue $(E));
2320 dart.assert(dart.notNull(queue[_table].length) > dart.notNull(length)) ; 2320 dart.assert(dart.notNull(queue[_table].length) > dart.notNull(length)) ;
2321 let sourceList = elements; 2321 let sourceList = elements;
2322 queue[_table].setRange(0, length, dart.as(sourceList, core.Iterable$(E )), 0); 2322 queue[_table].setRange(0, length, dart.as(sourceList, core.Iterable$(E )), 0);
2323 queue[_tail] = length; 2323 queue[_tail] = length;
2324 return queue; 2324 return queue;
2325 } else { 2325 } else {
2326 let capacity = ListQueue[_INITIAL_CAPACITY]; 2326 let capacity = ListQueue[_INITIAL_CAPACITY];
2327 if (dart.is(elements, _internal.EfficientLength)) { 2327 if (dart.is(elements, _internal.EfficientLength)) {
2328 capacity = elements.length; 2328 capacity = elements.length;
2329 } 2329 }
2330 let result = new ListQueue(capacity); 2330 let result = new (ListQueue$(E))(capacity);
2331 for (let element of dart.as(elements, core.Iterable$(E))) { 2331 for (let element of dart.as(elements, core.Iterable$(E))) {
2332 result.addLast(element); 2332 result.addLast(element);
2333 } 2333 }
2334 return result; 2334 return result;
2335 } 2335 }
2336 } 2336 }
2337 get iterator() { 2337 get iterator() {
2338 return new _ListQueueIterator(this); 2338 return new (_ListQueueIterator$(E))(this);
2339 } 2339 }
2340 forEach(action) { 2340 forEach(action) {
2341 let modificationCount = this[_modificationCount]; 2341 let modificationCount = this[_modificationCount];
2342 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & da rt.notNull(this[_table].length) - 1) { 2342 for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & da rt.notNull(this[_table].length) - 1) {
2343 action(this[_table].get(i)); 2343 action(this[_table].get(i));
2344 this[_checkModification](modificationCount); 2344 this[_checkModification](modificationCount);
2345 } 2345 }
2346 } 2346 }
2347 get isEmpty() { 2347 get isEmpty() {
2348 return this[_head] == this[_tail]; 2348 return this[_head] == this[_tail];
(...skipping 22 matching lines...) Expand all
2371 core.RangeError.checkValidIndex(index, this); 2371 core.RangeError.checkValidIndex(index, this);
2372 return this[_table].get(dart.notNull(this[_head]) + dart.notNull(index) & dart.notNull(this[_table].length) - 1); 2372 return this[_table].get(dart.notNull(this[_head]) + dart.notNull(index) & dart.notNull(this[_table].length) - 1);
2373 } 2373 }
2374 toList(opts) { 2374 toList(opts) {
2375 let growable = opts && 'growable' in opts ? opts.growable : true; 2375 let growable = opts && 'growable' in opts ? opts.growable : true;
2376 let list = null; 2376 let list = null;
2377 if (growable) { 2377 if (growable) {
2378 list = ((_) => { 2378 list = ((_) => {
2379 _.length = this.length; 2379 _.length = this.length;
2380 return _; 2380 return _;
2381 }).bind(this)(new core.List()); 2381 }).bind(this)(new (core.List$(E))());
2382 } else { 2382 } else {
2383 list = new core.List(this.length); 2383 list = new (core.List$(E))(this.length);
2384 } 2384 }
2385 this[_writeToList](list); 2385 this[_writeToList](list);
2386 return list; 2386 return list;
2387 } 2387 }
2388 add(element) { 2388 add(element) {
2389 this[_add](element); 2389 this[_add](element);
2390 } 2390 }
2391 addAll(elements) { 2391 addAll(elements) {
2392 if (dart.is(elements, core.List)) { 2392 if (dart.is(elements, core.List)) {
2393 let list = dart.as(elements, core.List); 2393 let list = dart.as(elements, core.List);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2533 while (i != this[_tail]) { 2533 while (i != this[_tail]) {
2534 let nextOffset = dart.notNull(i) + 1 & dart.notNull(mask); 2534 let nextOffset = dart.notNull(i) + 1 & dart.notNull(mask);
2535 this[_table].set(i, this[_table].get(nextOffset)); 2535 this[_table].set(i, this[_table].get(nextOffset));
2536 i = nextOffset; 2536 i = nextOffset;
2537 } 2537 }
2538 this[_table].set(this[_tail], null); 2538 this[_table].set(this[_tail], null);
2539 return offset; 2539 return offset;
2540 } 2540 }
2541 } 2541 }
2542 [_grow]() { 2542 [_grow]() {
2543 let newTable = new core.List(dart.notNull(this[_table].length) * 2); 2543 let newTable = new (core.List$(E))(dart.notNull(this[_table].length) * 2 );
2544 let split = dart.notNull(this[_table].length) - dart.notNull(this[_head] ); 2544 let split = dart.notNull(this[_table].length) - dart.notNull(this[_head] );
2545 newTable.setRange(0, split, this[_table], this[_head]); 2545 newTable.setRange(0, split, this[_table], this[_head]);
2546 newTable.setRange(split, dart.notNull(split) + dart.notNull(this[_head]) , this[_table], 0); 2546 newTable.setRange(split, dart.notNull(split) + dart.notNull(this[_head]) , this[_table], 0);
2547 this[_head] = 0; 2547 this[_head] = 0;
2548 this[_tail] = this[_table].length; 2548 this[_tail] = this[_table].length;
2549 this[_table] = newTable; 2549 this[_table] = newTable;
2550 } 2550 }
2551 [_writeToList](target) { 2551 [_writeToList](target) {
2552 dart.assert(dart.notNull(target.length) >= dart.notNull(this.length)); 2552 dart.assert(dart.notNull(target.length) >= dart.notNull(this.length));
2553 if (dart.notNull(this[_head]) <= dart.notNull(this[_tail])) { 2553 if (dart.notNull(this[_head]) <= dart.notNull(this[_tail])) {
2554 let length = dart.notNull(this[_tail]) - dart.notNull(this[_head]); 2554 let length = dart.notNull(this[_tail]) - dart.notNull(this[_head]);
2555 target.setRange(0, length, this[_table], this[_head]); 2555 target.setRange(0, length, this[_table], this[_head]);
2556 return length; 2556 return length;
2557 } else { 2557 } else {
2558 let firstPartSize = dart.notNull(this[_table].length) - dart.notNull(t his[_head]); 2558 let firstPartSize = dart.notNull(this[_table].length) - dart.notNull(t his[_head]);
2559 target.setRange(0, firstPartSize, this[_table], this[_head]); 2559 target.setRange(0, firstPartSize, this[_table], this[_head]);
2560 target.setRange(firstPartSize, dart.notNull(firstPartSize) + dart.notN ull(this[_tail]), this[_table], 0); 2560 target.setRange(firstPartSize, dart.notNull(firstPartSize) + dart.notN ull(this[_tail]), this[_table], 0);
2561 return dart.notNull(this[_tail]) + dart.notNull(firstPartSize); 2561 return dart.notNull(this[_tail]) + dart.notNull(firstPartSize);
2562 } 2562 }
2563 } 2563 }
2564 [_preGrow](newElementCount) { 2564 [_preGrow](newElementCount) {
2565 dart.assert(dart.notNull(newElementCount) >= dart.notNull(this.length)); 2565 dart.assert(dart.notNull(newElementCount) >= dart.notNull(this.length));
2566 newElementCount = dart.notNull(newElementCount) >> 1; 2566 newElementCount = dart.notNull(newElementCount) >> 1;
2567 let newCapacity = ListQueue[_nextPowerOf2](newElementCount); 2567 let newCapacity = ListQueue[_nextPowerOf2](newElementCount);
2568 let newTable = new core.List(newCapacity); 2568 let newTable = new (core.List$(E))(newCapacity);
2569 this[_tail] = this[_writeToList](newTable); 2569 this[_tail] = this[_writeToList](newTable);
2570 this[_table] = newTable; 2570 this[_table] = newTable;
2571 this[_head] = 0; 2571 this[_head] = 0;
2572 } 2572 }
2573 } 2573 }
2574 ListQueue[dart.implements] = () => [Queue$(E)]; 2574 ListQueue[dart.implements] = () => [Queue$(E)];
2575 dart.defineNamedConstructor(ListQueue, 'from'); 2575 dart.defineNamedConstructor(ListQueue, 'from');
2576 ListQueue._INITIAL_CAPACITY = 8; 2576 ListQueue._INITIAL_CAPACITY = 8;
2577 return ListQueue; 2577 return ListQueue;
2578 }); 2578 });
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
2636 let _compare = Symbol('_compare'); 2636 let _compare = Symbol('_compare');
2637 let _splayMin = Symbol('_splayMin'); 2637 let _splayMin = Symbol('_splayMin');
2638 let _splayMax = Symbol('_splayMax'); 2638 let _splayMax = Symbol('_splayMax');
2639 let _addNewRoot = Symbol('_addNewRoot'); 2639 let _addNewRoot = Symbol('_addNewRoot');
2640 let _first = Symbol('_first'); 2640 let _first = Symbol('_first');
2641 let _last = Symbol('_last'); 2641 let _last = Symbol('_last');
2642 let _clear = Symbol('_clear'); 2642 let _clear = Symbol('_clear');
2643 let _SplayTree$ = dart.generic(function(K) { 2643 let _SplayTree$ = dart.generic(function(K) {
2644 class _SplayTree extends core.Object { 2644 class _SplayTree extends core.Object {
2645 _SplayTree() { 2645 _SplayTree() {
2646 this[_dummy] = new _SplayTreeNode(null); 2646 this[_dummy] = new (_SplayTreeNode$(K))(null);
2647 this[_root] = null; 2647 this[_root] = null;
2648 this[_count] = 0; 2648 this[_count] = 0;
2649 this[_modificationCount] = 0; 2649 this[_modificationCount] = 0;
2650 this[_splayCount] = 0; 2650 this[_splayCount] = 0;
2651 } 2651 }
2652 [_splay](key) { 2652 [_splay](key) {
2653 if (this[_root] == null) 2653 if (this[_root] == null)
2654 return -1; 2654 return -1;
2655 let left = this[_dummy]; 2655 let left = this[_dummy];
2656 let right = this[_dummy]; 2656 let right = this[_dummy];
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
2800 isValidKey = null; 2800 isValidKey = null;
2801 this[_comparator] = dart.as(compare == null ? core.Comparable.compare : compare, core.Comparator); 2801 this[_comparator] = dart.as(compare == null ? core.Comparable.compare : compare, core.Comparator);
2802 this[_validKey] = dart.as(isValidKey != null ? isValidKey : (v) => dart. is(v, K), _Predicate); 2802 this[_validKey] = dart.as(isValidKey != null ? isValidKey : (v) => dart. is(v, K), _Predicate);
2803 super._SplayTree(); 2803 super._SplayTree();
2804 } 2804 }
2805 from(other, compare, isValidKey) { 2805 from(other, compare, isValidKey) {
2806 if (compare === void 0) 2806 if (compare === void 0)
2807 compare = null; 2807 compare = null;
2808 if (isValidKey === void 0) 2808 if (isValidKey === void 0)
2809 isValidKey = null; 2809 isValidKey = null;
2810 let result = new SplayTreeMap(); 2810 let result = new (SplayTreeMap$(K, V))();
2811 other.forEach((k, v) => { 2811 other.forEach((k, v) => {
2812 result.set(k, dart.as(v, V)); 2812 result.set(k, dart.as(v, V));
2813 }); 2813 });
2814 return result; 2814 return result;
2815 } 2815 }
2816 fromIterable(iterable, opts) { 2816 fromIterable(iterable, opts) {
2817 let key = opts && 'key' in opts ? opts.key : null; 2817 let key = opts && 'key' in opts ? opts.key : null;
2818 let value = opts && 'value' in opts ? opts.value : null; 2818 let value = opts && 'value' in opts ? opts.value : null;
2819 let compare = opts && 'compare' in opts ? opts.compare : null; 2819 let compare = opts && 'compare' in opts ? opts.compare : null;
2820 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; 2820 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
2821 let map = new SplayTreeMap(compare, isValidKey); 2821 let map = new (SplayTreeMap$(K, V))(compare, isValidKey);
2822 Maps._fillMapWithMappedIterable(map, iterable, key, value); 2822 Maps._fillMapWithMappedIterable(map, iterable, key, value);
2823 return map; 2823 return map;
2824 } 2824 }
2825 fromIterables(keys, values, compare, isValidKey) { 2825 fromIterables(keys, values, compare, isValidKey) {
2826 if (compare === void 0) 2826 if (compare === void 0)
2827 compare = null; 2827 compare = null;
2828 if (isValidKey === void 0) 2828 if (isValidKey === void 0)
2829 isValidKey = null; 2829 isValidKey = null;
2830 let map = new SplayTreeMap(compare, isValidKey); 2830 let map = new (SplayTreeMap$(K, V))(compare, isValidKey);
2831 Maps._fillMapWithIterables(map, keys, values); 2831 Maps._fillMapWithIterables(map, keys, values);
2832 return map; 2832 return map;
2833 } 2833 }
2834 [_compare](key1, key2) { 2834 [_compare](key1, key2) {
2835 return this[_comparator](key1, key2); 2835 return this[_comparator](key1, key2);
2836 } 2836 }
2837 [_internal$]() { 2837 [_internal$]() {
2838 this[_comparator] = null; 2838 this[_comparator] = null;
2839 this[_validKey] = null; 2839 this[_validKey] = null;
2840 super._SplayTree(); 2840 super._SplayTree();
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
2898 this.set(key, value); 2898 this.set(key, value);
2899 }).bind(this)); 2899 }).bind(this));
2900 } 2900 }
2901 get isEmpty() { 2901 get isEmpty() {
2902 return this[_root] == null; 2902 return this[_root] == null;
2903 } 2903 }
2904 get isNotEmpty() { 2904 get isNotEmpty() {
2905 return !dart.notNull(this.isEmpty); 2905 return !dart.notNull(this.isEmpty);
2906 } 2906 }
2907 forEach(f) { 2907 forEach(f) {
2908 let nodes = new _SplayTreeNodeIterator(this); 2908 let nodes = new (_SplayTreeNodeIterator$(K))(this);
2909 while (nodes.moveNext()) { 2909 while (nodes.moveNext()) {
2910 let node = dart.as(nodes.current, _SplayTreeMapNode$(K, V)); 2910 let node = dart.as(nodes.current, _SplayTreeMapNode$(K, V));
2911 f(node.key, node.value); 2911 f(node.key, node.value);
2912 } 2912 }
2913 } 2913 }
2914 get length() { 2914 get length() {
2915 return this[_count]; 2915 return this[_count];
2916 } 2916 }
2917 clear() { 2917 clear() {
2918 this[_clear](); 2918 this[_clear]();
(...skipping 14 matching lines...) Expand all
2933 } 2933 }
2934 if (dart.notNull(node.right != null) && dart.notNull(visit(dart.as(n ode.right, _SplayTreeMapNode)))) 2934 if (dart.notNull(node.right != null) && dart.notNull(visit(dart.as(n ode.right, _SplayTreeMapNode))))
2935 return true; 2935 return true;
2936 node = dart.as(node.left, _SplayTreeMapNode); 2936 node = dart.as(node.left, _SplayTreeMapNode);
2937 } 2937 }
2938 return false; 2938 return false;
2939 } 2939 }
2940 return visit(dart.as(this[_root], _SplayTreeMapNode)); 2940 return visit(dart.as(this[_root], _SplayTreeMapNode));
2941 } 2941 }
2942 get keys() { 2942 get keys() {
2943 return new _SplayTreeKeyIterable(this); 2943 return new (_SplayTreeKeyIterable$(K))(this);
2944 } 2944 }
2945 get values() { 2945 get values() {
2946 return new _SplayTreeValueIterable(this); 2946 return new (_SplayTreeValueIterable$(K, V))(this);
2947 } 2947 }
2948 toString() { 2948 toString() {
2949 return Maps.mapToString(this); 2949 return Maps.mapToString(this);
2950 } 2950 }
2951 firstKey() { 2951 firstKey() {
2952 if (this[_root] == null) 2952 if (this[_root] == null)
2953 return null; 2953 return null;
2954 return dart.as(this[_first].key, K); 2954 return dart.as(this[_first].key, K);
2955 } 2955 }
2956 lastKey() { 2956 lastKey() {
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
3080 this[_tree] = tree$; 3080 this[_tree] = tree$;
3081 super.IterableBase(); 3081 super.IterableBase();
3082 } 3082 }
3083 get length() { 3083 get length() {
3084 return this[_tree][_count]; 3084 return this[_tree][_count];
3085 } 3085 }
3086 get isEmpty() { 3086 get isEmpty() {
3087 return this[_tree][_count] == 0; 3087 return this[_tree][_count] == 0;
3088 } 3088 }
3089 get iterator() { 3089 get iterator() {
3090 return new _SplayTreeKeyIterator(this[_tree]); 3090 return new (_SplayTreeKeyIterator$(K))(this[_tree]);
3091 } 3091 }
3092 toSet() { 3092 toSet() {
3093 let setOrMap = this[_tree]; 3093 let setOrMap = this[_tree];
3094 let set = new SplayTreeSet(dart.as(setOrMap[_comparator], dart.throw_("U nimplemented type (K, K) → int")), dart.as(setOrMap[_validKey], dart.throw_("Uni mplemented type (dynamic) → bool"))); 3094 let set = new (SplayTreeSet$(K))(dart.as(setOrMap[_comparator], dart.thr ow_("Unimplemented type (K, K) → int")), dart.as(setOrMap[_validKey], dart.throw _("Unimplemented type (dynamic) → bool")));
3095 set[_count] = this[_tree][_count]; 3095 set[_count] = this[_tree][_count];
3096 set[_root] = set._copyNode(this[_tree][_root]); 3096 set[_root] = set._copyNode(this[_tree][_root]);
3097 return set; 3097 return set;
3098 } 3098 }
3099 } 3099 }
3100 _SplayTreeKeyIterable[dart.implements] = () => [_internal.EfficientLength]; 3100 _SplayTreeKeyIterable[dart.implements] = () => [_internal.EfficientLength];
3101 return _SplayTreeKeyIterable; 3101 return _SplayTreeKeyIterable;
3102 }); 3102 });
3103 let _SplayTreeKeyIterable = _SplayTreeKeyIterable$(dart.dynamic); 3103 let _SplayTreeKeyIterable = _SplayTreeKeyIterable$(dart.dynamic);
3104 let _SplayTreeValueIterable$ = dart.generic(function(K, V) { 3104 let _SplayTreeValueIterable$ = dart.generic(function(K, V) {
3105 class _SplayTreeValueIterable extends IterableBase$(V) { 3105 class _SplayTreeValueIterable extends IterableBase$(V) {
3106 _SplayTreeValueIterable(map$) { 3106 _SplayTreeValueIterable(map$) {
3107 this[_map] = map$; 3107 this[_map] = map$;
3108 super.IterableBase(); 3108 super.IterableBase();
3109 } 3109 }
3110 get length() { 3110 get length() {
3111 return this[_map][_count]; 3111 return this[_map][_count];
3112 } 3112 }
3113 get isEmpty() { 3113 get isEmpty() {
3114 return this[_map][_count] == 0; 3114 return this[_map][_count] == 0;
3115 } 3115 }
3116 get iterator() { 3116 get iterator() {
3117 return new _SplayTreeValueIterator(this[_map]); 3117 return new (_SplayTreeValueIterator$(K, V))(this[_map]);
3118 } 3118 }
3119 } 3119 }
3120 _SplayTreeValueIterable[dart.implements] = () => [_internal.EfficientLength] ; 3120 _SplayTreeValueIterable[dart.implements] = () => [_internal.EfficientLength] ;
3121 return _SplayTreeValueIterable; 3121 return _SplayTreeValueIterable;
3122 }); 3122 });
3123 let _SplayTreeValueIterable = _SplayTreeValueIterable$(dart.dynamic, dart.dyna mic); 3123 let _SplayTreeValueIterable = _SplayTreeValueIterable$(dart.dynamic, dart.dyna mic);
3124 let _SplayTreeKeyIterator$ = dart.generic(function(K) { 3124 let _SplayTreeKeyIterator$ = dart.generic(function(K) {
3125 class _SplayTreeKeyIterator extends _SplayTreeIterator$(K) { 3125 class _SplayTreeKeyIterator extends _SplayTreeIterator$(K) {
3126 _SplayTreeKeyIterator(map) { 3126 _SplayTreeKeyIterator(map) {
3127 super._SplayTreeIterator(map); 3127 super._SplayTreeIterator(map);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
3172 isValidKey = null; 3172 isValidKey = null;
3173 this[_comparator] = dart.as(compare == null ? core.Comparable.compare : compare, core.Comparator); 3173 this[_comparator] = dart.as(compare == null ? core.Comparable.compare : compare, core.Comparator);
3174 this[_validKey] = dart.as(isValidKey != null ? isValidKey : (v) => dart. is(v, E), _Predicate); 3174 this[_validKey] = dart.as(isValidKey != null ? isValidKey : (v) => dart. is(v, E), _Predicate);
3175 super._SplayTree(); 3175 super._SplayTree();
3176 } 3176 }
3177 from(elements, compare, isValidKey) { 3177 from(elements, compare, isValidKey) {
3178 if (compare === void 0) 3178 if (compare === void 0)
3179 compare = null; 3179 compare = null;
3180 if (isValidKey === void 0) 3180 if (isValidKey === void 0)
3181 isValidKey = null; 3181 isValidKey = null;
3182 let result = new SplayTreeSet(compare, isValidKey); 3182 let result = new (SplayTreeSet$(E))(compare, isValidKey);
3183 for (let element of dart.as(elements, core.Iterable$(E))) { 3183 for (let element of dart.as(elements, core.Iterable$(E))) {
3184 result.add(element); 3184 result.add(element);
3185 } 3185 }
3186 return result; 3186 return result;
3187 } 3187 }
3188 [_compare](e1, e2) { 3188 [_compare](e1, e2) {
3189 return dart.dinvokef(this[_comparator], e1, e2); 3189 return dart.dinvokef(this[_comparator], e1, e2);
3190 } 3190 }
3191 get iterator() { 3191 get iterator() {
3192 return new _SplayTreeKeyIterator(this); 3192 return new (_SplayTreeKeyIterator$(E))(this);
3193 } 3193 }
3194 get length() { 3194 get length() {
3195 return this[_count]; 3195 return this[_count];
3196 } 3196 }
3197 get isEmpty() { 3197 get isEmpty() {
3198 return this[_root] == null; 3198 return this[_root] == null;
3199 } 3199 }
3200 get isNotEmpty() { 3200 get isNotEmpty() {
3201 return this[_root] != null; 3201 return this[_root] != null;
3202 } 3202 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3240 } 3240 }
3241 } 3241 }
3242 } 3242 }
3243 removeAll(elements) { 3243 removeAll(elements) {
3244 for (let element of elements) { 3244 for (let element of elements) {
3245 if (dart.dinvokef(this[_validKey], element)) 3245 if (dart.dinvokef(this[_validKey], element))
3246 this[_remove](dart.as(element, E)); 3246 this[_remove](dart.as(element, E));
3247 } 3247 }
3248 } 3248 }
3249 retainAll(elements) { 3249 retainAll(elements) {
3250 let retainSet = new SplayTreeSet(dart.closureWrap(this[_comparator], "(E , E) → int"), this[_validKey]); 3250 let retainSet = new (SplayTreeSet$(E))(dart.closureWrap(this[_comparator ], "(E, E) → int"), this[_validKey]);
3251 let modificationCount = this[_modificationCount]; 3251 let modificationCount = this[_modificationCount];
3252 for (let object of elements) { 3252 for (let object of elements) {
3253 if (modificationCount != this[_modificationCount]) { 3253 if (modificationCount != this[_modificationCount]) {
3254 throw new core.ConcurrentModificationError(this); 3254 throw new core.ConcurrentModificationError(this);
3255 } 3255 }
3256 if (dart.notNull(dart.dinvokef(this[_validKey], object)) && this[_spla y](dart.as(object, E)) == 0) 3256 if (dart.notNull(dart.dinvokef(this[_validKey], object)) && this[_spla y](dart.as(object, E)) == 0)
3257 retainSet.add(this[_root].key); 3257 retainSet.add(this[_root].key);
3258 } 3258 }
3259 if (retainSet[_count] != this[_count]) { 3259 if (retainSet[_count] != this[_count]) {
3260 this[_root] = retainSet[_root]; 3260 this[_root] = retainSet[_root];
3261 this[_count] = retainSet[_count]; 3261 this[_count] = retainSet[_count];
3262 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; 3262 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
3263 } 3263 }
3264 } 3264 }
3265 lookup(object) { 3265 lookup(object) {
3266 if (!dart.notNull(dart.dinvokef(this[_validKey], object))) 3266 if (!dart.notNull(dart.dinvokef(this[_validKey], object)))
3267 return null; 3267 return null;
3268 let comp = this[_splay](dart.as(object, E)); 3268 let comp = this[_splay](dart.as(object, E));
3269 if (comp != 0) 3269 if (comp != 0)
3270 return null; 3270 return null;
3271 return this[_root].key; 3271 return this[_root].key;
3272 } 3272 }
3273 intersection(other) { 3273 intersection(other) {
3274 let result = new SplayTreeSet(dart.closureWrap(this[_comparator], "(E, E ) → int"), this[_validKey]); 3274 let result = new (SplayTreeSet$(E))(dart.closureWrap(this[_comparator], "(E, E) → int"), this[_validKey]);
3275 for (let element of this) { 3275 for (let element of this) {
3276 if (other.contains(element)) 3276 if (other.contains(element))
3277 result.add(element); 3277 result.add(element);
3278 } 3278 }
3279 return result; 3279 return result;
3280 } 3280 }
3281 difference(other) { 3281 difference(other) {
3282 let result = new SplayTreeSet(dart.closureWrap(this[_comparator], "(E, E ) → int"), this[_validKey]); 3282 let result = new (SplayTreeSet$(E))(dart.closureWrap(this[_comparator], "(E, E) → int"), this[_validKey]);
3283 for (let element of this) { 3283 for (let element of this) {
3284 if (!dart.notNull(other.contains(element))) 3284 if (!dart.notNull(other.contains(element)))
3285 result.add(element); 3285 result.add(element);
3286 } 3286 }
3287 return result; 3287 return result;
3288 } 3288 }
3289 union(other) { 3289 union(other) {
3290 return ((_) => { 3290 return ((_) => {
3291 _.addAll(other); 3291 _.addAll(other);
3292 return _; 3292 return _;
3293 }).bind(this)(this[_clone]()); 3293 }).bind(this)(this[_clone]());
3294 } 3294 }
3295 [_clone]() { 3295 [_clone]() {
3296 let set = new SplayTreeSet(dart.closureWrap(this[_comparator], "(E, E) → int"), this[_validKey]); 3296 let set = new (SplayTreeSet$(E))(dart.closureWrap(this[_comparator], "(E , E) → int"), this[_validKey]);
3297 set[_count] = this[_count]; 3297 set[_count] = this[_count];
3298 set[_root] = this[_copyNode](this[_root]); 3298 set[_root] = this[_copyNode](this[_root]);
3299 return set; 3299 return set;
3300 } 3300 }
3301 [_copyNode](node) { 3301 [_copyNode](node) {
3302 if (node == null) 3302 if (node == null)
3303 return null; 3303 return null;
3304 return ((_) => { 3304 return ((_) => {
3305 _.left = this[_copyNode](node.left); 3305 _.left = this[_copyNode](node.left);
3306 _.right = this[_copyNode](node.right); 3306 _.right = this[_copyNode](node.right);
3307 return _; 3307 return _;
3308 }).bind(this)(new _SplayTreeNode(node.key)); 3308 }).bind(this)(new (_SplayTreeNode$(E))(node.key));
3309 } 3309 }
3310 clear() { 3310 clear() {
3311 this[_clear](); 3311 this[_clear]();
3312 } 3312 }
3313 toSet() { 3313 toSet() {
3314 return this[_clone](); 3314 return this[_clone]();
3315 } 3315 }
3316 toString() { 3316 toString() {
3317 return IterableBase.iterableToFullString(this, '{', '}'); 3317 return IterableBase.iterableToFullString(this, '{', '}');
3318 } 3318 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
3352 get length() { 3352 get length() {
3353 return this[_length]; 3353 return this[_length];
3354 } 3354 }
3355 get isEmpty() { 3355 get isEmpty() {
3356 return this[_length] == 0; 3356 return this[_length] == 0;
3357 } 3357 }
3358 get isNotEmpty() { 3358 get isNotEmpty() {
3359 return !dart.notNull(this.isEmpty); 3359 return !dart.notNull(this.isEmpty);
3360 } 3360 }
3361 get keys() { 3361 get keys() {
3362 return new HashMapKeyIterable(this); 3362 return new (HashMapKeyIterable$(K))(this);
3363 } 3363 }
3364 get values() { 3364 get values() {
3365 return new _internal.MappedIterable(this.keys, dart.closureWrap(((each) => this.get(each)).bind(this), "(K) → V")); 3365 return new (_internal.MappedIterable$(K, V))(this.keys, dart.closureWrap (((each) => this.get(each)).bind(this), "(K) → V"));
3366 } 3366 }
3367 containsKey(key) { 3367 containsKey(key) {
3368 if (_HashMap[_isStringKey](key)) { 3368 if (_HashMap[_isStringKey](key)) {
3369 let strings = this[_strings]; 3369 let strings = this[_strings];
3370 return strings == null ? false : _HashMap[_hasTableEntry](strings, key ); 3370 return strings == null ? false : _HashMap[_hasTableEntry](strings, key );
3371 } else if (_HashMap[_isNumericKey](key)) { 3371 } else if (_HashMap[_isNumericKey](key)) {
3372 let nums = this[_nums]; 3372 let nums = this[_nums];
3373 return nums == null ? false : _HashMap[_hasTableEntry](nums, key); 3373 return nums == null ? false : _HashMap[_hasTableEntry](nums, key);
3374 } else { 3374 } else {
3375 return this[_containsKey](key); 3375 return this[_containsKey](key);
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
3676 this[_map] = map$; 3676 this[_map] = map$;
3677 super.IterableBase(); 3677 super.IterableBase();
3678 } 3678 }
3679 get length() { 3679 get length() {
3680 return dart.as(dart.dload(this[_map], '_length'), core.int); 3680 return dart.as(dart.dload(this[_map], '_length'), core.int);
3681 } 3681 }
3682 get isEmpty() { 3682 get isEmpty() {
3683 return dart.equals(dart.dload(this[_map], '_length'), 0); 3683 return dart.equals(dart.dload(this[_map], '_length'), 0);
3684 } 3684 }
3685 get iterator() { 3685 get iterator() {
3686 return new HashMapKeyIterator(this[_map], dart.as(dart.dinvoke(this[_map ], '_computeKeys'), core.List)); 3686 return new (HashMapKeyIterator$(E))(this[_map], dart.as(dart.dinvoke(thi s[_map], '_computeKeys'), core.List));
3687 } 3687 }
3688 contains(element) { 3688 contains(element) {
3689 return dart.as(dart.dinvoke(this[_map], 'containsKey', element), core.bo ol); 3689 return dart.as(dart.dinvoke(this[_map], 'containsKey', element), core.bo ol);
3690 } 3690 }
3691 forEach(f) { 3691 forEach(f) {
3692 let keys = dart.as(dart.dinvoke(this[_map], '_computeKeys'), core.List); 3692 let keys = dart.as(dart.dinvoke(this[_map], '_computeKeys'), core.List);
3693 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len gth); i = dart.notNull(i) + 1) { 3693 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len gth); i = dart.notNull(i) + 1) {
3694 f(dart.as(keys[i], E)); 3694 f(dart.as(keys[i], E));
3695 if (keys !== dart.dload(this[_map], '_keys')) { 3695 if (keys !== dart.dload(this[_map], '_keys')) {
3696 throw new core.ConcurrentModificationError(this[_map]); 3696 throw new core.ConcurrentModificationError(this[_map]);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
3753 get length() { 3753 get length() {
3754 return this[_length]; 3754 return this[_length];
3755 } 3755 }
3756 get isEmpty() { 3756 get isEmpty() {
3757 return this[_length] == 0; 3757 return this[_length] == 0;
3758 } 3758 }
3759 get isNotEmpty() { 3759 get isNotEmpty() {
3760 return !dart.notNull(this.isEmpty); 3760 return !dart.notNull(this.isEmpty);
3761 } 3761 }
3762 get keys() { 3762 get keys() {
3763 return new LinkedHashMapKeyIterable(this); 3763 return new (LinkedHashMapKeyIterable$(K))(this);
3764 } 3764 }
3765 get values() { 3765 get values() {
3766 return new _internal.MappedIterable(this.keys, dart.closureWrap(((each) => this.get(each)).bind(this), "(K) → V")); 3766 return new (_internal.MappedIterable$(K, V))(this.keys, dart.closureWrap (((each) => this.get(each)).bind(this), "(K) → V"));
3767 } 3767 }
3768 containsKey(key) { 3768 containsKey(key) {
3769 if (_LinkedHashMap[_isStringKey](key)) { 3769 if (_LinkedHashMap[_isStringKey](key)) {
3770 let strings = this[_strings]; 3770 let strings = this[_strings];
3771 if (strings == null) 3771 if (strings == null)
3772 return false; 3772 return false;
3773 let cell = dart.as(_LinkedHashMap[_getTableEntry](strings, key), Linke dHashMapCell); 3773 let cell = dart.as(_LinkedHashMap[_getTableEntry](strings, key), Linke dHashMapCell);
3774 return cell != null; 3774 return cell != null;
3775 } else if (_LinkedHashMap[_isNumericKey](key)) { 3775 } else if (_LinkedHashMap[_isNumericKey](key)) {
3776 let nums = this[_nums]; 3776 let nums = this[_nums];
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
4085 this[_map] = map$; 4085 this[_map] = map$;
4086 super.IterableBase(); 4086 super.IterableBase();
4087 } 4087 }
4088 get length() { 4088 get length() {
4089 return dart.as(dart.dload(this[_map], '_length'), core.int); 4089 return dart.as(dart.dload(this[_map], '_length'), core.int);
4090 } 4090 }
4091 get isEmpty() { 4091 get isEmpty() {
4092 return dart.equals(dart.dload(this[_map], '_length'), 0); 4092 return dart.equals(dart.dload(this[_map], '_length'), 0);
4093 } 4093 }
4094 get iterator() { 4094 get iterator() {
4095 return new LinkedHashMapKeyIterator(this[_map], dart.as(dart.dload(this[ _map], '_modifications'), core.int)); 4095 return new (LinkedHashMapKeyIterator$(E))(this[_map], dart.as(dart.dload (this[_map], '_modifications'), core.int));
4096 } 4096 }
4097 contains(element) { 4097 contains(element) {
4098 return dart.as(dart.dinvoke(this[_map], 'containsKey', element), core.bo ol); 4098 return dart.as(dart.dinvoke(this[_map], 'containsKey', element), core.bo ol);
4099 } 4099 }
4100 forEach(f) { 4100 forEach(f) {
4101 let cell = dart.as(dart.dload(this[_map], '_first'), LinkedHashMapCell); 4101 let cell = dart.as(dart.dload(this[_map], '_first'), LinkedHashMapCell);
4102 let modifications = dart.as(dart.dload(this[_map], '_modifications'), co re.int); 4102 let modifications = dart.as(dart.dload(this[_map], '_modifications'), co re.int);
4103 while (cell != null) { 4103 while (cell != null) {
4104 f(dart.as(cell[_key], E)); 4104 f(dart.as(cell[_key], E));
4105 if (!dart.equals(modifications, dart.dload(this[_map], '_modifications '))) { 4105 if (!dart.equals(modifications, dart.dload(this[_map], '_modifications '))) {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
4153 class _HashSet extends _HashSetBase$(E) { 4153 class _HashSet extends _HashSetBase$(E) {
4154 _HashSet() { 4154 _HashSet() {
4155 this[_length] = 0; 4155 this[_length] = 0;
4156 this[_strings] = null; 4156 this[_strings] = null;
4157 this[_nums] = null; 4157 this[_nums] = null;
4158 this[_rest] = null; 4158 this[_rest] = null;
4159 this[_elements] = null; 4159 this[_elements] = null;
4160 super._HashSetBase(); 4160 super._HashSetBase();
4161 } 4161 }
4162 [_newSet]() { 4162 [_newSet]() {
4163 return new _HashSet(); 4163 return new (_HashSet$(E))();
4164 } 4164 }
4165 get iterator() { 4165 get iterator() {
4166 return new HashSetIterator(this, this[_computeElements]()); 4166 return new (HashSetIterator$(E))(this, this[_computeElements]());
4167 } 4167 }
4168 get length() { 4168 get length() {
4169 return this[_length]; 4169 return this[_length];
4170 } 4170 }
4171 get isEmpty() { 4171 get isEmpty() {
4172 return this[_length] == 0; 4172 return this[_length] == 0;
4173 } 4173 }
4174 get isNotEmpty() { 4174 get isNotEmpty() {
4175 return !dart.notNull(this.isEmpty); 4175 return !dart.notNull(this.isEmpty);
4176 } 4176 }
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
4376 return table; 4376 return table;
4377 } 4377 }
4378 } 4378 }
4379 _HashSet[dart.implements] = () => [HashSet$(E)]; 4379 _HashSet[dart.implements] = () => [HashSet$(E)];
4380 return _HashSet; 4380 return _HashSet;
4381 }); 4381 });
4382 let _HashSet = _HashSet$(dart.dynamic); 4382 let _HashSet = _HashSet$(dart.dynamic);
4383 let _IdentityHashSet$ = dart.generic(function(E) { 4383 let _IdentityHashSet$ = dart.generic(function(E) {
4384 class _IdentityHashSet extends _HashSet$(E) { 4384 class _IdentityHashSet extends _HashSet$(E) {
4385 [_newSet]() { 4385 [_newSet]() {
4386 return new _IdentityHashSet(); 4386 return new (_IdentityHashSet$(E))();
4387 } 4387 }
4388 [_computeHashCode](key) { 4388 [_computeHashCode](key) {
4389 return core.identityHashCode(key) & 0x3ffffff; 4389 return core.identityHashCode(key) & 0x3ffffff;
4390 } 4390 }
4391 [_findBucketIndex](bucket, element) { 4391 [_findBucketIndex](bucket, element) {
4392 if (bucket == null) 4392 if (bucket == null)
4393 return -1; 4393 return -1;
4394 let length = bucket.length; 4394 let length = bucket.length;
4395 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 4395 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
4396 if (core.identical(bucket[i], element)) 4396 if (core.identical(bucket[i], element))
4397 return i; 4397 return i;
4398 } 4398 }
4399 return -1; 4399 return -1;
4400 } 4400 }
4401 } 4401 }
4402 return _IdentityHashSet; 4402 return _IdentityHashSet;
4403 }); 4403 });
4404 let _IdentityHashSet = _IdentityHashSet$(dart.dynamic); 4404 let _IdentityHashSet = _IdentityHashSet$(dart.dynamic);
4405 let _equality = Symbol('_equality'); 4405 let _equality = Symbol('_equality');
4406 let _hasher = Symbol('_hasher'); 4406 let _hasher = Symbol('_hasher');
4407 let _CustomHashSet$ = dart.generic(function(E) { 4407 let _CustomHashSet$ = dart.generic(function(E) {
4408 class _CustomHashSet extends _HashSet$(E) { 4408 class _CustomHashSet extends _HashSet$(E) {
4409 _CustomHashSet(equality, hasher, validKey) { 4409 _CustomHashSet(equality, hasher, validKey) {
4410 this[_equality] = equality; 4410 this[_equality] = equality;
4411 this[_hasher] = hasher; 4411 this[_hasher] = hasher;
4412 this[_validKey] = dart.as(validKey != null ? validKey : (x) => dart.is(x , E), _Predicate); 4412 this[_validKey] = dart.as(validKey != null ? validKey : (x) => dart.is(x , E), _Predicate);
4413 super._HashSet(); 4413 super._HashSet();
4414 } 4414 }
4415 [_newSet]() { 4415 [_newSet]() {
4416 return new _CustomHashSet(this[_equality], this[_hasher], this[_validKey ]); 4416 return new (_CustomHashSet$(E))(this[_equality], this[_hasher], this[_va lidKey]);
4417 } 4417 }
4418 [_findBucketIndex](bucket, element) { 4418 [_findBucketIndex](bucket, element) {
4419 if (bucket == null) 4419 if (bucket == null)
4420 return -1; 4420 return -1;
4421 let length = bucket.length; 4421 let length = bucket.length;
4422 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 4422 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
4423 if (this[_equality](dart.as(bucket[i], E), dart.as(element, E))) 4423 if (this[_equality](dart.as(bucket[i], E), dart.as(element, E)))
4424 return i; 4424 return i;
4425 } 4425 }
4426 return -1; 4426 return -1;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
4487 this[_length] = 0; 4487 this[_length] = 0;
4488 this[_strings] = null; 4488 this[_strings] = null;
4489 this[_nums] = null; 4489 this[_nums] = null;
4490 this[_rest] = null; 4490 this[_rest] = null;
4491 this[_first] = null; 4491 this[_first] = null;
4492 this[_last] = null; 4492 this[_last] = null;
4493 this[_modifications] = 0; 4493 this[_modifications] = 0;
4494 super._HashSetBase(); 4494 super._HashSetBase();
4495 } 4495 }
4496 [_newSet]() { 4496 [_newSet]() {
4497 return new _LinkedHashSet(); 4497 return new (_LinkedHashSet$(E))();
4498 } 4498 }
4499 [_unsupported](operation) { 4499 [_unsupported](operation) {
4500 throw `LinkedHashSet: unsupported ${operation}`; 4500 throw `LinkedHashSet: unsupported ${operation}`;
4501 } 4501 }
4502 get iterator() { 4502 get iterator() {
4503 return dart.as(new LinkedHashSetIterator(this, this[_modifications]), co re.Iterator$(E)); 4503 return dart.as(new LinkedHashSetIterator(this, this[_modifications]), co re.Iterator$(E));
4504 } 4504 }
4505 get length() { 4505 get length() {
4506 return this[_length]; 4506 return this[_length];
4507 } 4507 }
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
4748 return table; 4748 return table;
4749 } 4749 }
4750 } 4750 }
4751 _LinkedHashSet[dart.implements] = () => [LinkedHashSet$(E)]; 4751 _LinkedHashSet[dart.implements] = () => [LinkedHashSet$(E)];
4752 return _LinkedHashSet; 4752 return _LinkedHashSet;
4753 }); 4753 });
4754 let _LinkedHashSet = _LinkedHashSet$(dart.dynamic); 4754 let _LinkedHashSet = _LinkedHashSet$(dart.dynamic);
4755 let _LinkedIdentityHashSet$ = dart.generic(function(E) { 4755 let _LinkedIdentityHashSet$ = dart.generic(function(E) {
4756 class _LinkedIdentityHashSet extends _LinkedHashSet$(E) { 4756 class _LinkedIdentityHashSet extends _LinkedHashSet$(E) {
4757 [_newSet]() { 4757 [_newSet]() {
4758 return new _LinkedIdentityHashSet(); 4758 return new (_LinkedIdentityHashSet$(E))();
4759 } 4759 }
4760 [_computeHashCode](key) { 4760 [_computeHashCode](key) {
4761 return core.identityHashCode(key) & 0x3ffffff; 4761 return core.identityHashCode(key) & 0x3ffffff;
4762 } 4762 }
4763 [_findBucketIndex](bucket, element) { 4763 [_findBucketIndex](bucket, element) {
4764 if (bucket == null) 4764 if (bucket == null)
4765 return -1; 4765 return -1;
4766 let length = bucket.length; 4766 let length = bucket.length;
4767 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 4767 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
4768 let cell = dart.as(bucket[i], LinkedHashSetCell); 4768 let cell = dart.as(bucket[i], LinkedHashSetCell);
4769 if (core.identical(cell[_element], element)) 4769 if (core.identical(cell[_element], element))
4770 return i; 4770 return i;
4771 } 4771 }
4772 return -1; 4772 return -1;
4773 } 4773 }
4774 } 4774 }
4775 return _LinkedIdentityHashSet; 4775 return _LinkedIdentityHashSet;
4776 }); 4776 });
4777 let _LinkedIdentityHashSet = _LinkedIdentityHashSet$(dart.dynamic); 4777 let _LinkedIdentityHashSet = _LinkedIdentityHashSet$(dart.dynamic);
4778 let _LinkedCustomHashSet$ = dart.generic(function(E) { 4778 let _LinkedCustomHashSet$ = dart.generic(function(E) {
4779 class _LinkedCustomHashSet extends _LinkedHashSet$(E) { 4779 class _LinkedCustomHashSet extends _LinkedHashSet$(E) {
4780 _LinkedCustomHashSet(equality, hasher, validKey) { 4780 _LinkedCustomHashSet(equality, hasher, validKey) {
4781 this[_equality] = equality; 4781 this[_equality] = equality;
4782 this[_hasher] = hasher; 4782 this[_hasher] = hasher;
4783 this[_validKey] = dart.as(validKey != null ? validKey : (x) => dart.is(x , E), _Predicate); 4783 this[_validKey] = dart.as(validKey != null ? validKey : (x) => dart.is(x , E), _Predicate);
4784 super._LinkedHashSet(); 4784 super._LinkedHashSet();
4785 } 4785 }
4786 [_newSet]() { 4786 [_newSet]() {
4787 return new _LinkedCustomHashSet(this[_equality], this[_hasher], this[_va lidKey]); 4787 return new (_LinkedCustomHashSet$(E))(this[_equality], this[_hasher], th is[_validKey]);
4788 } 4788 }
4789 [_findBucketIndex](bucket, element) { 4789 [_findBucketIndex](bucket, element) {
4790 if (bucket == null) 4790 if (bucket == null)
4791 return -1; 4791 return -1;
4792 let length = bucket.length; 4792 let length = bucket.length;
4793 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 4793 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
4794 let cell = dart.as(bucket[i], LinkedHashSetCell); 4794 let cell = dart.as(bucket[i], LinkedHashSetCell);
4795 if (this[_equality](dart.as(cell[_element], E), dart.as(element, E))) 4795 if (this[_equality](dart.as(cell[_element], E), dart.as(element, E)))
4796 return i; 4796 return i;
4797 } 4797 }
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
4930 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; 4930 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable;
4931 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; 4931 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$;
4932 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; 4932 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator;
4933 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; 4933 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$;
4934 exports.HashSetIterator = HashSetIterator; 4934 exports.HashSetIterator = HashSetIterator;
4935 exports.HashSetIterator$ = HashSetIterator$; 4935 exports.HashSetIterator$ = HashSetIterator$;
4936 exports.LinkedHashSetCell = LinkedHashSetCell; 4936 exports.LinkedHashSetCell = LinkedHashSetCell;
4937 exports.LinkedHashSetIterator = LinkedHashSetIterator; 4937 exports.LinkedHashSetIterator = LinkedHashSetIterator;
4938 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; 4938 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$;
4939 })(collection || (collection = {})); 4939 })(collection || (collection = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698