OLD | NEW |
---|---|
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 } | 9 } |
10 get [core.$length]() { | 10 get [core.$length]() { |
(...skipping 21 matching lines...) Expand all Loading... | |
32 let _Equality = _Equality$(); | 32 let _Equality = _Equality$(); |
33 let _Hasher$ = dart.generic(function(K) { | 33 let _Hasher$ = dart.generic(function(K) { |
34 let _Hasher = dart.typedef('_Hasher', () => dart.functionType(core.int, [K]) ); | 34 let _Hasher = dart.typedef('_Hasher', () => dart.functionType(core.int, [K]) ); |
35 return _Hasher; | 35 return _Hasher; |
36 }); | 36 }); |
37 let _Hasher = _Hasher$(); | 37 let _Hasher = _Hasher$(); |
38 let HashMap$ = dart.generic(function(K, V) { | 38 let HashMap$ = dart.generic(function(K, V) { |
39 class HashMap extends core.Object { | 39 class HashMap extends core.Object { |
40 HashMap(opts) { | 40 HashMap(opts) { |
41 let equals = opts && 'equals' in opts ? opts.equals : null; | 41 let equals = opts && 'equals' in opts ? opts.equals : null; |
42 dart.as(equals, dart.functionType(core.bool, [K, K])); | |
vsm
2015/04/30 14:00:51
We shouldn't need runtime checks on constructor pa
Jennifer Messerly
2015/05/01 20:43:04
fixed
| |
42 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; | 43 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; |
44 dart.as(hashCode, dart.functionType(core.int, [K])); | |
43 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; | 45 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; |
46 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
44 if (isValidKey == null) { | 47 if (isValidKey == null) { |
45 if (hashCode == null) { | 48 if (hashCode == null) { |
46 if (equals == null) { | 49 if (equals == null) { |
47 return new (_HashMap$(K, V))(); | 50 return new (_HashMap$(K, V))(); |
48 } | 51 } |
49 hashCode = dart.as(_defaultHashCode, __CastType0); | 52 hashCode = dart.as(_defaultHashCode, __CastType0); |
50 } else { | 53 } else { |
51 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { | 54 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
52 return new (_IdentityHashMap$(K, V))(); | 55 return new (_IdentityHashMap$(K, V))(); |
53 } | 56 } |
(...skipping 16 matching lines...) Expand all Loading... | |
70 } | 73 } |
71 from(other) { | 74 from(other) { |
72 let result = new (HashMap$(K, V))(); | 75 let result = new (HashMap$(K, V))(); |
73 other.forEach((k, v) => { | 76 other.forEach((k, v) => { |
74 result.set(k, dart.as(v, V)); | 77 result.set(k, dart.as(v, V)); |
75 }); | 78 }); |
76 return result; | 79 return result; |
77 } | 80 } |
78 fromIterable(iterable, opts) { | 81 fromIterable(iterable, opts) { |
79 let key = opts && 'key' in opts ? opts.key : null; | 82 let key = opts && 'key' in opts ? opts.key : null; |
83 dart.as(key, dart.functionType(K, [dart.dynamic])); | |
80 let value = opts && 'value' in opts ? opts.value : null; | 84 let value = opts && 'value' in opts ? opts.value : null; |
85 dart.as(value, dart.functionType(V, [dart.dynamic])); | |
81 let map = new (HashMap$(K, V))(); | 86 let map = new (HashMap$(K, V))(); |
82 Maps._fillMapWithMappedIterable(map, iterable, key, value); | 87 Maps._fillMapWithMappedIterable(map, iterable, key, value); |
83 return map; | 88 return map; |
84 } | 89 } |
85 fromIterables(keys, values) { | 90 fromIterables(keys, values) { |
86 let map = new (HashMap$(K, V))(); | 91 let map = new (HashMap$(K, V))(); |
87 Maps._fillMapWithIterables(map, keys, values); | 92 Maps._fillMapWithIterables(map, keys, values); |
88 return map; | 93 return map; |
89 } | 94 } |
90 } | 95 } |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
293 if (!dart.notNull(it.moveNext())) { | 298 if (!dart.notNull(it.moveNext())) { |
294 throw _internal.IterableElementError.noElement(); | 299 throw _internal.IterableElementError.noElement(); |
295 } | 300 } |
296 let result = null; | 301 let result = null; |
297 do { | 302 do { |
298 result = dart.as(it.current, E); | 303 result = dart.as(it.current, E); |
299 } while (it.moveNext()); | 304 } while (it.moveNext()); |
300 return result; | 305 return result; |
301 } | 306 } |
302 [core.$firstWhere](test, opts) { | 307 [core.$firstWhere](test, opts) { |
308 dart.as(test, dart.functionType(core.bool, [E])); | |
303 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 309 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
310 dart.as(orElse, dart.functionType(E, [])); | |
304 for (let element of this) { | 311 for (let element of this) { |
305 if (test(element)) | 312 if (test(element)) |
306 return element; | 313 return element; |
307 } | 314 } |
308 if (orElse != null) | 315 if (orElse != null) |
309 return orElse(); | 316 return orElse(); |
310 throw _internal.IterableElementError.noElement(); | 317 throw _internal.IterableElementError.noElement(); |
311 } | 318 } |
312 [core.$lastWhere](test, opts) { | 319 [core.$lastWhere](test, opts) { |
320 dart.as(test, dart.functionType(core.bool, [E])); | |
313 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 321 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
322 dart.as(orElse, dart.functionType(E, [])); | |
314 let result = null; | 323 let result = null; |
315 let foundMatching = false; | 324 let foundMatching = false; |
316 for (let element of this) { | 325 for (let element of this) { |
317 if (test(element)) { | 326 if (test(element)) { |
318 result = element; | 327 result = element; |
319 foundMatching = true; | 328 foundMatching = true; |
320 } | 329 } |
321 } | 330 } |
322 if (foundMatching) | 331 if (foundMatching) |
323 return result; | 332 return result; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
393 }).bind(this)(); | 402 }).bind(this)(); |
394 } | 403 } |
395 } | 404 } |
396 return _HashSetBase; | 405 return _HashSetBase; |
397 }); | 406 }); |
398 let _HashSetBase = _HashSetBase$(); | 407 let _HashSetBase = _HashSetBase$(); |
399 let HashSet$ = dart.generic(function(E) { | 408 let HashSet$ = dart.generic(function(E) { |
400 class HashSet extends core.Object { | 409 class HashSet extends core.Object { |
401 HashSet(opts) { | 410 HashSet(opts) { |
402 let equals = opts && 'equals' in opts ? opts.equals : null; | 411 let equals = opts && 'equals' in opts ? opts.equals : null; |
412 dart.as(equals, dart.functionType(core.bool, [E, E])); | |
403 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; | 413 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; |
414 dart.as(hashCode, dart.functionType(core.int, [E])); | |
404 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; | 415 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; |
416 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
405 if (isValidKey == null) { | 417 if (isValidKey == null) { |
406 if (hashCode == null) { | 418 if (hashCode == null) { |
407 if (equals == null) { | 419 if (equals == null) { |
408 return new (_HashSet$(E))(); | 420 return new (_HashSet$(E))(); |
409 } | 421 } |
410 hashCode = dart.as(_defaultHashCode, __CastType5); | 422 hashCode = dart.as(_defaultHashCode, __CastType5); |
411 } else { | 423 } else { |
412 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { | 424 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
413 return new (_IdentityHashSet$(E))(); | 425 return new (_IdentityHashSet$(E))(); |
414 } | 426 } |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
580 get [core.$single]() { | 592 get [core.$single]() { |
581 let it = this[core.$iterator]; | 593 let it = this[core.$iterator]; |
582 if (!dart.notNull(it.moveNext())) | 594 if (!dart.notNull(it.moveNext())) |
583 throw _internal.IterableElementError.noElement(); | 595 throw _internal.IterableElementError.noElement(); |
584 let result = dart.as(it.current, E); | 596 let result = dart.as(it.current, E); |
585 if (it.moveNext()) | 597 if (it.moveNext()) |
586 throw _internal.IterableElementError.tooMany(); | 598 throw _internal.IterableElementError.tooMany(); |
587 return result; | 599 return result; |
588 } | 600 } |
589 [core.$firstWhere](test, opts) { | 601 [core.$firstWhere](test, opts) { |
602 dart.as(test, dart.functionType(core.bool, [E])); | |
590 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 603 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
604 dart.as(orElse, dart.functionType(E, [])); | |
591 for (let element of this) { | 605 for (let element of this) { |
592 if (test(element)) | 606 if (test(element)) |
593 return element; | 607 return element; |
594 } | 608 } |
595 if (orElse != null) | 609 if (orElse != null) |
596 return orElse(); | 610 return orElse(); |
597 throw _internal.IterableElementError.noElement(); | 611 throw _internal.IterableElementError.noElement(); |
598 } | 612 } |
599 [core.$lastWhere](test, opts) { | 613 [core.$lastWhere](test, opts) { |
614 dart.as(test, dart.functionType(core.bool, [E])); | |
600 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 615 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
616 dart.as(orElse, dart.functionType(E, [])); | |
601 let result = null; | 617 let result = null; |
602 let foundMatching = false; | 618 let foundMatching = false; |
603 for (let element of this) { | 619 for (let element of this) { |
604 if (test(element)) { | 620 if (test(element)) { |
605 result = element; | 621 result = element; |
606 foundMatching = true; | 622 foundMatching = true; |
607 } | 623 } |
608 } | 624 } |
609 if (foundMatching) | 625 if (foundMatching) |
610 return result; | 626 return result; |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
778 get [core.$single]() { | 794 get [core.$single]() { |
779 let it = this[core.$iterator]; | 795 let it = this[core.$iterator]; |
780 if (!dart.notNull(it.moveNext())) | 796 if (!dart.notNull(it.moveNext())) |
781 throw _internal.IterableElementError.noElement(); | 797 throw _internal.IterableElementError.noElement(); |
782 let result = dart.as(it.current, E); | 798 let result = dart.as(it.current, E); |
783 if (it.moveNext()) | 799 if (it.moveNext()) |
784 throw _internal.IterableElementError.tooMany(); | 800 throw _internal.IterableElementError.tooMany(); |
785 return result; | 801 return result; |
786 } | 802 } |
787 [core.$firstWhere](test, opts) { | 803 [core.$firstWhere](test, opts) { |
804 dart.as(test, dart.functionType(core.bool, [E])); | |
788 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 805 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
806 dart.as(orElse, dart.functionType(E, [])); | |
789 for (let element of this) { | 807 for (let element of this) { |
790 if (test(element)) | 808 if (test(element)) |
791 return element; | 809 return element; |
792 } | 810 } |
793 if (orElse != null) | 811 if (orElse != null) |
794 return orElse(); | 812 return orElse(); |
795 throw _internal.IterableElementError.noElement(); | 813 throw _internal.IterableElementError.noElement(); |
796 } | 814 } |
797 [core.$lastWhere](test, opts) { | 815 [core.$lastWhere](test, opts) { |
816 dart.as(test, dart.functionType(core.bool, [E])); | |
798 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 817 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
818 dart.as(orElse, dart.functionType(E, [])); | |
799 let result = null; | 819 let result = null; |
800 let foundMatching = false; | 820 let foundMatching = false; |
801 for (let element of this) { | 821 for (let element of this) { |
802 if (test(element)) { | 822 if (test(element)) { |
803 result = element; | 823 result = element; |
804 foundMatching = true; | 824 foundMatching = true; |
805 } | 825 } |
806 } | 826 } |
807 if (foundMatching) | 827 if (foundMatching) |
808 return result; | 828 return result; |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1014 HasNextIterator._HAS_NEXT_AND_NEXT_IN_CURRENT = 0; | 1034 HasNextIterator._HAS_NEXT_AND_NEXT_IN_CURRENT = 0; |
1015 HasNextIterator._NO_NEXT = 1; | 1035 HasNextIterator._NO_NEXT = 1; |
1016 HasNextIterator._NOT_MOVED_YET = 2; | 1036 HasNextIterator._NOT_MOVED_YET = 2; |
1017 return HasNextIterator; | 1037 return HasNextIterator; |
1018 }); | 1038 }); |
1019 let HasNextIterator = HasNextIterator$(); | 1039 let HasNextIterator = HasNextIterator$(); |
1020 let LinkedHashMap$ = dart.generic(function(K, V) { | 1040 let LinkedHashMap$ = dart.generic(function(K, V) { |
1021 class LinkedHashMap extends core.Object { | 1041 class LinkedHashMap extends core.Object { |
1022 LinkedHashMap(opts) { | 1042 LinkedHashMap(opts) { |
1023 let equals = opts && 'equals' in opts ? opts.equals : null; | 1043 let equals = opts && 'equals' in opts ? opts.equals : null; |
1044 dart.as(equals, dart.functionType(core.bool, [K, K])); | |
1024 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; | 1045 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; |
1046 dart.as(hashCode, dart.functionType(core.int, [K])); | |
1025 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; | 1047 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; |
1048 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
1026 if (isValidKey == null) { | 1049 if (isValidKey == null) { |
1027 if (hashCode == null) { | 1050 if (hashCode == null) { |
1028 if (equals == null) { | 1051 if (equals == null) { |
1029 return new (_LinkedHashMap$(K, V))(); | 1052 return new (_LinkedHashMap$(K, V))(); |
1030 } | 1053 } |
1031 hashCode = dart.as(_defaultHashCode, __CastType10); | 1054 hashCode = dart.as(_defaultHashCode, __CastType10); |
1032 } else { | 1055 } else { |
1033 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { | 1056 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
1034 return new (_LinkedIdentityHashMap$(K, V))(); | 1057 return new (_LinkedIdentityHashMap$(K, V))(); |
1035 } | 1058 } |
(...skipping 16 matching lines...) Expand all Loading... | |
1052 } | 1075 } |
1053 from(other) { | 1076 from(other) { |
1054 let result = new (LinkedHashMap$(K, V))(); | 1077 let result = new (LinkedHashMap$(K, V))(); |
1055 other.forEach((k, v) => { | 1078 other.forEach((k, v) => { |
1056 result.set(k, dart.as(v, V)); | 1079 result.set(k, dart.as(v, V)); |
1057 }); | 1080 }); |
1058 return result; | 1081 return result; |
1059 } | 1082 } |
1060 fromIterable(iterable, opts) { | 1083 fromIterable(iterable, opts) { |
1061 let key = opts && 'key' in opts ? opts.key : null; | 1084 let key = opts && 'key' in opts ? opts.key : null; |
1085 dart.as(key, dart.functionType(K, [dart.dynamic])); | |
1062 let value = opts && 'value' in opts ? opts.value : null; | 1086 let value = opts && 'value' in opts ? opts.value : null; |
1087 dart.as(value, dart.functionType(V, [dart.dynamic])); | |
1063 let map = new (LinkedHashMap$(K, V))(); | 1088 let map = new (LinkedHashMap$(K, V))(); |
1064 Maps._fillMapWithMappedIterable(map, iterable, key, value); | 1089 Maps._fillMapWithMappedIterable(map, iterable, key, value); |
1065 return map; | 1090 return map; |
1066 } | 1091 } |
1067 fromIterables(keys, values) { | 1092 fromIterables(keys, values) { |
1068 let map = new (LinkedHashMap$(K, V))(); | 1093 let map = new (LinkedHashMap$(K, V))(); |
1069 Maps._fillMapWithIterables(map, keys, values); | 1094 Maps._fillMapWithIterables(map, keys, values); |
1070 return map; | 1095 return map; |
1071 } | 1096 } |
1072 _literal(keyValuePairs) { | 1097 _literal(keyValuePairs) { |
(...skipping 20 matching lines...) Expand all Loading... | |
1093 let __CastType10 = __CastType10$(); | 1118 let __CastType10 = __CastType10$(); |
1094 let __CastType12$ = dart.generic(function(K) { | 1119 let __CastType12$ = dart.generic(function(K) { |
1095 let __CastType12 = dart.typedef('__CastType12', () => dart.functionType(core .bool, [K, K])); | 1120 let __CastType12 = dart.typedef('__CastType12', () => dart.functionType(core .bool, [K, K])); |
1096 return __CastType12; | 1121 return __CastType12; |
1097 }); | 1122 }); |
1098 let __CastType12 = __CastType12$(); | 1123 let __CastType12 = __CastType12$(); |
1099 let LinkedHashSet$ = dart.generic(function(E) { | 1124 let LinkedHashSet$ = dart.generic(function(E) { |
1100 class LinkedHashSet extends core.Object { | 1125 class LinkedHashSet extends core.Object { |
1101 LinkedHashSet(opts) { | 1126 LinkedHashSet(opts) { |
1102 let equals = opts && 'equals' in opts ? opts.equals : null; | 1127 let equals = opts && 'equals' in opts ? opts.equals : null; |
1128 dart.as(equals, dart.functionType(core.bool, [E, E])); | |
1103 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; | 1129 let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null; |
1130 dart.as(hashCode, dart.functionType(core.int, [E])); | |
1104 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; | 1131 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; |
1132 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
1105 if (isValidKey == null) { | 1133 if (isValidKey == null) { |
1106 if (hashCode == null) { | 1134 if (hashCode == null) { |
1107 if (equals == null) { | 1135 if (equals == null) { |
1108 return new (_LinkedHashSet$(E))(); | 1136 return new (_LinkedHashSet$(E))(); |
1109 } | 1137 } |
1110 hashCode = dart.as(_defaultHashCode, __CastType15); | 1138 hashCode = dart.as(_defaultHashCode, __CastType15); |
1111 } else { | 1139 } else { |
1112 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { | 1140 if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
1113 return new (_LinkedIdentityHashSet$(E))(); | 1141 return new (_LinkedIdentityHashSet$(E))(); |
1114 } | 1142 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1164 class LinkedList extends IterableBase$(E) { | 1192 class LinkedList extends IterableBase$(E) { |
1165 LinkedList() { | 1193 LinkedList() { |
1166 this[_modificationCount] = 0; | 1194 this[_modificationCount] = 0; |
1167 this[_length] = 0; | 1195 this[_length] = 0; |
1168 this[_next] = null; | 1196 this[_next] = null; |
1169 this[_previous] = null; | 1197 this[_previous] = null; |
1170 super.IterableBase(); | 1198 super.IterableBase(); |
1171 this[_next] = this[_previous] = this; | 1199 this[_next] = this[_previous] = this; |
1172 } | 1200 } |
1173 addFirst(entry) { | 1201 addFirst(entry) { |
1202 dart.as(entry, E); | |
1174 this[_insertAfter](this, entry); | 1203 this[_insertAfter](this, entry); |
1175 } | 1204 } |
1176 add(entry) { | 1205 add(entry) { |
1206 dart.as(entry, E); | |
1177 this[_insertAfter](this[_previous], entry); | 1207 this[_insertAfter](this[_previous], entry); |
1178 } | 1208 } |
1179 addAll(entries) { | 1209 addAll(entries) { |
1180 entries[core.$forEach]((entry => this[_insertAfter](this[_previous], dar t.as(entry, E))).bind(this)); | 1210 entries[core.$forEach]((entry => this[_insertAfter](this[_previous], dar t.as(entry, E))).bind(this)); |
1181 } | 1211 } |
1182 remove(entry) { | 1212 remove(entry) { |
1213 dart.as(entry, E); | |
1183 if (!dart.equals(entry[_list], this)) | 1214 if (!dart.equals(entry[_list], this)) |
1184 return false; | 1215 return false; |
1185 this[_unlink](entry); | 1216 this[_unlink](entry); |
1186 return true; | 1217 return true; |
1187 } | 1218 } |
1188 get [core.$iterator]() { | 1219 get [core.$iterator]() { |
1189 return new (_LinkedListIterator$(E))(this); | 1220 return new (_LinkedListIterator$(E))(this); |
1190 } | 1221 } |
1191 get [core.$length]() { | 1222 get [core.$length]() { |
1192 return this[_length]; | 1223 return this[_length]; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1231 if (modificationCount != this[_modificationCount]) { | 1262 if (modificationCount != this[_modificationCount]) { |
1232 throw new core.ConcurrentModificationError(this); | 1263 throw new core.ConcurrentModificationError(this); |
1233 } | 1264 } |
1234 current = current[_next]; | 1265 current = current[_next]; |
1235 } | 1266 } |
1236 } | 1267 } |
1237 get [core.$isEmpty]() { | 1268 get [core.$isEmpty]() { |
1238 return this[_length] == 0; | 1269 return this[_length] == 0; |
1239 } | 1270 } |
1240 [_insertAfter](entry, newEntry) { | 1271 [_insertAfter](entry, newEntry) { |
1272 dart.as(newEntry, E); | |
1241 if (newEntry.list != null) { | 1273 if (newEntry.list != null) { |
1242 throw new core.StateError('LinkedListEntry is already in a LinkedList' ); | 1274 throw new core.StateError('LinkedListEntry is already in a LinkedList' ); |
1243 } | 1275 } |
1244 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 1276 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
1245 newEntry[_list] = this; | 1277 newEntry[_list] = this; |
1246 let predecessor = entry; | 1278 let predecessor = entry; |
1247 let successor = entry[_next]; | 1279 let successor = entry[_next]; |
1248 successor[_previous] = newEntry; | 1280 successor[_previous] = newEntry; |
1249 newEntry[_previous] = predecessor; | 1281 newEntry[_previous] = predecessor; |
1250 newEntry[_next] = successor; | 1282 newEntry[_next] = successor; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1316 return null; | 1348 return null; |
1317 let result = dart.as(this[_next], E); | 1349 let result = dart.as(this[_next], E); |
1318 return result; | 1350 return result; |
1319 } | 1351 } |
1320 get previous() { | 1352 get previous() { |
1321 if (core.identical(this[_previous], this[_list])) | 1353 if (core.identical(this[_previous], this[_list])) |
1322 return null; | 1354 return null; |
1323 return dart.as(this[_previous], E); | 1355 return dart.as(this[_previous], E); |
1324 } | 1356 } |
1325 insertAfter(entry) { | 1357 insertAfter(entry) { |
1358 dart.as(entry, E); | |
1326 this[_list][_insertAfter](this, entry); | 1359 this[_list][_insertAfter](this, entry); |
1327 } | 1360 } |
1328 insertBefore(entry) { | 1361 insertBefore(entry) { |
1362 dart.as(entry, E); | |
1329 this[_list][_insertAfter](this[_previous], entry); | 1363 this[_list][_insertAfter](this[_previous], entry); |
1330 } | 1364 } |
1331 } | 1365 } |
1332 LinkedListEntry[dart.implements] = () => [_LinkedListLink]; | 1366 LinkedListEntry[dart.implements] = () => [_LinkedListLink]; |
1333 return LinkedListEntry; | 1367 return LinkedListEntry; |
1334 }); | 1368 }); |
1335 let LinkedListEntry = LinkedListEntry$(); | 1369 let LinkedListEntry = LinkedListEntry$(); |
1336 let ListMixin$ = dart.generic(function(E) { | 1370 let ListMixin$ = dart.generic(function(E) { |
1337 class ListMixin extends core.Object { | 1371 class ListMixin extends core.Object { |
1338 get [core.$iterator]() { | 1372 get [core.$iterator]() { |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1400 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { | 1434 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { |
1401 if (test(this[core.$get](i))) | 1435 if (test(this[core.$get](i))) |
1402 return true; | 1436 return true; |
1403 if (length != this[core.$length]) { | 1437 if (length != this[core.$length]) { |
1404 throw new core.ConcurrentModificationError(this); | 1438 throw new core.ConcurrentModificationError(this); |
1405 } | 1439 } |
1406 } | 1440 } |
1407 return false; | 1441 return false; |
1408 } | 1442 } |
1409 [core.$firstWhere](test, opts) { | 1443 [core.$firstWhere](test, opts) { |
1444 dart.as(test, dart.functionType(core.bool, [E])); | |
1410 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 1445 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
1446 dart.as(orElse, dart.functionType(E, [])); | |
1411 let length = this[core.$length]; | 1447 let length = this[core.$length]; |
1412 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) { |
1413 let element = this[core.$get](i); | 1449 let element = this[core.$get](i); |
1414 if (test(element)) | 1450 if (test(element)) |
1415 return element; | 1451 return element; |
1416 if (length != this[core.$length]) { | 1452 if (length != this[core.$length]) { |
1417 throw new core.ConcurrentModificationError(this); | 1453 throw new core.ConcurrentModificationError(this); |
1418 } | 1454 } |
1419 } | 1455 } |
1420 if (orElse != null) | 1456 if (orElse != null) |
1421 return orElse(); | 1457 return orElse(); |
1422 throw _internal.IterableElementError.noElement(); | 1458 throw _internal.IterableElementError.noElement(); |
1423 } | 1459 } |
1424 [core.$lastWhere](test, opts) { | 1460 [core.$lastWhere](test, opts) { |
1461 dart.as(test, dart.functionType(core.bool, [E])); | |
1425 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 1462 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
1463 dart.as(orElse, dart.functionType(E, [])); | |
1426 let length = this[core.$length]; | 1464 let length = this[core.$length]; |
1427 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) { | 1465 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) { |
1428 let element = this[core.$get](i); | 1466 let element = this[core.$get](i); |
1429 if (test(element)) | 1467 if (test(element)) |
1430 return element; | 1468 return element; |
1431 if (length != this[core.$length]) { | 1469 if (length != this[core.$length]) { |
1432 throw new core.ConcurrentModificationError(this); | 1470 throw new core.ConcurrentModificationError(this); |
1433 } | 1471 } |
1434 } | 1472 } |
1435 if (orElse != null) | 1473 if (orElse != null) |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1526 return result; | 1564 return result; |
1527 } | 1565 } |
1528 [core.$toSet]() { | 1566 [core.$toSet]() { |
1529 let result = new (core.Set$(E))(); | 1567 let result = new (core.Set$(E))(); |
1530 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i = dart.notNull(i) + 1) { | 1568 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i = dart.notNull(i) + 1) { |
1531 result.add(this[core.$get](i)); | 1569 result.add(this[core.$get](i)); |
1532 } | 1570 } |
1533 return result; | 1571 return result; |
1534 } | 1572 } |
1535 [core.$add](element) { | 1573 [core.$add](element) { |
1574 dart.as(element, E); | |
1536 this[core.$set]((() => { | 1575 this[core.$set]((() => { |
1537 let o = this, x = o[core.$length]; | 1576 let o = this, x = o[core.$length]; |
1538 o[core.$length] = dart.notNull(x) + 1; | 1577 o[core.$length] = dart.notNull(x) + 1; |
1539 return x; | 1578 return x; |
1540 }).bind(this)(), element); | 1579 }).bind(this)(), element); |
1541 } | 1580 } |
1542 [core.$addAll](iterable) { | 1581 [core.$addAll](iterable) { |
1543 for (let element of iterable) { | 1582 for (let element of iterable) { |
1544 this[core.$set]((() => { | 1583 this[core.$set]((() => { |
1545 let o = this, x = o[core.$length]; | 1584 let o = this, x = o[core.$length]; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1589 if (this[core.$length] == 0) { | 1628 if (this[core.$length] == 0) { |
1590 throw _internal.IterableElementError.noElement(); | 1629 throw _internal.IterableElementError.noElement(); |
1591 } | 1630 } |
1592 let result = this[core.$get](dart.notNull(this[core.$length]) - 1); | 1631 let result = this[core.$get](dart.notNull(this[core.$length]) - 1); |
1593 this[core.$length] = dart.notNull(this[core.$length]) - 1; | 1632 this[core.$length] = dart.notNull(this[core.$length]) - 1; |
1594 return result; | 1633 return result; |
1595 } | 1634 } |
1596 [core.$sort](compare) { | 1635 [core.$sort](compare) { |
1597 if (compare === void 0) | 1636 if (compare === void 0) |
1598 compare = null; | 1637 compare = null; |
1638 dart.as(compare, dart.functionType(core.int, [E, E])); | |
1599 if (compare == null) { | 1639 if (compare == null) { |
1600 let defaultCompare = dart.bind(core.Comparable, 'compare'); | 1640 let defaultCompare = dart.bind(core.Comparable, 'compare'); |
1601 compare = defaultCompare; | 1641 compare = defaultCompare; |
1602 } | 1642 } |
1603 _internal.Sort.sort(this, compare); | 1643 _internal.Sort.sort(this, compare); |
1604 } | 1644 } |
1605 [core.$shuffle](random) { | 1645 [core.$shuffle](random) { |
1606 if (random === void 0) | 1646 if (random === void 0) |
1607 random = null; | 1647 random = null; |
1608 if (random == null) | 1648 if (random == null) |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1641 [core.$removeRange](start, end) { | 1681 [core.$removeRange](start, end) { |
1642 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1682 core.RangeError.checkValidRange(start, end, this[core.$length]); |
1643 let length = dart.notNull(end) - dart.notNull(start); | 1683 let length = dart.notNull(end) - dart.notNull(start); |
1644 this[core.$setRange](start, dart.notNull(this[core.$length]) - dart.notN ull(length), this, end); | 1684 this[core.$setRange](start, dart.notNull(this[core.$length]) - dart.notN ull(length), this, end); |
1645 let o = this; | 1685 let o = this; |
1646 o[core.$length] = dart.notNull(o[core.$length]) - dart.notNull(length); | 1686 o[core.$length] = dart.notNull(o[core.$length]) - dart.notNull(length); |
1647 } | 1687 } |
1648 [core.$fillRange](start, end, fill) { | 1688 [core.$fillRange](start, end, fill) { |
1649 if (fill === void 0) | 1689 if (fill === void 0) |
1650 fill = null; | 1690 fill = null; |
1691 dart.as(fill, E); | |
1651 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1692 core.RangeError.checkValidRange(start, end, this[core.$length]); |
1652 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { | 1693 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { |
1653 this[core.$set](i, fill); | 1694 this[core.$set](i, fill); |
1654 } | 1695 } |
1655 } | 1696 } |
1656 [core.$setRange](start, end, iterable, skipCount) { | 1697 [core.$setRange](start, end, iterable, skipCount) { |
1698 dart.as(iterable, core.Iterable$(E)); | |
1657 if (skipCount === void 0) | 1699 if (skipCount === void 0) |
1658 skipCount = 0; | 1700 skipCount = 0; |
1659 core.RangeError.checkValidRange(start, end, this[core.$length]); | 1701 core.RangeError.checkValidRange(start, end, this[core.$length]); |
1660 let length = dart.notNull(end) - dart.notNull(start); | 1702 let length = dart.notNull(end) - dart.notNull(start); |
1661 if (length == 0) | 1703 if (length == 0) |
1662 return; | 1704 return; |
1663 core.RangeError.checkNotNegative(skipCount, "skipCount"); | 1705 core.RangeError.checkNotNegative(skipCount, "skipCount"); |
1664 let otherList = null; | 1706 let otherList = null; |
1665 let otherStart = null; | 1707 let otherStart = null; |
1666 if (dart.is(iterable, core.List)) { | 1708 if (dart.is(iterable, core.List)) { |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1738 } | 1780 } |
1739 } | 1781 } |
1740 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { | 1782 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { |
1741 if (dart.equals(this[core.$get](i), element)) { | 1783 if (dart.equals(this[core.$get](i), element)) { |
1742 return i; | 1784 return i; |
1743 } | 1785 } |
1744 } | 1786 } |
1745 return -1; | 1787 return -1; |
1746 } | 1788 } |
1747 [core.$insert](index, element) { | 1789 [core.$insert](index, element) { |
1790 dart.as(element, E); | |
1748 core.RangeError.checkValueInInterval(index, 0, this[core.$length], "inde x"); | 1791 core.RangeError.checkValueInInterval(index, 0, this[core.$length], "inde x"); |
1749 if (index == this[core.$length]) { | 1792 if (index == this[core.$length]) { |
1750 this[core.$add](element); | 1793 this[core.$add](element); |
1751 return; | 1794 return; |
1752 } | 1795 } |
1753 if (!(typeof index == 'number')) | 1796 if (!(typeof index == 'number')) |
1754 throw new core.ArgumentError(index); | 1797 throw new core.ArgumentError(index); |
1755 let o = this; | 1798 let o = this; |
1756 o[core.$length] = dart.notNull(o[core.$length]) + 1; | 1799 o[core.$length] = dart.notNull(o[core.$length]) + 1; |
1757 this[core.$setRange](dart.notNull(index) + 1, this[core.$length], this, index); | 1800 this[core.$setRange](dart.notNull(index) + 1, this[core.$length], this, index); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1813 for (let key of this.keys) { | 1856 for (let key of this.keys) { |
1814 action(key, this.get(key)); | 1857 action(key, this.get(key)); |
1815 } | 1858 } |
1816 } | 1859 } |
1817 addAll(other) { | 1860 addAll(other) { |
1818 for (let key of other.keys) { | 1861 for (let key of other.keys) { |
1819 this.set(key, other.get(key)); | 1862 this.set(key, other.get(key)); |
1820 } | 1863 } |
1821 } | 1864 } |
1822 containsValue(value) { | 1865 containsValue(value) { |
1866 dart.as(value, V); | |
1823 for (let key of this.keys) { | 1867 for (let key of this.keys) { |
1824 if (dart.equals(this.get(key), value)) | 1868 if (dart.equals(this.get(key), value)) |
1825 return true; | 1869 return true; |
1826 } | 1870 } |
1827 return false; | 1871 return false; |
1828 } | 1872 } |
1829 putIfAbsent(key, ifAbsent) { | 1873 putIfAbsent(key, ifAbsent) { |
1874 dart.as(key, K); | |
1875 dart.as(ifAbsent, dart.functionType(V, [])); | |
1830 if (this.keys[core.$contains](key)) { | 1876 if (this.keys[core.$contains](key)) { |
1831 return this.get(key); | 1877 return this.get(key); |
1832 } | 1878 } |
1833 return this.set(key, ifAbsent()); | 1879 return this.set(key, ifAbsent()); |
1834 } | 1880 } |
1835 containsKey(key) { | 1881 containsKey(key) { |
1836 return this.keys[core.$contains](key); | 1882 return this.keys[core.$contains](key); |
1837 } | 1883 } |
1838 get length() { | 1884 get length() { |
1839 return this.keys[core.$length]; | 1885 return this.keys[core.$length]; |
(...skipping 16 matching lines...) Expand all Loading... | |
1856 }); | 1902 }); |
1857 let MapMixin = MapMixin$(); | 1903 let MapMixin = MapMixin$(); |
1858 let MapBase$ = dart.generic(function(K, V) { | 1904 let MapBase$ = dart.generic(function(K, V) { |
1859 class MapBase extends dart.mixin(core.Object, MapMixin$(K, V)) {} | 1905 class MapBase extends dart.mixin(core.Object, MapMixin$(K, V)) {} |
1860 return MapBase; | 1906 return MapBase; |
1861 }); | 1907 }); |
1862 let MapBase = MapBase$(); | 1908 let MapBase = MapBase$(); |
1863 let _UnmodifiableMapMixin$ = dart.generic(function(K, V) { | 1909 let _UnmodifiableMapMixin$ = dart.generic(function(K, V) { |
1864 class _UnmodifiableMapMixin extends core.Object { | 1910 class _UnmodifiableMapMixin extends core.Object { |
1865 set(key, value) { | 1911 set(key, value) { |
1912 dart.as(key, K); | |
1913 dart.as(value, V); | |
1866 throw new core.UnsupportedError("Cannot modify unmodifiable map"); | 1914 throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
1867 } | 1915 } |
1868 addAll(other) { | 1916 addAll(other) { |
1869 throw new core.UnsupportedError("Cannot modify unmodifiable map"); | 1917 throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
1870 } | 1918 } |
1871 clear() { | 1919 clear() { |
1872 throw new core.UnsupportedError("Cannot modify unmodifiable map"); | 1920 throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
1873 } | 1921 } |
1874 remove(key) { | 1922 remove(key) { |
1875 throw new core.UnsupportedError("Cannot modify unmodifiable map"); | 1923 throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
1876 } | 1924 } |
1877 putIfAbsent(key, ifAbsent) { | 1925 putIfAbsent(key, ifAbsent) { |
1926 dart.as(key, K); | |
1927 dart.as(ifAbsent, dart.functionType(V, [])); | |
1878 throw new core.UnsupportedError("Cannot modify unmodifiable map"); | 1928 throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
1879 } | 1929 } |
1880 } | 1930 } |
1881 _UnmodifiableMapMixin[dart.implements] = () => [core.Map$(K, V)]; | 1931 _UnmodifiableMapMixin[dart.implements] = () => [core.Map$(K, V)]; |
1882 return _UnmodifiableMapMixin; | 1932 return _UnmodifiableMapMixin; |
1883 }); | 1933 }); |
1884 let _UnmodifiableMapMixin = _UnmodifiableMapMixin$(); | 1934 let _UnmodifiableMapMixin = _UnmodifiableMapMixin$(); |
1885 let UnmodifiableMapBase$ = dart.generic(function(K, V) { | 1935 let UnmodifiableMapBase$ = dart.generic(function(K, V) { |
1886 class UnmodifiableMapBase extends dart.mixin(MapBase$(K, V), _UnmodifiableMa pMixin$(K, V)) {} | 1936 class UnmodifiableMapBase extends dart.mixin(MapBase$(K, V), _UnmodifiableMa pMixin$(K, V)) {} |
1887 return UnmodifiableMapBase; | 1937 return UnmodifiableMapBase; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1946 let _MapBaseValueIterator = _MapBaseValueIterator$(); | 1996 let _MapBaseValueIterator = _MapBaseValueIterator$(); |
1947 let MapView$ = dart.generic(function(K, V) { | 1997 let MapView$ = dart.generic(function(K, V) { |
1948 class MapView extends core.Object { | 1998 class MapView extends core.Object { |
1949 MapView(map) { | 1999 MapView(map) { |
1950 this[_map] = map; | 2000 this[_map] = map; |
1951 } | 2001 } |
1952 get(key) { | 2002 get(key) { |
1953 return this[_map].get(key); | 2003 return this[_map].get(key); |
1954 } | 2004 } |
1955 set(key, value) { | 2005 set(key, value) { |
2006 dart.as(key, K); | |
2007 dart.as(value, V); | |
1956 this[_map].set(key, value); | 2008 this[_map].set(key, value); |
1957 } | 2009 } |
1958 addAll(other) { | 2010 addAll(other) { |
1959 this[_map].addAll(other); | 2011 this[_map].addAll(other); |
1960 } | 2012 } |
1961 clear() { | 2013 clear() { |
1962 this[_map].clear(); | 2014 this[_map].clear(); |
1963 } | 2015 } |
1964 putIfAbsent(key, ifAbsent) { | 2016 putIfAbsent(key, ifAbsent) { |
2017 dart.as(key, K); | |
2018 dart.as(ifAbsent, dart.functionType(V, [])); | |
1965 return this[_map].putIfAbsent(key, ifAbsent); | 2019 return this[_map].putIfAbsent(key, ifAbsent); |
1966 } | 2020 } |
1967 containsKey(key) { | 2021 containsKey(key) { |
1968 return this[_map].containsKey(key); | 2022 return this[_map].containsKey(key); |
1969 } | 2023 } |
1970 containsValue(value) { | 2024 containsValue(value) { |
1971 return this[_map].containsValue(value); | 2025 return this[_map].containsValue(value); |
1972 } | 2026 } |
1973 forEach(action) { | 2027 forEach(action) { |
1974 this[_map].forEach(action); | 2028 this[_map].forEach(action); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2116 dart.defineNamedConstructor(Queue, 'from'); | 2170 dart.defineNamedConstructor(Queue, 'from'); |
2117 return Queue; | 2171 return Queue; |
2118 }); | 2172 }); |
2119 let Queue = Queue$(); | 2173 let Queue = Queue$(); |
2120 let _element = Symbol('_element'); | 2174 let _element = Symbol('_element'); |
2121 let _link = Symbol('_link'); | 2175 let _link = Symbol('_link'); |
2122 let _asNonSentinelEntry = Symbol('_asNonSentinelEntry'); | 2176 let _asNonSentinelEntry = Symbol('_asNonSentinelEntry'); |
2123 let DoubleLinkedQueueEntry$ = dart.generic(function(E) { | 2177 let DoubleLinkedQueueEntry$ = dart.generic(function(E) { |
2124 class DoubleLinkedQueueEntry extends core.Object { | 2178 class DoubleLinkedQueueEntry extends core.Object { |
2125 DoubleLinkedQueueEntry(e) { | 2179 DoubleLinkedQueueEntry(e) { |
2180 dart.as(e, E); | |
2126 this[_element] = e; | 2181 this[_element] = e; |
2127 this[_previous] = null; | 2182 this[_previous] = null; |
2128 this[_next] = null; | 2183 this[_next] = null; |
2129 } | 2184 } |
2130 [_link](previous, next) { | 2185 [_link](previous, next) { |
2131 this[_next] = next; | 2186 this[_next] = next; |
2132 this[_previous] = previous; | 2187 this[_previous] = previous; |
2133 previous[_next] = this; | 2188 previous[_next] = this; |
2134 next[_previous] = this; | 2189 next[_previous] = this; |
2135 } | 2190 } |
2136 append(e) { | 2191 append(e) { |
2192 dart.as(e, E); | |
2137 new (DoubleLinkedQueueEntry$(E))(e)[_link](this, this[_next]); | 2193 new (DoubleLinkedQueueEntry$(E))(e)[_link](this, this[_next]); |
2138 } | 2194 } |
2139 prepend(e) { | 2195 prepend(e) { |
2196 dart.as(e, E); | |
2140 new (DoubleLinkedQueueEntry$(E))(e)[_link](this[_previous], this); | 2197 new (DoubleLinkedQueueEntry$(E))(e)[_link](this[_previous], this); |
2141 } | 2198 } |
2142 remove() { | 2199 remove() { |
2143 this[_previous][_next] = this[_next]; | 2200 this[_previous][_next] = this[_next]; |
2144 this[_next][_previous] = this[_previous]; | 2201 this[_next][_previous] = this[_previous]; |
2145 this[_next] = null; | 2202 this[_next] = null; |
2146 this[_previous] = null; | 2203 this[_previous] = null; |
2147 return this[_element]; | 2204 return this[_element]; |
2148 } | 2205 } |
2149 [_asNonSentinelEntry]() { | 2206 [_asNonSentinelEntry]() { |
2150 return this; | 2207 return this; |
2151 } | 2208 } |
2152 previousEntry() { | 2209 previousEntry() { |
2153 return this[_previous][_asNonSentinelEntry](); | 2210 return this[_previous][_asNonSentinelEntry](); |
2154 } | 2211 } |
2155 nextEntry() { | 2212 nextEntry() { |
2156 return this[_next][_asNonSentinelEntry](); | 2213 return this[_next][_asNonSentinelEntry](); |
2157 } | 2214 } |
2158 get element() { | 2215 get element() { |
2159 return this[_element]; | 2216 return this[_element]; |
2160 } | 2217 } |
2161 set element(e) { | 2218 set element(e) { |
2219 dart.as(e, E); | |
2162 this[_element] = e; | 2220 this[_element] = e; |
2163 } | 2221 } |
2164 } | 2222 } |
2165 return DoubleLinkedQueueEntry; | 2223 return DoubleLinkedQueueEntry; |
2166 }); | 2224 }); |
2167 let DoubleLinkedQueueEntry = DoubleLinkedQueueEntry$(); | 2225 let DoubleLinkedQueueEntry = DoubleLinkedQueueEntry$(); |
2168 let _DoubleLinkedQueueEntrySentinel$ = dart.generic(function(E) { | 2226 let _DoubleLinkedQueueEntrySentinel$ = dart.generic(function(E) { |
2169 class _DoubleLinkedQueueEntrySentinel extends DoubleLinkedQueueEntry$(E) { | 2227 class _DoubleLinkedQueueEntrySentinel extends DoubleLinkedQueueEntry$(E) { |
2170 _DoubleLinkedQueueEntrySentinel() { | 2228 _DoubleLinkedQueueEntrySentinel() { |
2171 super.DoubleLinkedQueueEntry(null); | 2229 super.DoubleLinkedQueueEntry(null); |
2172 this[_link](this, this); | 2230 this[_link](this, this); |
2173 } | 2231 } |
2174 remove() { | 2232 remove() { |
2175 throw _internal.IterableElementError.noElement(); | 2233 throw _internal.IterableElementError.noElement(); |
2176 } | 2234 } |
2177 [_asNonSentinelEntry]() { | 2235 [_asNonSentinelEntry]() { |
2178 return null; | 2236 return null; |
2179 } | 2237 } |
2180 set element(e) { | 2238 set element(e) { |
2239 dart.as(e, E); | |
2181 dart.assert(false); | 2240 dart.assert(false); |
2182 } | 2241 } |
2183 get element() { | 2242 get element() { |
2184 throw _internal.IterableElementError.noElement(); | 2243 throw _internal.IterableElementError.noElement(); |
2185 } | 2244 } |
2186 } | 2245 } |
2187 return _DoubleLinkedQueueEntrySentinel; | 2246 return _DoubleLinkedQueueEntrySentinel; |
2188 }); | 2247 }); |
2189 let _DoubleLinkedQueueEntrySentinel = _DoubleLinkedQueueEntrySentinel$(); | 2248 let _DoubleLinkedQueueEntrySentinel = _DoubleLinkedQueueEntrySentinel$(); |
2190 let _sentinel = Symbol('_sentinel'); | 2249 let _sentinel = Symbol('_sentinel'); |
(...skipping 11 matching lines...) Expand all Loading... | |
2202 let list = new (DoubleLinkedQueue$(E))(); | 2261 let list = new (DoubleLinkedQueue$(E))(); |
2203 for (let e of dart.as(elements, core.Iterable$(E))) { | 2262 for (let e of dart.as(elements, core.Iterable$(E))) { |
2204 list.addLast(e); | 2263 list.addLast(e); |
2205 } | 2264 } |
2206 return dart.as(list, DoubleLinkedQueue$(E)); | 2265 return dart.as(list, DoubleLinkedQueue$(E)); |
2207 } | 2266 } |
2208 get [core.$length]() { | 2267 get [core.$length]() { |
2209 return this[_elementCount]; | 2268 return this[_elementCount]; |
2210 } | 2269 } |
2211 addLast(value) { | 2270 addLast(value) { |
2271 dart.as(value, E); | |
2212 this[_sentinel].prepend(value); | 2272 this[_sentinel].prepend(value); |
2213 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; | 2273 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
2214 } | 2274 } |
2215 addFirst(value) { | 2275 addFirst(value) { |
2276 dart.as(value, E); | |
2216 this[_sentinel].append(value); | 2277 this[_sentinel].append(value); |
2217 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; | 2278 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
2218 } | 2279 } |
2219 add(value) { | 2280 add(value) { |
2281 dart.as(value, E); | |
2220 this[_sentinel].prepend(value); | 2282 this[_sentinel].prepend(value); |
2221 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; | 2283 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
2222 } | 2284 } |
2223 addAll(iterable) { | 2285 addAll(iterable) { |
2224 for (let value of iterable) { | 2286 for (let value of iterable) { |
2225 this[_sentinel].prepend(value); | 2287 this[_sentinel].prepend(value); |
2226 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; | 2288 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
2227 } | 2289 } |
2228 } | 2290 } |
2229 removeLast() { | 2291 removeLast() { |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2429 if (growable) { | 2491 if (growable) { |
2430 list = new (core.List$(E))(); | 2492 list = new (core.List$(E))(); |
2431 list[core.$length] = this[core.$length]; | 2493 list[core.$length] = this[core.$length]; |
2432 } else { | 2494 } else { |
2433 list = new (core.List$(E))(this[core.$length]); | 2495 list = new (core.List$(E))(this[core.$length]); |
2434 } | 2496 } |
2435 this[_writeToList](list); | 2497 this[_writeToList](list); |
2436 return list; | 2498 return list; |
2437 } | 2499 } |
2438 add(element) { | 2500 add(element) { |
2501 dart.as(element, E); | |
2439 this[_add](element); | 2502 this[_add](element); |
2440 } | 2503 } |
2441 addAll(elements) { | 2504 addAll(elements) { |
2442 if (dart.is(elements, core.List)) { | 2505 if (dart.is(elements, core.List)) { |
2443 let list = dart.as(elements, core.List); | 2506 let list = dart.as(elements, core.List); |
2444 let addCount = list[core.$length]; | 2507 let addCount = list[core.$length]; |
2445 let length = this[core.$length]; | 2508 let length = this[core.$length]; |
2446 if (dart.notNull(length) + dart.notNull(addCount) >= dart.notNull(this [_table][core.$length])) { | 2509 if (dart.notNull(length) + dart.notNull(addCount) >= dart.notNull(this [_table][core.$length])) { |
2447 this[_preGrow](dart.notNull(length) + dart.notNull(addCount)); | 2510 this[_preGrow](dart.notNull(length) + dart.notNull(addCount)); |
2448 this[_table][core.$setRange](length, dart.notNull(length) + dart.not Null(addCount), dart.as(list, core.Iterable$(E)), 0); | 2511 this[_table][core.$setRange](length, dart.notNull(length) + dart.not Null(addCount), dart.as(list, core.Iterable$(E)), 0); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2504 this[_table][core.$set](i, null); | 2567 this[_table][core.$set](i, null); |
2505 } | 2568 } |
2506 this[_head] = this[_tail] = 0; | 2569 this[_head] = this[_tail] = 0; |
2507 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 2570 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2508 } | 2571 } |
2509 } | 2572 } |
2510 toString() { | 2573 toString() { |
2511 return IterableBase.iterableToFullString(this, "{", "}"); | 2574 return IterableBase.iterableToFullString(this, "{", "}"); |
2512 } | 2575 } |
2513 addLast(element) { | 2576 addLast(element) { |
2577 dart.as(element, E); | |
2514 this[_add](element); | 2578 this[_add](element); |
2515 } | 2579 } |
2516 addFirst(element) { | 2580 addFirst(element) { |
2581 dart.as(element, E); | |
2517 this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table][ core.$length]) - 1; | 2582 this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table][ core.$length]) - 1; |
2518 this[_table][core.$set](this[_head], element); | 2583 this[_table][core.$set](this[_head], element); |
2519 if (this[_head] == this[_tail]) | 2584 if (this[_head] == this[_tail]) |
2520 this[_grow](); | 2585 this[_grow](); |
2521 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 2586 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2522 } | 2587 } |
2523 removeFirst() { | 2588 removeFirst() { |
2524 if (this[_head] == this[_tail]) | 2589 if (this[_head] == this[_tail]) |
2525 throw _internal.IterableElementError.noElement(); | 2590 throw _internal.IterableElementError.noElement(); |
2526 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 2591 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
(...skipping 23 matching lines...) Expand all Loading... | |
2550 return number; | 2615 return number; |
2551 number = nextNumber; | 2616 number = nextNumber; |
2552 } | 2617 } |
2553 } | 2618 } |
2554 [_checkModification](expectedModificationCount) { | 2619 [_checkModification](expectedModificationCount) { |
2555 if (expectedModificationCount != this[_modificationCount]) { | 2620 if (expectedModificationCount != this[_modificationCount]) { |
2556 throw new core.ConcurrentModificationError(this); | 2621 throw new core.ConcurrentModificationError(this); |
2557 } | 2622 } |
2558 } | 2623 } |
2559 [_add](element) { | 2624 [_add](element) { |
2625 dart.as(element, E); | |
2560 this[_table][core.$set](this[_tail], element); | 2626 this[_table][core.$set](this[_tail], element); |
2561 this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table][ core.$length]) - 1; | 2627 this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table][ core.$length]) - 1; |
2562 if (this[_head] == this[_tail]) | 2628 if (this[_head] == this[_tail]) |
2563 this[_grow](); | 2629 this[_grow](); |
2564 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; | 2630 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
2565 } | 2631 } |
2566 [_remove](offset) { | 2632 [_remove](offset) { |
2567 let mask = dart.notNull(this[_table][core.$length]) - 1; | 2633 let mask = dart.notNull(this[_table][core.$length]) - 1; |
2568 let startDistance = dart.notNull(offset) - dart.notNull(this[_head]) & d art.notNull(mask); | 2634 let startDistance = dart.notNull(offset) - dart.notNull(this[_head]) & d art.notNull(mask); |
2569 let endDistance = dart.notNull(this[_tail]) - dart.notNull(offset) & dar t.notNull(mask); | 2635 let endDistance = dart.notNull(this[_tail]) - dart.notNull(offset) & dar t.notNull(mask); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2658 }); | 2724 }); |
2659 let _ListQueueIterator = _ListQueueIterator$(); | 2725 let _ListQueueIterator = _ListQueueIterator$(); |
2660 let _Predicate$ = dart.generic(function(T) { | 2726 let _Predicate$ = dart.generic(function(T) { |
2661 let _Predicate = dart.typedef('_Predicate', () => dart.functionType(core.boo l, [T])); | 2727 let _Predicate = dart.typedef('_Predicate', () => dart.functionType(core.boo l, [T])); |
2662 return _Predicate; | 2728 return _Predicate; |
2663 }); | 2729 }); |
2664 let _Predicate = _Predicate$(); | 2730 let _Predicate = _Predicate$(); |
2665 let _SplayTreeNode$ = dart.generic(function(K) { | 2731 let _SplayTreeNode$ = dart.generic(function(K) { |
2666 class _SplayTreeNode extends core.Object { | 2732 class _SplayTreeNode extends core.Object { |
2667 _SplayTreeNode(key) { | 2733 _SplayTreeNode(key) { |
2734 dart.as(key, K); | |
2668 this.key = key; | 2735 this.key = key; |
2669 this.left = null; | 2736 this.left = null; |
2670 this.right = null; | 2737 this.right = null; |
2671 } | 2738 } |
2672 } | 2739 } |
2673 return _SplayTreeNode; | 2740 return _SplayTreeNode; |
2674 }); | 2741 }); |
2675 let _SplayTreeNode = _SplayTreeNode$(); | 2742 let _SplayTreeNode = _SplayTreeNode$(); |
2676 let _SplayTreeMapNode$ = dart.generic(function(K, V) { | 2743 let _SplayTreeMapNode$ = dart.generic(function(K, V) { |
2677 class _SplayTreeMapNode extends _SplayTreeNode$(K) { | 2744 class _SplayTreeMapNode extends _SplayTreeNode$(K) { |
2678 _SplayTreeMapNode(key, value) { | 2745 _SplayTreeMapNode(key, value) { |
2746 dart.as(key, K); | |
2747 dart.as(value, V); | |
2679 this.value = value; | 2748 this.value = value; |
2680 super._SplayTreeNode(key); | 2749 super._SplayTreeNode(key); |
2681 } | 2750 } |
2682 } | 2751 } |
2683 return _SplayTreeMapNode; | 2752 return _SplayTreeMapNode; |
2684 }); | 2753 }); |
2685 let _SplayTreeMapNode = _SplayTreeMapNode$(); | 2754 let _SplayTreeMapNode = _SplayTreeMapNode$(); |
2686 let _dummy = Symbol('_dummy'); | 2755 let _dummy = Symbol('_dummy'); |
2687 let _root = Symbol('_root'); | 2756 let _root = Symbol('_root'); |
2688 let _count = Symbol('_count'); | 2757 let _count = Symbol('_count'); |
2689 let _splayCount = Symbol('_splayCount'); | 2758 let _splayCount = Symbol('_splayCount'); |
2690 let _splay = Symbol('_splay'); | 2759 let _splay = Symbol('_splay'); |
2691 let _compare = Symbol('_compare'); | 2760 let _compare = Symbol('_compare'); |
2692 let _splayMin = Symbol('_splayMin'); | 2761 let _splayMin = Symbol('_splayMin'); |
2693 let _splayMax = Symbol('_splayMax'); | 2762 let _splayMax = Symbol('_splayMax'); |
2694 let _addNewRoot = Symbol('_addNewRoot'); | 2763 let _addNewRoot = Symbol('_addNewRoot'); |
2695 let _first = Symbol('_first'); | 2764 let _first = Symbol('_first'); |
2696 let _last = Symbol('_last'); | 2765 let _last = Symbol('_last'); |
2697 let _clear = Symbol('_clear'); | 2766 let _clear = Symbol('_clear'); |
2698 let _SplayTree$ = dart.generic(function(K) { | 2767 let _SplayTree$ = dart.generic(function(K) { |
2699 class _SplayTree extends core.Object { | 2768 class _SplayTree extends core.Object { |
2700 _SplayTree() { | 2769 _SplayTree() { |
2701 this[_dummy] = new (_SplayTreeNode$(K))(null); | 2770 this[_dummy] = new (_SplayTreeNode$(K))(null); |
2702 this[_root] = null; | 2771 this[_root] = null; |
2703 this[_count] = 0; | 2772 this[_count] = 0; |
2704 this[_modificationCount] = 0; | 2773 this[_modificationCount] = 0; |
2705 this[_splayCount] = 0; | 2774 this[_splayCount] = 0; |
2706 } | 2775 } |
2707 [_splay](key) { | 2776 [_splay](key) { |
2777 dart.as(key, K); | |
2708 if (this[_root] == null) | 2778 if (this[_root] == null) |
2709 return -1; | 2779 return -1; |
2710 let left = this[_dummy]; | 2780 let left = this[_dummy]; |
2711 let right = this[_dummy]; | 2781 let right = this[_dummy]; |
2712 let current = this[_root]; | 2782 let current = this[_root]; |
2713 let comp = null; | 2783 let comp = null; |
2714 while (true) { | 2784 while (true) { |
2715 comp = this[_compare](current.key, key); | 2785 comp = this[_compare](current.key, key); |
2716 if (dart.notNull(comp) > 0) { | 2786 if (dart.notNull(comp) > 0) { |
2717 if (current.left == null) | 2787 if (current.left == null) |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2771 let current = node; | 2841 let current = node; |
2772 while (current.right != null) { | 2842 while (current.right != null) { |
2773 let right = current.right; | 2843 let right = current.right; |
2774 current.right = right.left; | 2844 current.right = right.left; |
2775 right.left = current; | 2845 right.left = current; |
2776 current = right; | 2846 current = right; |
2777 } | 2847 } |
2778 return dart.as(current, _SplayTreeNode$(K)); | 2848 return dart.as(current, _SplayTreeNode$(K)); |
2779 } | 2849 } |
2780 [_remove](key) { | 2850 [_remove](key) { |
2851 dart.as(key, K); | |
2781 if (this[_root] == null) | 2852 if (this[_root] == null) |
2782 return null; | 2853 return null; |
2783 let comp = this[_splay](key); | 2854 let comp = this[_splay](key); |
2784 if (comp != 0) | 2855 if (comp != 0) |
2785 return null; | 2856 return null; |
2786 let result = this[_root]; | 2857 let result = this[_root]; |
2787 this[_count] = dart.notNull(this[_count]) - 1; | 2858 this[_count] = dart.notNull(this[_count]) - 1; |
2788 if (this[_root].left == null) { | 2859 if (this[_root].left == null) { |
2789 this[_root] = this[_root].right; | 2860 this[_root] = this[_root].right; |
2790 } else { | 2861 } else { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2843 return _TypeTest; | 2914 return _TypeTest; |
2844 }); | 2915 }); |
2845 let _TypeTest = _TypeTest$(); | 2916 let _TypeTest = _TypeTest$(); |
2846 let _comparator = Symbol('_comparator'); | 2917 let _comparator = Symbol('_comparator'); |
2847 let _validKey = Symbol('_validKey'); | 2918 let _validKey = Symbol('_validKey'); |
2848 let SplayTreeMap$ = dart.generic(function(K, V) { | 2919 let SplayTreeMap$ = dart.generic(function(K, V) { |
2849 class SplayTreeMap extends _SplayTree$(K) { | 2920 class SplayTreeMap extends _SplayTree$(K) { |
2850 SplayTreeMap(compare, isValidKey) { | 2921 SplayTreeMap(compare, isValidKey) { |
2851 if (compare === void 0) | 2922 if (compare === void 0) |
2852 compare = null; | 2923 compare = null; |
2924 dart.as(compare, dart.functionType(core.int, [K, K])); | |
2853 if (isValidKey === void 0) | 2925 if (isValidKey === void 0) |
2854 isValidKey = null; | 2926 isValidKey = null; |
2927 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
2855 this[_comparator] = dart.as(compare == null ? dart.bind(core.Comparable, 'compare') : compare, core.Comparator$(K)); | 2928 this[_comparator] = dart.as(compare == null ? dart.bind(core.Comparable, 'compare') : compare, core.Comparator$(K)); |
2856 this[_validKey] = dart.as(isValidKey != null ? isValidKey : v => dart.is (v, K), _Predicate); | 2929 this[_validKey] = dart.as(isValidKey != null ? isValidKey : v => dart.is (v, K), _Predicate); |
2857 super._SplayTree(); | 2930 super._SplayTree(); |
2858 } | 2931 } |
2859 from(other, compare, isValidKey) { | 2932 from(other, compare, isValidKey) { |
2860 if (compare === void 0) | 2933 if (compare === void 0) |
2861 compare = null; | 2934 compare = null; |
2935 dart.as(compare, dart.functionType(core.int, [K, K])); | |
2862 if (isValidKey === void 0) | 2936 if (isValidKey === void 0) |
2863 isValidKey = null; | 2937 isValidKey = null; |
2938 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
2864 let result = new (SplayTreeMap$(K, V))(); | 2939 let result = new (SplayTreeMap$(K, V))(); |
2865 other.forEach((k, v) => { | 2940 other.forEach((k, v) => { |
2866 result.set(k, dart.as(v, V)); | 2941 result.set(k, dart.as(v, V)); |
2867 }); | 2942 }); |
2868 return result; | 2943 return result; |
2869 } | 2944 } |
2870 fromIterable(iterable, opts) { | 2945 fromIterable(iterable, opts) { |
2871 let key = opts && 'key' in opts ? opts.key : null; | 2946 let key = opts && 'key' in opts ? opts.key : null; |
2947 dart.as(key, dart.functionType(K, [dart.dynamic])); | |
2872 let value = opts && 'value' in opts ? opts.value : null; | 2948 let value = opts && 'value' in opts ? opts.value : null; |
2949 dart.as(value, dart.functionType(V, [dart.dynamic])); | |
2873 let compare = opts && 'compare' in opts ? opts.compare : null; | 2950 let compare = opts && 'compare' in opts ? opts.compare : null; |
2951 dart.as(compare, dart.functionType(core.int, [K, K])); | |
2874 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; | 2952 let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null; |
2953 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
2875 let map = new (SplayTreeMap$(K, V))(compare, isValidKey); | 2954 let map = new (SplayTreeMap$(K, V))(compare, isValidKey); |
2876 Maps._fillMapWithMappedIterable(map, iterable, key, value); | 2955 Maps._fillMapWithMappedIterable(map, iterable, key, value); |
2877 return map; | 2956 return map; |
2878 } | 2957 } |
2879 fromIterables(keys, values, compare, isValidKey) { | 2958 fromIterables(keys, values, compare, isValidKey) { |
2959 dart.as(keys, core.Iterable$(K)); | |
2960 dart.as(values, core.Iterable$(V)); | |
2880 if (compare === void 0) | 2961 if (compare === void 0) |
2881 compare = null; | 2962 compare = null; |
2963 dart.as(compare, dart.functionType(core.int, [K, K])); | |
2882 if (isValidKey === void 0) | 2964 if (isValidKey === void 0) |
2883 isValidKey = null; | 2965 isValidKey = null; |
2966 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
2884 let map = new (SplayTreeMap$(K, V))(compare, isValidKey); | 2967 let map = new (SplayTreeMap$(K, V))(compare, isValidKey); |
2885 Maps._fillMapWithIterables(map, keys, values); | 2968 Maps._fillMapWithIterables(map, keys, values); |
2886 return map; | 2969 return map; |
2887 } | 2970 } |
2888 [_compare](key1, key2) { | 2971 [_compare](key1, key2) { |
2972 dart.as(key1, K); | |
2973 dart.as(key2, K); | |
2889 return this[_comparator](key1, key2); | 2974 return this[_comparator](key1, key2); |
2890 } | 2975 } |
2891 _internal() { | 2976 _internal() { |
2892 this[_comparator] = null; | 2977 this[_comparator] = null; |
2893 this[_validKey] = null; | 2978 this[_validKey] = null; |
2894 super._SplayTree(); | 2979 super._SplayTree(); |
2895 } | 2980 } |
2896 get(key) { | 2981 get(key) { |
2897 if (key == null) | 2982 if (key == null) |
2898 throw new core.ArgumentError(key); | 2983 throw new core.ArgumentError(key); |
(...skipping 10 matching lines...) Expand all Loading... | |
2909 } | 2994 } |
2910 remove(key) { | 2995 remove(key) { |
2911 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 2996 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
2912 return null; | 2997 return null; |
2913 let mapRoot = dart.as(this[_remove](dart.as(key, K)), _SplayTreeMapNode) ; | 2998 let mapRoot = dart.as(this[_remove](dart.as(key, K)), _SplayTreeMapNode) ; |
2914 if (mapRoot != null) | 2999 if (mapRoot != null) |
2915 return dart.as(mapRoot.value, V); | 3000 return dart.as(mapRoot.value, V); |
2916 return null; | 3001 return null; |
2917 } | 3002 } |
2918 set(key, value) { | 3003 set(key, value) { |
3004 dart.as(key, K); | |
3005 dart.as(value, V); | |
2919 if (key == null) | 3006 if (key == null) |
2920 throw new core.ArgumentError(key); | 3007 throw new core.ArgumentError(key); |
2921 let comp = this[_splay](key); | 3008 let comp = this[_splay](key); |
2922 if (comp == 0) { | 3009 if (comp == 0) { |
2923 let mapRoot = dart.as(this[_root], _SplayTreeMapNode); | 3010 let mapRoot = dart.as(this[_root], _SplayTreeMapNode); |
2924 mapRoot.value = value; | 3011 mapRoot.value = value; |
2925 return; | 3012 return; |
2926 } | 3013 } |
2927 this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); | 3014 this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); |
2928 } | 3015 } |
2929 putIfAbsent(key, ifAbsent) { | 3016 putIfAbsent(key, ifAbsent) { |
3017 dart.as(key, K); | |
3018 dart.as(ifAbsent, dart.functionType(V, [])); | |
2930 if (key == null) | 3019 if (key == null) |
2931 throw new core.ArgumentError(key); | 3020 throw new core.ArgumentError(key); |
2932 let comp = this[_splay](key); | 3021 let comp = this[_splay](key); |
2933 if (comp == 0) { | 3022 if (comp == 0) { |
2934 let mapRoot = dart.as(this[_root], _SplayTreeMapNode); | 3023 let mapRoot = dart.as(this[_root], _SplayTreeMapNode); |
2935 return dart.as(mapRoot.value, V); | 3024 return dart.as(mapRoot.value, V); |
2936 } | 3025 } |
2937 let modificationCount = this[_modificationCount]; | 3026 let modificationCount = this[_modificationCount]; |
2938 let splayCount = this[_splayCount]; | 3027 let splayCount = this[_splayCount]; |
2939 let value = ifAbsent(); | 3028 let value = ifAbsent(); |
2940 if (modificationCount != this[_modificationCount]) { | 3029 if (modificationCount != this[_modificationCount]) { |
2941 throw new core.ConcurrentModificationError(this); | 3030 throw new core.ConcurrentModificationError(this); |
2942 } | 3031 } |
2943 if (splayCount != this[_splayCount]) { | 3032 if (splayCount != this[_splayCount]) { |
2944 comp = this[_splay](key); | 3033 comp = this[_splay](key); |
2945 dart.assert(comp != 0); | 3034 dart.assert(comp != 0); |
2946 } | 3035 } |
2947 this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); | 3036 this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); |
2948 return value; | 3037 return value; |
2949 } | 3038 } |
2950 addAll(other) { | 3039 addAll(other) { |
2951 other.forEach(((key, value) => { | 3040 other.forEach(((key, value) => { |
3041 dart.as(key, K); | |
3042 dart.as(value, V); | |
2952 this.set(key, value); | 3043 this.set(key, value); |
2953 }).bind(this)); | 3044 }).bind(this)); |
2954 } | 3045 } |
2955 get isEmpty() { | 3046 get isEmpty() { |
2956 return this[_root] == null; | 3047 return this[_root] == null; |
2957 } | 3048 } |
2958 get isNotEmpty() { | 3049 get isNotEmpty() { |
2959 return !dart.notNull(this.isEmpty); | 3050 return !dart.notNull(this.isEmpty); |
2960 } | 3051 } |
2961 forEach(f) { | 3052 forEach(f) { |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3006 if (this[_root] == null) | 3097 if (this[_root] == null) |
3007 return null; | 3098 return null; |
3008 return dart.as(this[_first].key, K); | 3099 return dart.as(this[_first].key, K); |
3009 } | 3100 } |
3010 lastKey() { | 3101 lastKey() { |
3011 if (this[_root] == null) | 3102 if (this[_root] == null) |
3012 return null; | 3103 return null; |
3013 return dart.as(this[_last].key, K); | 3104 return dart.as(this[_last].key, K); |
3014 } | 3105 } |
3015 lastKeyBefore(key) { | 3106 lastKeyBefore(key) { |
3107 dart.as(key, K); | |
3016 if (key == null) | 3108 if (key == null) |
3017 throw new core.ArgumentError(key); | 3109 throw new core.ArgumentError(key); |
3018 if (this[_root] == null) | 3110 if (this[_root] == null) |
3019 return null; | 3111 return null; |
3020 let comp = this[_splay](key); | 3112 let comp = this[_splay](key); |
3021 if (dart.notNull(comp) < 0) | 3113 if (dart.notNull(comp) < 0) |
3022 return this[_root].key; | 3114 return this[_root].key; |
3023 let node = this[_root].left; | 3115 let node = this[_root].left; |
3024 if (node == null) | 3116 if (node == null) |
3025 return null; | 3117 return null; |
3026 while (node.right != null) { | 3118 while (node.right != null) { |
3027 node = node.right; | 3119 node = node.right; |
3028 } | 3120 } |
3029 return node.key; | 3121 return node.key; |
3030 } | 3122 } |
3031 firstKeyAfter(key) { | 3123 firstKeyAfter(key) { |
3124 dart.as(key, K); | |
3032 if (key == null) | 3125 if (key == null) |
3033 throw new core.ArgumentError(key); | 3126 throw new core.ArgumentError(key); |
3034 if (this[_root] == null) | 3127 if (this[_root] == null) |
3035 return null; | 3128 return null; |
3036 let comp = this[_splay](key); | 3129 let comp = this[_splay](key); |
3037 if (dart.notNull(comp) > 0) | 3130 if (dart.notNull(comp) > 0) |
3038 return this[_root].key; | 3131 return this[_root].key; |
3039 let node = this[_root].right; | 3132 let node = this[_root].right; |
3040 if (node == null) | 3133 if (node == null) |
3041 return null; | 3134 return null; |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3215 dart.defineNamedConstructor(_SplayTreeNodeIterator, 'startAt'); | 3308 dart.defineNamedConstructor(_SplayTreeNodeIterator, 'startAt'); |
3216 return _SplayTreeNodeIterator; | 3309 return _SplayTreeNodeIterator; |
3217 }); | 3310 }); |
3218 let _SplayTreeNodeIterator = _SplayTreeNodeIterator$(); | 3311 let _SplayTreeNodeIterator = _SplayTreeNodeIterator$(); |
3219 let _clone = Symbol('_clone'); | 3312 let _clone = Symbol('_clone'); |
3220 let SplayTreeSet$ = dart.generic(function(E) { | 3313 let SplayTreeSet$ = dart.generic(function(E) { |
3221 class SplayTreeSet extends dart.mixin(_SplayTree$(E), IterableMixin$(E), Set Mixin$(E)) { | 3314 class SplayTreeSet extends dart.mixin(_SplayTree$(E), IterableMixin$(E), Set Mixin$(E)) { |
3222 SplayTreeSet(compare, isValidKey) { | 3315 SplayTreeSet(compare, isValidKey) { |
3223 if (compare === void 0) | 3316 if (compare === void 0) |
3224 compare = null; | 3317 compare = null; |
3318 dart.as(compare, dart.functionType(core.int, [E, E])); | |
3225 if (isValidKey === void 0) | 3319 if (isValidKey === void 0) |
3226 isValidKey = null; | 3320 isValidKey = null; |
3321 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
3227 this[_comparator] = dart.as(compare == null ? dart.bind(core.Comparable, 'compare') : compare, core.Comparator); | 3322 this[_comparator] = dart.as(compare == null ? dart.bind(core.Comparable, 'compare') : compare, core.Comparator); |
3228 this[_validKey] = dart.as(isValidKey != null ? isValidKey : v => dart.is (v, E), _Predicate); | 3323 this[_validKey] = dart.as(isValidKey != null ? isValidKey : v => dart.is (v, E), _Predicate); |
3229 super._SplayTree(); | 3324 super._SplayTree(); |
3230 } | 3325 } |
3231 from(elements, compare, isValidKey) { | 3326 from(elements, compare, isValidKey) { |
3232 if (compare === void 0) | 3327 if (compare === void 0) |
3233 compare = null; | 3328 compare = null; |
3329 dart.as(compare, dart.functionType(core.int, [E, E])); | |
3234 if (isValidKey === void 0) | 3330 if (isValidKey === void 0) |
3235 isValidKey = null; | 3331 isValidKey = null; |
3332 dart.as(isValidKey, dart.functionType(core.bool, [dart.dynamic])); | |
3236 let result = new (SplayTreeSet$(E))(compare, isValidKey); | 3333 let result = new (SplayTreeSet$(E))(compare, isValidKey); |
3237 for (let element of dart.as(elements, core.Iterable$(E))) { | 3334 for (let element of dart.as(elements, core.Iterable$(E))) { |
3238 result.add(element); | 3335 result.add(element); |
3239 } | 3336 } |
3240 return result; | 3337 return result; |
3241 } | 3338 } |
3242 [_compare](e1, e2) { | 3339 [_compare](e1, e2) { |
3340 dart.as(e1, E); | |
3341 dart.as(e2, E); | |
3243 return dart.dcall(this[_comparator], e1, e2); | 3342 return dart.dcall(this[_comparator], e1, e2); |
3244 } | 3343 } |
3245 get [core.$iterator]() { | 3344 get [core.$iterator]() { |
3246 return new (_SplayTreeKeyIterator$(E))(this); | 3345 return new (_SplayTreeKeyIterator$(E))(this); |
3247 } | 3346 } |
3248 get [core.$length]() { | 3347 get [core.$length]() { |
3249 return this[_count]; | 3348 return this[_count]; |
3250 } | 3349 } |
3251 get [core.$isEmpty]() { | 3350 get [core.$isEmpty]() { |
3252 return this[_root] == null; | 3351 return this[_root] == null; |
(...skipping 15 matching lines...) Expand all Loading... | |
3268 if (this[_count] == 0) | 3367 if (this[_count] == 0) |
3269 throw _internal.IterableElementError.noElement(); | 3368 throw _internal.IterableElementError.noElement(); |
3270 if (dart.notNull(this[_count]) > 1) | 3369 if (dart.notNull(this[_count]) > 1) |
3271 throw _internal.IterableElementError.tooMany(); | 3370 throw _internal.IterableElementError.tooMany(); |
3272 return this[_root].key; | 3371 return this[_root].key; |
3273 } | 3372 } |
3274 [core.$contains](object) { | 3373 [core.$contains](object) { |
3275 return dart.notNull(dart.dcall(this[_validKey], object)) && this[_splay] (dart.as(object, E)) == 0; | 3374 return dart.notNull(dart.dcall(this[_validKey], object)) && this[_splay] (dart.as(object, E)) == 0; |
3276 } | 3375 } |
3277 add(element) { | 3376 add(element) { |
3377 dart.as(element, E); | |
3278 let compare = this[_splay](element); | 3378 let compare = this[_splay](element); |
3279 if (compare == 0) | 3379 if (compare == 0) |
3280 return false; | 3380 return false; |
3281 this[_addNewRoot](new (_SplayTreeNode$(E))(element), compare); | 3381 this[_addNewRoot](new (_SplayTreeNode$(E))(element), compare); |
3282 return true; | 3382 return true; |
3283 } | 3383 } |
3284 remove(object) { | 3384 remove(object) { |
3285 if (!dart.notNull(dart.dcall(this[_validKey], object))) | 3385 if (!dart.notNull(dart.dcall(this[_validKey], object))) |
3286 return false; | 3386 return false; |
3287 return this[_remove](dart.as(object, E)) != null; | 3387 return this[_remove](dart.as(object, E)) != null; |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3436 if (rest == null) | 3536 if (rest == null) |
3437 return false; | 3537 return false; |
3438 let bucket = this[_getBucket](rest, key); | 3538 let bucket = this[_getBucket](rest, key); |
3439 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; | 3539 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; |
3440 } | 3540 } |
3441 containsValue(value) { | 3541 containsValue(value) { |
3442 return this[_computeKeys]()[core.$any]((each => dart.equals(this.get(eac h), value)).bind(this)); | 3542 return this[_computeKeys]()[core.$any]((each => dart.equals(this.get(eac h), value)).bind(this)); |
3443 } | 3543 } |
3444 addAll(other) { | 3544 addAll(other) { |
3445 other.forEach(((key, value) => { | 3545 other.forEach(((key, value) => { |
3546 dart.as(key, K); | |
3547 dart.as(value, V); | |
3446 this.set(key, value); | 3548 this.set(key, value); |
3447 }).bind(this)); | 3549 }).bind(this)); |
3448 } | 3550 } |
3449 get(key) { | 3551 get(key) { |
3450 if (_HashMap._isStringKey(key)) { | 3552 if (_HashMap._isStringKey(key)) { |
3451 let strings = this[_strings]; | 3553 let strings = this[_strings]; |
3452 return dart.as(strings == null ? null : _HashMap._getTableEntry(string s, key), V); | 3554 return dart.as(strings == null ? null : _HashMap._getTableEntry(string s, key), V); |
3453 } else if (_HashMap._isNumericKey(key)) { | 3555 } else if (_HashMap._isNumericKey(key)) { |
3454 let nums = this[_nums]; | 3556 let nums = this[_nums]; |
3455 return dart.as(nums == null ? null : _HashMap._getTableEntry(nums, key ), V); | 3557 return dart.as(nums == null ? null : _HashMap._getTableEntry(nums, key ), V); |
3456 } else { | 3558 } else { |
3457 return this[_get](key); | 3559 return this[_get](key); |
3458 } | 3560 } |
3459 } | 3561 } |
3460 [_get](key) { | 3562 [_get](key) { |
3461 let rest = this[_rest]; | 3563 let rest = this[_rest]; |
3462 if (rest == null) | 3564 if (rest == null) |
3463 return null; | 3565 return null; |
3464 let bucket = this[_getBucket](rest, key); | 3566 let bucket = this[_getBucket](rest, key); |
3465 let index = this[_findBucketIndex](bucket, key); | 3567 let index = this[_findBucketIndex](bucket, key); |
3466 return dart.as(dart.notNull(index) < 0 ? null : bucket[dart.notNull(inde x) + 1], V); | 3568 return dart.as(dart.notNull(index) < 0 ? null : bucket[dart.notNull(inde x) + 1], V); |
3467 } | 3569 } |
3468 set(key, value) { | 3570 set(key, value) { |
3571 dart.as(key, K); | |
3572 dart.as(value, V); | |
3469 if (_HashMap._isStringKey(key)) { | 3573 if (_HashMap._isStringKey(key)) { |
3470 let strings = this[_strings]; | 3574 let strings = this[_strings]; |
3471 if (strings == null) | 3575 if (strings == null) |
3472 this[_strings] = strings = _HashMap._newHashTable(); | 3576 this[_strings] = strings = _HashMap._newHashTable(); |
3473 this[_addHashTableEntry](strings, key, value); | 3577 this[_addHashTableEntry](strings, key, value); |
3474 } else if (_HashMap._isNumericKey(key)) { | 3578 } else if (_HashMap._isNumericKey(key)) { |
3475 let nums = this[_nums]; | 3579 let nums = this[_nums]; |
3476 if (nums == null) | 3580 if (nums == null) |
3477 this[_nums] = nums = _HashMap._newHashTable(); | 3581 this[_nums] = nums = _HashMap._newHashTable(); |
3478 this[_addHashTableEntry](nums, key, value); | 3582 this[_addHashTableEntry](nums, key, value); |
3479 } else { | 3583 } else { |
3480 this[_set](key, value); | 3584 this[_set](key, value); |
3481 } | 3585 } |
3482 } | 3586 } |
3483 [_set](key, value) { | 3587 [_set](key, value) { |
3588 dart.as(key, K); | |
3589 dart.as(value, V); | |
3484 let rest = this[_rest]; | 3590 let rest = this[_rest]; |
3485 if (rest == null) | 3591 if (rest == null) |
3486 this[_rest] = rest = _HashMap._newHashTable(); | 3592 this[_rest] = rest = _HashMap._newHashTable(); |
3487 let hash = this[_computeHashCode](key); | 3593 let hash = this[_computeHashCode](key); |
3488 let bucket = rest[hash]; | 3594 let bucket = rest[hash]; |
3489 if (bucket == null) { | 3595 if (bucket == null) { |
3490 _HashMap._setTableEntry(rest, hash, [key, value]); | 3596 _HashMap._setTableEntry(rest, hash, [key, value]); |
3491 this[_length] = dart.notNull(this[_length]) + 1; | 3597 this[_length] = dart.notNull(this[_length]) + 1; |
3492 this[_keys] = null; | 3598 this[_keys] = null; |
3493 } else { | 3599 } else { |
3494 let index = this[_findBucketIndex](bucket, key); | 3600 let index = this[_findBucketIndex](bucket, key); |
3495 if (dart.notNull(index) >= 0) { | 3601 if (dart.notNull(index) >= 0) { |
3496 bucket[dart.notNull(index) + 1] = value; | 3602 bucket[dart.notNull(index) + 1] = value; |
3497 } else { | 3603 } else { |
3498 bucket.push(key, value); | 3604 bucket.push(key, value); |
3499 this[_length] = dart.notNull(this[_length]) + 1; | 3605 this[_length] = dart.notNull(this[_length]) + 1; |
3500 this[_keys] = null; | 3606 this[_keys] = null; |
3501 } | 3607 } |
3502 } | 3608 } |
3503 } | 3609 } |
3504 putIfAbsent(key, ifAbsent) { | 3610 putIfAbsent(key, ifAbsent) { |
3611 dart.as(key, K); | |
3612 dart.as(ifAbsent, dart.functionType(V, [])); | |
3505 if (this.containsKey(key)) | 3613 if (this.containsKey(key)) |
3506 return this.get(key); | 3614 return this.get(key); |
3507 let value = ifAbsent(); | 3615 let value = ifAbsent(); |
3508 this.set(key, value); | 3616 this.set(key, value); |
3509 return value; | 3617 return value; |
3510 } | 3618 } |
3511 remove(key) { | 3619 remove(key) { |
3512 if (_HashMap._isStringKey(key)) { | 3620 if (_HashMap._isStringKey(key)) { |
3513 return this[_removeHashTableEntry](this[_strings], key); | 3621 return this[_removeHashTableEntry](this[_strings], key); |
3514 } else if (_HashMap._isNumericKey(key)) { | 3622 } else if (_HashMap._isNumericKey(key)) { |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3582 let key = bucket[i]; | 3690 let key = bucket[i]; |
3583 result[index] = key; | 3691 result[index] = key; |
3584 index = dart.notNull(index) + 1; | 3692 index = dart.notNull(index) + 1; |
3585 } | 3693 } |
3586 } | 3694 } |
3587 } | 3695 } |
3588 dart.assert(index == this[_length]); | 3696 dart.assert(index == this[_length]); |
3589 return this[_keys] = result; | 3697 return this[_keys] = result; |
3590 } | 3698 } |
3591 [_addHashTableEntry](table, key, value) { | 3699 [_addHashTableEntry](table, key, value) { |
3700 dart.as(key, K); | |
3701 dart.as(value, V); | |
3592 if (!dart.notNull(_HashMap._hasTableEntry(table, key))) { | 3702 if (!dart.notNull(_HashMap._hasTableEntry(table, key))) { |
3593 this[_length] = dart.notNull(this[_length]) + 1; | 3703 this[_length] = dart.notNull(this[_length]) + 1; |
3594 this[_keys] = null; | 3704 this[_keys] = null; |
3595 } | 3705 } |
3596 _HashMap._setTableEntry(table, key, value); | 3706 _HashMap._setTableEntry(table, key, value); |
3597 } | 3707 } |
3598 [_removeHashTableEntry](table, key) { | 3708 [_removeHashTableEntry](table, key) { |
3599 if (dart.notNull(table != null) && dart.notNull(_HashMap._hasTableEntry( table, key))) { | 3709 if (dart.notNull(table != null) && dart.notNull(_HashMap._hasTableEntry( table, key))) { |
3600 let value = dart.as(_HashMap._getTableEntry(table, key), V); | 3710 let value = dart.as(_HashMap._getTableEntry(table, key), V); |
3601 _HashMap._deleteTableEntry(table, key); | 3711 _HashMap._deleteTableEntry(table, key); |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3687 this[_hashCode] = hashCode; | 3797 this[_hashCode] = hashCode; |
3688 this[_validKey] = dart.as(validKey != null ? validKey : v => dart.is(v, K), _Predicate); | 3798 this[_validKey] = dart.as(validKey != null ? validKey : v => dart.is(v, K), _Predicate); |
3689 super._HashMap(); | 3799 super._HashMap(); |
3690 } | 3800 } |
3691 get(key) { | 3801 get(key) { |
3692 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 3802 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
3693 return null; | 3803 return null; |
3694 return super[_get](key); | 3804 return super[_get](key); |
3695 } | 3805 } |
3696 set(key, value) { | 3806 set(key, value) { |
3807 dart.as(key, K); | |
3808 dart.as(value, V); | |
3697 super[_set](key, value); | 3809 super[_set](key, value); |
3698 } | 3810 } |
3699 containsKey(key) { | 3811 containsKey(key) { |
3700 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 3812 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
3701 return false; | 3813 return false; |
3702 return super[_containsKey](key); | 3814 return super[_containsKey](key); |
3703 } | 3815 } |
3704 remove(key) { | 3816 remove(key) { |
3705 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 3817 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
3706 return null; | 3818 return null; |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3843 if (rest == null) | 3955 if (rest == null) |
3844 return false; | 3956 return false; |
3845 let bucket = this[_getBucket](rest, key); | 3957 let bucket = this[_getBucket](rest, key); |
3846 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; | 3958 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; |
3847 } | 3959 } |
3848 containsValue(value) { | 3960 containsValue(value) { |
3849 return this.keys[core.$any]((each => dart.equals(this.get(each), value)) .bind(this)); | 3961 return this.keys[core.$any]((each => dart.equals(this.get(each), value)) .bind(this)); |
3850 } | 3962 } |
3851 addAll(other) { | 3963 addAll(other) { |
3852 other.forEach(((key, value) => { | 3964 other.forEach(((key, value) => { |
3965 dart.as(key, K); | |
3966 dart.as(value, V); | |
3853 this.set(key, value); | 3967 this.set(key, value); |
3854 }).bind(this)); | 3968 }).bind(this)); |
3855 } | 3969 } |
3856 get(key) { | 3970 get(key) { |
3857 if (_LinkedHashMap._isStringKey(key)) { | 3971 if (_LinkedHashMap._isStringKey(key)) { |
3858 let strings = this[_strings]; | 3972 let strings = this[_strings]; |
3859 if (strings == null) | 3973 if (strings == null) |
3860 return null; | 3974 return null; |
3861 let cell = dart.as(_LinkedHashMap._getTableEntry(strings, key), Linked HashMapCell); | 3975 let cell = dart.as(_LinkedHashMap._getTableEntry(strings, key), Linked HashMapCell); |
3862 return dart.as(cell == null ? null : cell[_value], V); | 3976 return dart.as(cell == null ? null : cell[_value], V); |
(...skipping 12 matching lines...) Expand all Loading... | |
3875 if (rest == null) | 3989 if (rest == null) |
3876 return null; | 3990 return null; |
3877 let bucket = this[_getBucket](rest, key); | 3991 let bucket = this[_getBucket](rest, key); |
3878 let index = this[_findBucketIndex](bucket, key); | 3992 let index = this[_findBucketIndex](bucket, key); |
3879 if (dart.notNull(index) < 0) | 3993 if (dart.notNull(index) < 0) |
3880 return null; | 3994 return null; |
3881 let cell = dart.as(bucket[index], LinkedHashMapCell); | 3995 let cell = dart.as(bucket[index], LinkedHashMapCell); |
3882 return dart.as(cell[_value], V); | 3996 return dart.as(cell[_value], V); |
3883 } | 3997 } |
3884 set(key, value) { | 3998 set(key, value) { |
3999 dart.as(key, K); | |
4000 dart.as(value, V); | |
3885 if (_LinkedHashMap._isStringKey(key)) { | 4001 if (_LinkedHashMap._isStringKey(key)) { |
3886 let strings = this[_strings]; | 4002 let strings = this[_strings]; |
3887 if (strings == null) | 4003 if (strings == null) |
3888 this[_strings] = strings = _LinkedHashMap._newHashTable(); | 4004 this[_strings] = strings = _LinkedHashMap._newHashTable(); |
3889 this[_addHashTableEntry](strings, key, value); | 4005 this[_addHashTableEntry](strings, key, value); |
3890 } else if (_LinkedHashMap._isNumericKey(key)) { | 4006 } else if (_LinkedHashMap._isNumericKey(key)) { |
3891 let nums = this[_nums]; | 4007 let nums = this[_nums]; |
3892 if (nums == null) | 4008 if (nums == null) |
3893 this[_nums] = nums = _LinkedHashMap._newHashTable(); | 4009 this[_nums] = nums = _LinkedHashMap._newHashTable(); |
3894 this[_addHashTableEntry](nums, key, value); | 4010 this[_addHashTableEntry](nums, key, value); |
3895 } else { | 4011 } else { |
3896 this[_set](key, value); | 4012 this[_set](key, value); |
3897 } | 4013 } |
3898 } | 4014 } |
3899 [_set](key, value) { | 4015 [_set](key, value) { |
4016 dart.as(key, K); | |
4017 dart.as(value, V); | |
3900 let rest = this[_rest]; | 4018 let rest = this[_rest]; |
3901 if (rest == null) | 4019 if (rest == null) |
3902 this[_rest] = rest = _LinkedHashMap._newHashTable(); | 4020 this[_rest] = rest = _LinkedHashMap._newHashTable(); |
3903 let hash = this[_computeHashCode](key); | 4021 let hash = this[_computeHashCode](key); |
3904 let bucket = rest[hash]; | 4022 let bucket = rest[hash]; |
3905 if (bucket == null) { | 4023 if (bucket == null) { |
3906 let cell = this[_newLinkedCell](key, value); | 4024 let cell = this[_newLinkedCell](key, value); |
3907 _LinkedHashMap._setTableEntry(rest, hash, [cell]); | 4025 _LinkedHashMap._setTableEntry(rest, hash, [cell]); |
3908 } else { | 4026 } else { |
3909 let index = this[_findBucketIndex](bucket, key); | 4027 let index = this[_findBucketIndex](bucket, key); |
3910 if (dart.notNull(index) >= 0) { | 4028 if (dart.notNull(index) >= 0) { |
3911 let cell = dart.as(bucket[index], LinkedHashMapCell); | 4029 let cell = dart.as(bucket[index], LinkedHashMapCell); |
3912 cell[_value] = value; | 4030 cell[_value] = value; |
3913 } else { | 4031 } else { |
3914 let cell = this[_newLinkedCell](key, value); | 4032 let cell = this[_newLinkedCell](key, value); |
3915 bucket.push(cell); | 4033 bucket.push(cell); |
3916 } | 4034 } |
3917 } | 4035 } |
3918 } | 4036 } |
3919 putIfAbsent(key, ifAbsent) { | 4037 putIfAbsent(key, ifAbsent) { |
4038 dart.as(key, K); | |
4039 dart.as(ifAbsent, dart.functionType(V, [])); | |
3920 if (this.containsKey(key)) | 4040 if (this.containsKey(key)) |
3921 return this.get(key); | 4041 return this.get(key); |
3922 let value = ifAbsent(); | 4042 let value = ifAbsent(); |
3923 this.set(key, value); | 4043 this.set(key, value); |
3924 return value; | 4044 return value; |
3925 } | 4045 } |
3926 remove(key) { | 4046 remove(key) { |
3927 if (_LinkedHashMap._isStringKey(key)) { | 4047 if (_LinkedHashMap._isStringKey(key)) { |
3928 return this[_removeHashTableEntry](this[_strings], key); | 4048 return this[_removeHashTableEntry](this[_strings], key); |
3929 } else if (_LinkedHashMap._isNumericKey(key)) { | 4049 } else if (_LinkedHashMap._isNumericKey(key)) { |
(...skipping 26 matching lines...) Expand all Loading... | |
3956 let modifications = this[_modifications]; | 4076 let modifications = this[_modifications]; |
3957 while (cell != null) { | 4077 while (cell != null) { |
3958 action(dart.as(cell[_key], K), dart.as(cell[_value], V)); | 4078 action(dart.as(cell[_key], K), dart.as(cell[_value], V)); |
3959 if (modifications != this[_modifications]) { | 4079 if (modifications != this[_modifications]) { |
3960 throw new core.ConcurrentModificationError(this); | 4080 throw new core.ConcurrentModificationError(this); |
3961 } | 4081 } |
3962 cell = cell[_next]; | 4082 cell = cell[_next]; |
3963 } | 4083 } |
3964 } | 4084 } |
3965 [_addHashTableEntry](table, key, value) { | 4085 [_addHashTableEntry](table, key, value) { |
4086 dart.as(key, K); | |
4087 dart.as(value, V); | |
3966 let cell = dart.as(_LinkedHashMap._getTableEntry(table, key), LinkedHash MapCell); | 4088 let cell = dart.as(_LinkedHashMap._getTableEntry(table, key), LinkedHash MapCell); |
3967 if (cell == null) { | 4089 if (cell == null) { |
3968 _LinkedHashMap._setTableEntry(table, key, this[_newLinkedCell](key, va lue)); | 4090 _LinkedHashMap._setTableEntry(table, key, this[_newLinkedCell](key, va lue)); |
3969 } else { | 4091 } else { |
3970 cell[_value] = value; | 4092 cell[_value] = value; |
3971 } | 4093 } |
3972 } | 4094 } |
3973 [_removeHashTableEntry](table, key) { | 4095 [_removeHashTableEntry](table, key) { |
3974 if (table == null) | 4096 if (table == null) |
3975 return null; | 4097 return null; |
3976 let cell = dart.as(_LinkedHashMap._getTableEntry(table, key), LinkedHash MapCell); | 4098 let cell = dart.as(_LinkedHashMap._getTableEntry(table, key), LinkedHash MapCell); |
3977 if (cell == null) | 4099 if (cell == null) |
3978 return null; | 4100 return null; |
3979 this[_unlinkCell](cell); | 4101 this[_unlinkCell](cell); |
3980 _LinkedHashMap._deleteTableEntry(table, key); | 4102 _LinkedHashMap._deleteTableEntry(table, key); |
3981 return dart.as(cell[_value], V); | 4103 return dart.as(cell[_value], V); |
3982 } | 4104 } |
3983 [_modified]() { | 4105 [_modified]() { |
3984 this[_modifications] = dart.notNull(this[_modifications]) + 1 & 67108863 ; | 4106 this[_modifications] = dart.notNull(this[_modifications]) + 1 & 67108863 ; |
3985 } | 4107 } |
3986 [_newLinkedCell](key, value) { | 4108 [_newLinkedCell](key, value) { |
4109 dart.as(key, K); | |
4110 dart.as(value, V); | |
3987 let cell = new LinkedHashMapCell(key, value); | 4111 let cell = new LinkedHashMapCell(key, value); |
3988 if (this[_first] == null) { | 4112 if (this[_first] == null) { |
3989 this[_first] = this[_last] = cell; | 4113 this[_first] = this[_last] = cell; |
3990 } else { | 4114 } else { |
3991 let last = this[_last]; | 4115 let last = this[_last]; |
3992 cell[_previous] = last; | 4116 cell[_previous] = last; |
3993 this[_last] = last[_next] = cell; | 4117 this[_last] = last[_next] = cell; |
3994 } | 4118 } |
3995 this[_length] = dart.notNull(this[_length]) + 1; | 4119 this[_length] = dart.notNull(this[_length]) + 1; |
3996 this[_modified](); | 4120 this[_modified](); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4090 this[_hashCode] = hashCode; | 4214 this[_hashCode] = hashCode; |
4091 this[_validKey] = dart.as(validKey != null ? validKey : v => dart.is(v, K), _Predicate); | 4215 this[_validKey] = dart.as(validKey != null ? validKey : v => dart.is(v, K), _Predicate); |
4092 super._LinkedHashMap(); | 4216 super._LinkedHashMap(); |
4093 } | 4217 } |
4094 get(key) { | 4218 get(key) { |
4095 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 4219 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
4096 return null; | 4220 return null; |
4097 return super[_get](key); | 4221 return super[_get](key); |
4098 } | 4222 } |
4099 set(key, value) { | 4223 set(key, value) { |
4224 dart.as(key, K); | |
4225 dart.as(value, V); | |
4100 super[_set](key, value); | 4226 super[_set](key, value); |
4101 } | 4227 } |
4102 containsKey(key) { | 4228 containsKey(key) { |
4103 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 4229 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
4104 return false; | 4230 return false; |
4105 return super[_containsKey](key); | 4231 return super[_containsKey](key); |
4106 } | 4232 } |
4107 remove(key) { | 4233 remove(key) { |
4108 if (!dart.notNull(dart.dcall(this[_validKey], key))) | 4234 if (!dart.notNull(dart.dcall(this[_validKey], key))) |
4109 return null; | 4235 return null; |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4255 let rest = this[_rest]; | 4381 let rest = this[_rest]; |
4256 if (rest == null) | 4382 if (rest == null) |
4257 return null; | 4383 return null; |
4258 let bucket = this[_getBucket](rest, object); | 4384 let bucket = this[_getBucket](rest, object); |
4259 let index = this[_findBucketIndex](bucket, object); | 4385 let index = this[_findBucketIndex](bucket, object); |
4260 if (dart.notNull(index) < 0) | 4386 if (dart.notNull(index) < 0) |
4261 return null; | 4387 return null; |
4262 return dart.as(bucket[core.$get](index), E); | 4388 return dart.as(bucket[core.$get](index), E); |
4263 } | 4389 } |
4264 add(element) { | 4390 add(element) { |
4391 dart.as(element, E); | |
4265 if (_HashSet._isStringElement(element)) { | 4392 if (_HashSet._isStringElement(element)) { |
4266 let strings = this[_strings]; | 4393 let strings = this[_strings]; |
4267 if (strings == null) | 4394 if (strings == null) |
4268 this[_strings] = strings = _HashSet._newHashTable(); | 4395 this[_strings] = strings = _HashSet._newHashTable(); |
4269 return this[_addHashTableEntry](strings, element); | 4396 return this[_addHashTableEntry](strings, element); |
4270 } else if (_HashSet._isNumericElement(element)) { | 4397 } else if (_HashSet._isNumericElement(element)) { |
4271 let nums = this[_nums]; | 4398 let nums = this[_nums]; |
4272 if (nums == null) | 4399 if (nums == null) |
4273 this[_nums] = nums = _HashSet._newHashTable(); | 4400 this[_nums] = nums = _HashSet._newHashTable(); |
4274 return this[_addHashTableEntry](nums, element); | 4401 return this[_addHashTableEntry](nums, element); |
4275 } else { | 4402 } else { |
4276 return this[_add](element); | 4403 return this[_add](element); |
4277 } | 4404 } |
4278 } | 4405 } |
4279 [_add](element) { | 4406 [_add](element) { |
4407 dart.as(element, E); | |
4280 let rest = this[_rest]; | 4408 let rest = this[_rest]; |
4281 if (rest == null) | 4409 if (rest == null) |
4282 this[_rest] = rest = _HashSet._newHashTable(); | 4410 this[_rest] = rest = _HashSet._newHashTable(); |
4283 let hash = this[_computeHashCode](element); | 4411 let hash = this[_computeHashCode](element); |
4284 let bucket = rest[hash]; | 4412 let bucket = rest[hash]; |
4285 if (bucket == null) { | 4413 if (bucket == null) { |
4286 _HashSet._setTableEntry(rest, hash, [element]); | 4414 _HashSet._setTableEntry(rest, hash, [element]); |
4287 } else { | 4415 } else { |
4288 let index = this[_findBucketIndex](bucket, element); | 4416 let index = this[_findBucketIndex](bucket, element); |
4289 if (dart.notNull(index) >= 0) | 4417 if (dart.notNull(index) >= 0) |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4363 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.not Null(i) + 1) { | 4491 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.not Null(i) + 1) { |
4364 result[index] = bucket[i]; | 4492 result[index] = bucket[i]; |
4365 index = dart.notNull(index) + 1; | 4493 index = dart.notNull(index) + 1; |
4366 } | 4494 } |
4367 } | 4495 } |
4368 } | 4496 } |
4369 dart.assert(index == this[_length]); | 4497 dart.assert(index == this[_length]); |
4370 return this[_elements] = result; | 4498 return this[_elements] = result; |
4371 } | 4499 } |
4372 [_addHashTableEntry](table, element) { | 4500 [_addHashTableEntry](table, element) { |
4501 dart.as(element, E); | |
4373 if (_HashSet._hasTableEntry(table, element)) | 4502 if (_HashSet._hasTableEntry(table, element)) |
4374 return false; | 4503 return false; |
4375 _HashSet._setTableEntry(table, element, 0); | 4504 _HashSet._setTableEntry(table, element, 0); |
4376 this[_length] = dart.notNull(this[_length]) + 1; | 4505 this[_length] = dart.notNull(this[_length]) + 1; |
4377 this[_elements] = null; | 4506 this[_elements] = null; |
4378 return true; | 4507 return true; |
4379 } | 4508 } |
4380 [_removeHashTableEntry](table, element) { | 4509 [_removeHashTableEntry](table, element) { |
4381 if (dart.notNull(table != null) && dart.notNull(_HashSet._hasTableEntry( table, element))) { | 4510 if (dart.notNull(table != null) && dart.notNull(_HashSet._hasTableEntry( table, element))) { |
4382 _HashSet._deleteTableEntry(table, element); | 4511 _HashSet._deleteTableEntry(table, element); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4475 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { | 4604 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { |
4476 if (this[_equality](dart.as(bucket[i], E), dart.as(element, E))) | 4605 if (this[_equality](dart.as(bucket[i], E), dart.as(element, E))) |
4477 return i; | 4606 return i; |
4478 } | 4607 } |
4479 return -1; | 4608 return -1; |
4480 } | 4609 } |
4481 [_computeHashCode](element) { | 4610 [_computeHashCode](element) { |
4482 return this[_hasher](dart.as(element, E)) & 0x3ffffff; | 4611 return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
4483 } | 4612 } |
4484 add(object) { | 4613 add(object) { |
4614 dart.as(object, E); | |
4485 return super[_add](object); | 4615 return super[_add](object); |
4486 } | 4616 } |
4487 [core.$contains](object) { | 4617 [core.$contains](object) { |
4488 if (!dart.notNull(dart.dcall(this[_validKey], object))) | 4618 if (!dart.notNull(dart.dcall(this[_validKey], object))) |
4489 return false; | 4619 return false; |
4490 return super[_contains](object); | 4620 return super[_contains](object); |
4491 } | 4621 } |
4492 lookup(object) { | 4622 lookup(object) { |
4493 if (!dart.notNull(dart.dcall(this[_validKey], object))) | 4623 if (!dart.notNull(dart.dcall(this[_validKey], object))) |
4494 return null; | 4624 return null; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4619 if (this[_first] == null) | 4749 if (this[_first] == null) |
4620 throw new core.StateError("No elements"); | 4750 throw new core.StateError("No elements"); |
4621 return dart.as(this[_first][_element], E); | 4751 return dart.as(this[_first][_element], E); |
4622 } | 4752 } |
4623 get [core.$last]() { | 4753 get [core.$last]() { |
4624 if (this[_last] == null) | 4754 if (this[_last] == null) |
4625 throw new core.StateError("No elements"); | 4755 throw new core.StateError("No elements"); |
4626 return dart.as(this[_last][_element], E); | 4756 return dart.as(this[_last][_element], E); |
4627 } | 4757 } |
4628 add(element) { | 4758 add(element) { |
4759 dart.as(element, E); | |
4629 if (_LinkedHashSet._isStringElement(element)) { | 4760 if (_LinkedHashSet._isStringElement(element)) { |
4630 let strings = this[_strings]; | 4761 let strings = this[_strings]; |
4631 if (strings == null) | 4762 if (strings == null) |
4632 this[_strings] = strings = _LinkedHashSet._newHashTable(); | 4763 this[_strings] = strings = _LinkedHashSet._newHashTable(); |
4633 return this[_addHashTableEntry](strings, element); | 4764 return this[_addHashTableEntry](strings, element); |
4634 } else if (_LinkedHashSet._isNumericElement(element)) { | 4765 } else if (_LinkedHashSet._isNumericElement(element)) { |
4635 let nums = this[_nums]; | 4766 let nums = this[_nums]; |
4636 if (nums == null) | 4767 if (nums == null) |
4637 this[_nums] = nums = _LinkedHashSet._newHashTable(); | 4768 this[_nums] = nums = _LinkedHashSet._newHashTable(); |
4638 return this[_addHashTableEntry](nums, element); | 4769 return this[_addHashTableEntry](nums, element); |
4639 } else { | 4770 } else { |
4640 return this[_add](element); | 4771 return this[_add](element); |
4641 } | 4772 } |
4642 } | 4773 } |
4643 [_add](element) { | 4774 [_add](element) { |
4775 dart.as(element, E); | |
4644 let rest = this[_rest]; | 4776 let rest = this[_rest]; |
4645 if (rest == null) | 4777 if (rest == null) |
4646 this[_rest] = rest = _LinkedHashSet._newHashTable(); | 4778 this[_rest] = rest = _LinkedHashSet._newHashTable(); |
4647 let hash = this[_computeHashCode](element); | 4779 let hash = this[_computeHashCode](element); |
4648 let bucket = rest[hash]; | 4780 let bucket = rest[hash]; |
4649 if (bucket == null) { | 4781 if (bucket == null) { |
4650 let cell = this[_newLinkedCell](element); | 4782 let cell = this[_newLinkedCell](element); |
4651 _LinkedHashSet._setTableEntry(rest, hash, [cell]); | 4783 _LinkedHashSet._setTableEntry(rest, hash, [cell]); |
4652 } else { | 4784 } else { |
4653 let index = this[_findBucketIndex](bucket, element); | 4785 let index = this[_findBucketIndex](bucket, element); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4701 } | 4833 } |
4702 } | 4834 } |
4703 clear() { | 4835 clear() { |
4704 if (dart.notNull(this[_length]) > 0) { | 4836 if (dart.notNull(this[_length]) > 0) { |
4705 this[_strings] = this[_nums] = this[_rest] = this[_first] = this[_last ] = null; | 4837 this[_strings] = this[_nums] = this[_rest] = this[_first] = this[_last ] = null; |
4706 this[_length] = 0; | 4838 this[_length] = 0; |
4707 this[_modified](); | 4839 this[_modified](); |
4708 } | 4840 } |
4709 } | 4841 } |
4710 [_addHashTableEntry](table, element) { | 4842 [_addHashTableEntry](table, element) { |
4843 dart.as(element, E); | |
4711 let cell = dart.as(_LinkedHashSet._getTableEntry(table, element), Linked HashSetCell); | 4844 let cell = dart.as(_LinkedHashSet._getTableEntry(table, element), Linked HashSetCell); |
4712 if (cell != null) | 4845 if (cell != null) |
4713 return false; | 4846 return false; |
4714 _LinkedHashSet._setTableEntry(table, element, this[_newLinkedCell](eleme nt)); | 4847 _LinkedHashSet._setTableEntry(table, element, this[_newLinkedCell](eleme nt)); |
4715 return true; | 4848 return true; |
4716 } | 4849 } |
4717 [_removeHashTableEntry](table, element) { | 4850 [_removeHashTableEntry](table, element) { |
4718 if (table == null) | 4851 if (table == null) |
4719 return false; | 4852 return false; |
4720 let cell = dart.as(_LinkedHashSet._getTableEntry(table, element), Linked HashSetCell); | 4853 let cell = dart.as(_LinkedHashSet._getTableEntry(table, element), Linked HashSetCell); |
4721 if (cell == null) | 4854 if (cell == null) |
4722 return false; | 4855 return false; |
4723 this[_unlinkCell](cell); | 4856 this[_unlinkCell](cell); |
4724 _LinkedHashSet._deleteTableEntry(table, element); | 4857 _LinkedHashSet._deleteTableEntry(table, element); |
4725 return true; | 4858 return true; |
4726 } | 4859 } |
4727 [_modified]() { | 4860 [_modified]() { |
4728 this[_modifications] = dart.notNull(this[_modifications]) + 1 & 67108863 ; | 4861 this[_modifications] = dart.notNull(this[_modifications]) + 1 & 67108863 ; |
4729 } | 4862 } |
4730 [_newLinkedCell](element) { | 4863 [_newLinkedCell](element) { |
4864 dart.as(element, E); | |
4731 let cell = new LinkedHashSetCell(element); | 4865 let cell = new LinkedHashSetCell(element); |
4732 if (this[_first] == null) { | 4866 if (this[_first] == null) { |
4733 this[_first] = this[_last] = cell; | 4867 this[_first] = this[_last] = cell; |
4734 } else { | 4868 } else { |
4735 let last = this[_last]; | 4869 let last = this[_last]; |
4736 cell[_previous] = last; | 4870 cell[_previous] = last; |
4737 this[_last] = last[_next] = cell; | 4871 this[_last] = last[_next] = cell; |
4738 } | 4872 } |
4739 this[_length] = dart.notNull(this[_length]) + 1; | 4873 this[_length] = dart.notNull(this[_length]) + 1; |
4740 this[_modified](); | 4874 this[_modified](); |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4846 let cell = dart.as(bucket[i], LinkedHashSetCell); | 4980 let cell = dart.as(bucket[i], LinkedHashSetCell); |
4847 if (this[_equality](dart.as(cell[_element], E), dart.as(element, E))) | 4981 if (this[_equality](dart.as(cell[_element], E), dart.as(element, E))) |
4848 return i; | 4982 return i; |
4849 } | 4983 } |
4850 return -1; | 4984 return -1; |
4851 } | 4985 } |
4852 [_computeHashCode](element) { | 4986 [_computeHashCode](element) { |
4853 return this[_hasher](dart.as(element, E)) & 0x3ffffff; | 4987 return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
4854 } | 4988 } |
4855 add(element) { | 4989 add(element) { |
4990 dart.as(element, E); | |
4856 return super[_add](element); | 4991 return super[_add](element); |
4857 } | 4992 } |
4858 [core.$contains](object) { | 4993 [core.$contains](object) { |
4859 if (!dart.notNull(dart.dcall(this[_validKey], object))) | 4994 if (!dart.notNull(dart.dcall(this[_validKey], object))) |
4860 return false; | 4995 return false; |
4861 return super[_contains](object); | 4996 return super[_contains](object); |
4862 } | 4997 } |
4863 lookup(object) { | 4998 lookup(object) { |
4864 if (!dart.notNull(dart.dcall(this[_validKey], object))) | 4999 if (!dart.notNull(dart.dcall(this[_validKey], object))) |
4865 return null; | 5000 return null; |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4983 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; | 5118 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; |
4984 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; | 5119 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; |
4985 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; | 5120 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; |
4986 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; | 5121 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; |
4987 exports.HashSetIterator$ = HashSetIterator$; | 5122 exports.HashSetIterator$ = HashSetIterator$; |
4988 exports.HashSetIterator = HashSetIterator; | 5123 exports.HashSetIterator = HashSetIterator; |
4989 exports.LinkedHashSetCell = LinkedHashSetCell; | 5124 exports.LinkedHashSetCell = LinkedHashSetCell; |
4990 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; | 5125 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; |
4991 exports.LinkedHashSetIterator = LinkedHashSetIterator; | 5126 exports.LinkedHashSetIterator = LinkedHashSetIterator; |
4992 })(collection || (collection = {})); | 5127 })(collection || (collection = {})); |
OLD | NEW |