| OLD | NEW |
| 1 var collection; | 1 var collection; |
| 2 (function(exports) { | 2 (function(exports) { |
| 3 'use strict'; | 3 'use strict'; |
| 4 let _length = Symbol('_length'); | 4 let _length = Symbol('_length'); |
| 5 let _strings = Symbol('_strings'); | 5 let _strings = Symbol('_strings'); |
| 6 let _nums = Symbol('_nums'); | 6 let _nums = Symbol('_nums'); |
| 7 let _rest = Symbol('_rest'); | 7 let _rest = Symbol('_rest'); |
| 8 let _keys = Symbol('_keys'); | 8 let _keys = Symbol('_keys'); |
| 9 let _containsKey = Symbol('_containsKey'); | 9 let _containsKey = Symbol('_containsKey'); |
| 10 let _getBucket = Symbol('_getBucket'); | 10 let _getBucket = Symbol('_getBucket'); |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 } | 108 } |
| 109 } | 109 } |
| 110 [_set](key, value) { | 110 [_set](key, value) { |
| 111 let rest = this[_rest]; | 111 let rest = this[_rest]; |
| 112 if (rest === null) | 112 if (rest === null) |
| 113 this[_rest] = rest = _newHashTable(); | 113 this[_rest] = rest = _newHashTable(); |
| 114 let hash = this[_computeHashCode](key); | 114 let hash = this[_computeHashCode](key); |
| 115 let bucket = rest[hash]; | 115 let bucket = rest[hash]; |
| 116 if (bucket === null) { | 116 if (bucket === null) { |
| 117 _setTableEntry(rest, hash, [key, value]); | 117 _setTableEntry(rest, hash, [key, value]); |
| 118 dart.notNull(this[_length])++; | 118 this[_length] = dart.notNull(this[_length]) + 1; |
| 119 this[_keys] = null; | 119 this[_keys] = null; |
| 120 } else { | 120 } else { |
| 121 let index = this[_findBucketIndex](bucket, key); | 121 let index = this[_findBucketIndex](bucket, key); |
| 122 if (dart.notNull(index) >= 0) { | 122 if (dart.notNull(index) >= 0) { |
| 123 bucket[dart.notNull(index) + 1] = value; | 123 bucket[dart.notNull(index) + 1] = value; |
| 124 } else { | 124 } else { |
| 125 bucket.push(key, value); | 125 bucket.push(key, value); |
| 126 dart.notNull(this[_length])++; | 126 this[_length] = dart.notNull(this[_length]) + 1; |
| 127 this[_keys] = null; | 127 this[_keys] = null; |
| 128 } | 128 } |
| 129 } | 129 } |
| 130 } | 130 } |
| 131 putIfAbsent(key, ifAbsent) { | 131 putIfAbsent(key, ifAbsent) { |
| 132 if (this.containsKey(key)) | 132 if (this.containsKey(key)) |
| 133 return this.get(key); | 133 return this.get(key); |
| 134 let value = ifAbsent(); | 134 let value = ifAbsent(); |
| 135 this.set(key, value); | 135 this.set(key, value); |
| 136 return value; | 136 return value; |
| 137 } | 137 } |
| 138 remove(key) { | 138 remove(key) { |
| 139 if (_isStringKey(key)) { | 139 if (_isStringKey(key)) { |
| 140 return this[_removeHashTableEntry](this[_strings], key); | 140 return this[_removeHashTableEntry](this[_strings], key); |
| 141 } else if (_isNumericKey(key)) { | 141 } else if (_isNumericKey(key)) { |
| 142 return this[_removeHashTableEntry](this[_nums], key); | 142 return this[_removeHashTableEntry](this[_nums], key); |
| 143 } else { | 143 } else { |
| 144 return this[_remove](key); | 144 return this[_remove](key); |
| 145 } | 145 } |
| 146 } | 146 } |
| 147 [_remove](key) { | 147 [_remove](key) { |
| 148 let rest = this[_rest]; | 148 let rest = this[_rest]; |
| 149 if (rest === null) | 149 if (rest === null) |
| 150 return null; | 150 return null; |
| 151 let bucket = this[_getBucket](rest, key); | 151 let bucket = this[_getBucket](rest, key); |
| 152 let index = this[_findBucketIndex](bucket, key); | 152 let index = this[_findBucketIndex](bucket, key); |
| 153 if (dart.notNull(index) < 0) | 153 if (dart.notNull(index) < 0) |
| 154 return null; | 154 return null; |
| 155 dart.notNull(this[_length])--; | 155 this[_length] = dart.notNull(this[_length]) - 1; |
| 156 this[_keys] = null; | 156 this[_keys] = null; |
| 157 return dart.as(bucket.splice(index, 2)[1], V); | 157 return dart.as(bucket.splice(index, 2)[1], V); |
| 158 } | 158 } |
| 159 clear() { | 159 clear() { |
| 160 if (dart.notNull(this[_length]) > 0) { | 160 if (dart.notNull(this[_length]) > 0) { |
| 161 this[_strings] = this[_nums] = this[_rest] = this[_keys] = null; | 161 this[_strings] = this[_nums] = this[_rest] = this[_keys] = null; |
| 162 this[_length] = 0; | 162 this[_length] = 0; |
| 163 } | 163 } |
| 164 } | 164 } |
| 165 forEach(action) { | 165 forEach(action) { |
| 166 let keys = this[_computeKeys](); | 166 let keys = this[_computeKeys](); |
| 167 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); dart.notNull(i)++) { | 167 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); i = dart.notNull(i) + 1) { |
| 168 let key = keys[i]; | 168 let key = keys[i]; |
| 169 action(dart.as(key, K), this.get(key)); | 169 action(dart.as(key, K), this.get(key)); |
| 170 if (keys !== this[_keys]) { | 170 if (keys !== this[_keys]) { |
| 171 throw new core.ConcurrentModificationError(this); | 171 throw new core.ConcurrentModificationError(this); |
| 172 } | 172 } |
| 173 } | 173 } |
| 174 } | 174 } |
| 175 [_computeKeys]() { | 175 [_computeKeys]() { |
| 176 if (this[_keys] !== null) | 176 if (this[_keys] !== null) |
| 177 return this[_keys]; | 177 return this[_keys]; |
| 178 let result = new core.List(this[_length]); | 178 let result = new core.List(this[_length]); |
| 179 let index = 0; | 179 let index = 0; |
| 180 let strings = this[_strings]; | 180 let strings = this[_strings]; |
| 181 if (strings !== null) { | 181 if (strings !== null) { |
| 182 let names = Object.getOwnPropertyNames(strings); | 182 let names = Object.getOwnPropertyNames(strings); |
| 183 let entries = names.length; | 183 let entries = names.length; |
| 184 for (let i = 0; dart.notNull(i) < dart.notNull(entries); dart.notNull(
i)++) { | 184 for (let i = 0; dart.notNull(i) < dart.notNull(entries); i = dart.notN
ull(i) + 1) { |
| 185 let key = names[i]; | 185 let key = names[i]; |
| 186 result[index] = key; | 186 result[index] = key; |
| 187 dart.notNull(index)++; | 187 index = dart.notNull(index) + 1; |
| 188 } | 188 } |
| 189 } | 189 } |
| 190 let nums = this[_nums]; | 190 let nums = this[_nums]; |
| 191 if (nums !== null) { | 191 if (nums !== null) { |
| 192 let names = Object.getOwnPropertyNames(nums); | 192 let names = Object.getOwnPropertyNames(nums); |
| 193 let entries = names.length; | 193 let entries = names.length; |
| 194 for (let i = 0; dart.notNull(i) < dart.notNull(entries); dart.notNull(
i)++) { | 194 for (let i = 0; dart.notNull(i) < dart.notNull(entries); i = dart.notN
ull(i) + 1) { |
| 195 let key = +names[i]; | 195 let key = +names[i]; |
| 196 result[index] = key; | 196 result[index] = key; |
| 197 dart.notNull(index)++; | 197 index = dart.notNull(index) + 1; |
| 198 } | 198 } |
| 199 } | 199 } |
| 200 let rest = this[_rest]; | 200 let rest = this[_rest]; |
| 201 if (rest !== null) { | 201 if (rest !== null) { |
| 202 let names = Object.getOwnPropertyNames(rest); | 202 let names = Object.getOwnPropertyNames(rest); |
| 203 let entries = names.length; | 203 let entries = names.length; |
| 204 for (let i = 0; dart.notNull(i) < dart.notNull(entries); dart.notNull(
i)++) { | 204 for (let i = 0; dart.notNull(i) < dart.notNull(entries); i = dart.notN
ull(i) + 1) { |
| 205 let key = names[i]; | 205 let key = names[i]; |
| 206 let bucket = rest[key]; | 206 let bucket = rest[key]; |
| 207 let length = bucket.length; | 207 let length = bucket.length; |
| 208 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = 2) { | 208 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = 2) { |
| 209 let key = bucket[i]; | 209 let key = bucket[i]; |
| 210 result[index] = key; | 210 result[index] = key; |
| 211 dart.notNull(index)++; | 211 index = dart.notNull(index) + 1; |
| 212 } | 212 } |
| 213 } | 213 } |
| 214 } | 214 } |
| 215 dart.assert(index === this[_length]); | 215 dart.assert(index === this[_length]); |
| 216 return this[_keys] = result; | 216 return this[_keys] = result; |
| 217 } | 217 } |
| 218 [_addHashTableEntry](table, key, value) { | 218 [_addHashTableEntry](table, key, value) { |
| 219 if (!dart.notNull(_hasTableEntry(table, key))) { | 219 if (!dart.notNull(_hasTableEntry(table, key))) { |
| 220 dart.notNull(this[_length])++; | 220 this[_length] = dart.notNull(this[_length]) + 1; |
| 221 this[_keys] = null; | 221 this[_keys] = null; |
| 222 } | 222 } |
| 223 _setTableEntry(table, key, value); | 223 _setTableEntry(table, key, value); |
| 224 } | 224 } |
| 225 [_removeHashTableEntry](table, key) { | 225 [_removeHashTableEntry](table, key) { |
| 226 if (dart.notNull(table !== null) && dart.notNull(_hasTableEntry(table, k
ey))) { | 226 if (dart.notNull(table !== null) && dart.notNull(_hasTableEntry(table, k
ey))) { |
| 227 let value = dart.as(_getTableEntry(table, key), V); | 227 let value = dart.as(_getTableEntry(table, key), V); |
| 228 _deleteTableEntry(table, key); | 228 _deleteTableEntry(table, key); |
| 229 dart.notNull(this[_length])--; | 229 this[_length] = dart.notNull(this[_length]) - 1; |
| 230 this[_keys] = null; | 230 this[_keys] = null; |
| 231 return value; | 231 return value; |
| 232 } else { | 232 } else { |
| 233 return null; | 233 return null; |
| 234 } | 234 } |
| 235 } | 235 } |
| 236 static [_isStringKey](key) { | 236 static [_isStringKey](key) { |
| 237 return dart.notNull(typeof key == string) && dart.notNull(!dart.equals(k
ey, '__proto__')); | 237 return dart.notNull(typeof key == string) && dart.notNull(!dart.equals(k
ey, '__proto__')); |
| 238 } | 238 } |
| 239 static [_isNumericKey](key) { | 239 static [_isNumericKey](key) { |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 return dart.equals(dart.dload(this[_map], '_length'), 0); | 367 return dart.equals(dart.dload(this[_map], '_length'), 0); |
| 368 } | 368 } |
| 369 get iterator() { | 369 get iterator() { |
| 370 return new HashMapKeyIterator(this[_map], dart.as(dart.dinvoke(this[_map
], '_computeKeys'), core.List)); | 370 return new HashMapKeyIterator(this[_map], dart.as(dart.dinvoke(this[_map
], '_computeKeys'), core.List)); |
| 371 } | 371 } |
| 372 contains(element) { | 372 contains(element) { |
| 373 return dart.as(dart.dinvoke(this[_map], 'containsKey', element), core.bo
ol); | 373 return dart.as(dart.dinvoke(this[_map], 'containsKey', element), core.bo
ol); |
| 374 } | 374 } |
| 375 forEach(f) { | 375 forEach(f) { |
| 376 let keys = dart.as(dart.dinvoke(this[_map], '_computeKeys'), core.List); | 376 let keys = dart.as(dart.dinvoke(this[_map], '_computeKeys'), core.List); |
| 377 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); dart.notNull(i)++) { | 377 for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(len
gth); i = dart.notNull(i) + 1) { |
| 378 f(dart.as(keys[i], E)); | 378 f(dart.as(keys[i], E)); |
| 379 if (keys !== dart.dload(this[_map], '_keys')) { | 379 if (keys !== dart.dload(this[_map], '_keys')) { |
| 380 throw new core.ConcurrentModificationError(this[_map]); | 380 throw new core.ConcurrentModificationError(this[_map]); |
| 381 } | 381 } |
| 382 } | 382 } |
| 383 } | 383 } |
| 384 } | 384 } |
| 385 return HashMapKeyIterable; | 385 return HashMapKeyIterable; |
| 386 }); | 386 }); |
| 387 let HashMapKeyIterable = HashMapKeyIterable$(dynamic); | 387 let HashMapKeyIterable = HashMapKeyIterable$(dynamic); |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 616 } | 616 } |
| 617 [_newLinkedCell](key, value) { | 617 [_newLinkedCell](key, value) { |
| 618 let cell = new LinkedHashMapCell(key, value); | 618 let cell = new LinkedHashMapCell(key, value); |
| 619 if (this[_first] === null) { | 619 if (this[_first] === null) { |
| 620 this[_first] = this[_last] = cell; | 620 this[_first] = this[_last] = cell; |
| 621 } else { | 621 } else { |
| 622 let last = this[_last]; | 622 let last = this[_last]; |
| 623 cell[_previous] = last; | 623 cell[_previous] = last; |
| 624 this[_last] = last[_next] = cell; | 624 this[_last] = last[_next] = cell; |
| 625 } | 625 } |
| 626 dart.notNull(this[_length])++; | 626 this[_length] = dart.notNull(this[_length]) + 1; |
| 627 this[_modified](); | 627 this[_modified](); |
| 628 return cell; | 628 return cell; |
| 629 } | 629 } |
| 630 [_unlinkCell](cell) { | 630 [_unlinkCell](cell) { |
| 631 let previous = cell[_previous]; | 631 let previous = cell[_previous]; |
| 632 let next = cell[_next]; | 632 let next = cell[_next]; |
| 633 if (previous === null) { | 633 if (previous === null) { |
| 634 dart.assert(dart.equals(cell, this[_first])); | 634 dart.assert(dart.equals(cell, this[_first])); |
| 635 this[_first] = next; | 635 this[_first] = next; |
| 636 } else { | 636 } else { |
| 637 previous[_next] = next; | 637 previous[_next] = next; |
| 638 } | 638 } |
| 639 if (next === null) { | 639 if (next === null) { |
| 640 dart.assert(dart.equals(cell, this[_last])); | 640 dart.assert(dart.equals(cell, this[_last])); |
| 641 this[_last] = previous; | 641 this[_last] = previous; |
| 642 } else { | 642 } else { |
| 643 next[_previous] = previous; | 643 next[_previous] = previous; |
| 644 } | 644 } |
| 645 dart.notNull(this[_length])--; | 645 this[_length] = dart.notNull(this[_length]) - 1; |
| 646 this[_modified](); | 646 this[_modified](); |
| 647 } | 647 } |
| 648 static [_isStringKey](key) { | 648 static [_isStringKey](key) { |
| 649 return dart.notNull(typeof key == string) && dart.notNull(!dart.equals(k
ey, '__proto__')); | 649 return dart.notNull(typeof key == string) && dart.notNull(!dart.equals(k
ey, '__proto__')); |
| 650 } | 650 } |
| 651 static [_isNumericKey](key) { | 651 static [_isNumericKey](key) { |
| 652 return dart.notNull(dart.is(key, core.num)) && (key & 0x3ffffff) === key
; | 652 return dart.notNull(dart.is(key, core.num)) && (key & 0x3ffffff) === key
; |
| 653 } | 653 } |
| 654 [_computeHashCode](key) { | 654 [_computeHashCode](key) { |
| 655 return dart.dload(key, 'hashCode') & 0x3ffffff; | 655 return dart.dload(key, 'hashCode') & 0x3ffffff; |
| 656 } | 656 } |
| 657 static [_getTableEntry](table, key) { | 657 static [_getTableEntry](table, key) { |
| 658 return table[key]; | 658 return table[key]; |
| 659 } | 659 } |
| 660 static [_setTableEntry](table, key, value) { | 660 static [_setTableEntry](table, key, value) { |
| 661 dart.assert(value !== null); | 661 dart.assert(value !== null); |
| 662 table[key] = value; | 662 table[key] = value; |
| 663 } | 663 } |
| 664 static [_deleteTableEntry](table, key) { | 664 static [_deleteTableEntry](table, key) { |
| 665 delete table[key]; | 665 delete table[key]; |
| 666 } | 666 } |
| 667 [_getBucket](table, key) { | 667 [_getBucket](table, key) { |
| 668 let hash = this[_computeHashCode](key); | 668 let hash = this[_computeHashCode](key); |
| 669 return dart.as(table[hash], core.List); | 669 return dart.as(table[hash], core.List); |
| 670 } | 670 } |
| 671 [_findBucketIndex](bucket, key) { | 671 [_findBucketIndex](bucket, key) { |
| 672 if (bucket === null) | 672 if (bucket === null) |
| 673 return -1; | 673 return -1; |
| 674 let length = bucket.length; | 674 let length = bucket.length; |
| 675 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 675 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 676 let cell = dart.as(bucket[i], LinkedHashMapCell); | 676 let cell = dart.as(bucket[i], LinkedHashMapCell); |
| 677 if (dart.equals(cell[_key], key)) | 677 if (dart.equals(cell[_key], key)) |
| 678 return i; | 678 return i; |
| 679 } | 679 } |
| 680 return -1; | 680 return -1; |
| 681 } | 681 } |
| 682 static [_newHashTable]() { | 682 static [_newHashTable]() { |
| 683 let table = Object.create(null); | 683 let table = Object.create(null); |
| 684 let temporaryKey = '<non-identifier-key>'; | 684 let temporaryKey = '<non-identifier-key>'; |
| 685 _setTableEntry(table, temporaryKey, table); | 685 _setTableEntry(table, temporaryKey, table); |
| 686 _deleteTableEntry(table, temporaryKey); | 686 _deleteTableEntry(table, temporaryKey); |
| 687 return table; | 687 return table; |
| 688 } | 688 } |
| 689 toString() { | 689 toString() { |
| 690 return Maps.mapToString(this); | 690 return Maps.mapToString(this); |
| 691 } | 691 } |
| 692 } | 692 } |
| 693 return _LinkedHashMap; | 693 return _LinkedHashMap; |
| 694 }); | 694 }); |
| 695 let _LinkedHashMap = _LinkedHashMap$(dynamic, dynamic); | 695 let _LinkedHashMap = _LinkedHashMap$(dynamic, dynamic); |
| 696 let _LinkedIdentityHashMap$ = dart.generic(function(K, V) { | 696 let _LinkedIdentityHashMap$ = dart.generic(function(K, V) { |
| 697 class _LinkedIdentityHashMap extends _LinkedHashMap$(K, V) { | 697 class _LinkedIdentityHashMap extends _LinkedHashMap$(K, V) { |
| 698 [_computeHashCode](key) { | 698 [_computeHashCode](key) { |
| 699 return core.identityHashCode(key) & 0x3ffffff; | 699 return core.identityHashCode(key) & 0x3ffffff; |
| 700 } | 700 } |
| 701 [_findBucketIndex](bucket, key) { | 701 [_findBucketIndex](bucket, key) { |
| 702 if (bucket === null) | 702 if (bucket === null) |
| 703 return -1; | 703 return -1; |
| 704 let length = bucket.length; | 704 let length = bucket.length; |
| 705 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 705 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 706 let cell = dart.as(bucket[i], LinkedHashMapCell); | 706 let cell = dart.as(bucket[i], LinkedHashMapCell); |
| 707 if (core.identical(cell[_key], key)) | 707 if (core.identical(cell[_key], key)) |
| 708 return i; | 708 return i; |
| 709 } | 709 } |
| 710 return -1; | 710 return -1; |
| 711 } | 711 } |
| 712 } | 712 } |
| 713 return _LinkedIdentityHashMap; | 713 return _LinkedIdentityHashMap; |
| 714 }); | 714 }); |
| 715 let _LinkedIdentityHashMap = _LinkedIdentityHashMap$(dynamic, dynamic); | 715 let _LinkedIdentityHashMap = _LinkedIdentityHashMap$(dynamic, dynamic); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 739 return null; | 739 return null; |
| 740 return super._remove(key); | 740 return super._remove(key); |
| 741 } | 741 } |
| 742 [_computeHashCode](key) { | 742 [_computeHashCode](key) { |
| 743 return this[_hashCode](dart.as(key, K)) & 0x3ffffff; | 743 return this[_hashCode](dart.as(key, K)) & 0x3ffffff; |
| 744 } | 744 } |
| 745 [_findBucketIndex](bucket, key) { | 745 [_findBucketIndex](bucket, key) { |
| 746 if (bucket === null) | 746 if (bucket === null) |
| 747 return -1; | 747 return -1; |
| 748 let length = bucket.length; | 748 let length = bucket.length; |
| 749 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 749 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 750 let cell = dart.as(bucket[i], LinkedHashMapCell); | 750 let cell = dart.as(bucket[i], LinkedHashMapCell); |
| 751 if (this[_equals](dart.as(cell[_key], K), dart.as(key, K))) | 751 if (this[_equals](dart.as(cell[_key], K), dart.as(key, K))) |
| 752 return i; | 752 return i; |
| 753 } | 753 } |
| 754 return -1; | 754 return -1; |
| 755 } | 755 } |
| 756 } | 756 } |
| 757 return _LinkedCustomHashMap; | 757 return _LinkedCustomHashMap; |
| 758 }); | 758 }); |
| 759 let _LinkedCustomHashMap = _LinkedCustomHashMap$(dynamic, dynamic); | 759 let _LinkedCustomHashMap = _LinkedCustomHashMap$(dynamic, dynamic); |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 916 let hash = this[_computeHashCode](element); | 916 let hash = this[_computeHashCode](element); |
| 917 let bucket = rest[hash]; | 917 let bucket = rest[hash]; |
| 918 if (bucket === null) { | 918 if (bucket === null) { |
| 919 _setTableEntry(rest, hash, [element]); | 919 _setTableEntry(rest, hash, [element]); |
| 920 } else { | 920 } else { |
| 921 let index = this[_findBucketIndex](bucket, element); | 921 let index = this[_findBucketIndex](bucket, element); |
| 922 if (dart.notNull(index) >= 0) | 922 if (dart.notNull(index) >= 0) |
| 923 return false; | 923 return false; |
| 924 bucket.push(element); | 924 bucket.push(element); |
| 925 } | 925 } |
| 926 dart.notNull(this[_length])++; | 926 this[_length] = dart.notNull(this[_length]) + 1; |
| 927 this[_elements] = null; | 927 this[_elements] = null; |
| 928 return true; | 928 return true; |
| 929 } | 929 } |
| 930 addAll(objects) { | 930 addAll(objects) { |
| 931 for (let each of objects) { | 931 for (let each of objects) { |
| 932 this.add(each); | 932 this.add(each); |
| 933 } | 933 } |
| 934 } | 934 } |
| 935 remove(object) { | 935 remove(object) { |
| 936 if (_isStringElement(object)) { | 936 if (_isStringElement(object)) { |
| 937 return this[_removeHashTableEntry](this[_strings], object); | 937 return this[_removeHashTableEntry](this[_strings], object); |
| 938 } else if (_isNumericElement(object)) { | 938 } else if (_isNumericElement(object)) { |
| 939 return this[_removeHashTableEntry](this[_nums], object); | 939 return this[_removeHashTableEntry](this[_nums], object); |
| 940 } else { | 940 } else { |
| 941 return this[_remove](object); | 941 return this[_remove](object); |
| 942 } | 942 } |
| 943 } | 943 } |
| 944 [_remove](object) { | 944 [_remove](object) { |
| 945 let rest = this[_rest]; | 945 let rest = this[_rest]; |
| 946 if (rest === null) | 946 if (rest === null) |
| 947 return false; | 947 return false; |
| 948 let bucket = this[_getBucket](rest, object); | 948 let bucket = this[_getBucket](rest, object); |
| 949 let index = this[_findBucketIndex](bucket, object); | 949 let index = this[_findBucketIndex](bucket, object); |
| 950 if (dart.notNull(index) < 0) | 950 if (dart.notNull(index) < 0) |
| 951 return false; | 951 return false; |
| 952 dart.notNull(this[_length])--; | 952 this[_length] = dart.notNull(this[_length]) - 1; |
| 953 this[_elements] = null; | 953 this[_elements] = null; |
| 954 bucket.splice(index, 1); | 954 bucket.splice(index, 1); |
| 955 return true; | 955 return true; |
| 956 } | 956 } |
| 957 clear() { | 957 clear() { |
| 958 if (dart.notNull(this[_length]) > 0) { | 958 if (dart.notNull(this[_length]) > 0) { |
| 959 this[_strings] = this[_nums] = this[_rest] = this[_elements] = null; | 959 this[_strings] = this[_nums] = this[_rest] = this[_elements] = null; |
| 960 this[_length] = 0; | 960 this[_length] = 0; |
| 961 } | 961 } |
| 962 } | 962 } |
| 963 [_computeElements]() { | 963 [_computeElements]() { |
| 964 if (this[_elements] !== null) | 964 if (this[_elements] !== null) |
| 965 return this[_elements]; | 965 return this[_elements]; |
| 966 let result = new core.List(this[_length]); | 966 let result = new core.List(this[_length]); |
| 967 let index = 0; | 967 let index = 0; |
| 968 let strings = this[_strings]; | 968 let strings = this[_strings]; |
| 969 if (strings !== null) { | 969 if (strings !== null) { |
| 970 let names = Object.getOwnPropertyNames(strings); | 970 let names = Object.getOwnPropertyNames(strings); |
| 971 let entries = names.length; | 971 let entries = names.length; |
| 972 for (let i = 0; dart.notNull(i) < dart.notNull(entries); dart.notNull(
i)++) { | 972 for (let i = 0; dart.notNull(i) < dart.notNull(entries); i = dart.notN
ull(i) + 1) { |
| 973 let element = names[i]; | 973 let element = names[i]; |
| 974 result[index] = element; | 974 result[index] = element; |
| 975 dart.notNull(index)++; | 975 index = dart.notNull(index) + 1; |
| 976 } | 976 } |
| 977 } | 977 } |
| 978 let nums = this[_nums]; | 978 let nums = this[_nums]; |
| 979 if (nums !== null) { | 979 if (nums !== null) { |
| 980 let names = Object.getOwnPropertyNames(nums); | 980 let names = Object.getOwnPropertyNames(nums); |
| 981 let entries = names.length; | 981 let entries = names.length; |
| 982 for (let i = 0; dart.notNull(i) < dart.notNull(entries); dart.notNull(
i)++) { | 982 for (let i = 0; dart.notNull(i) < dart.notNull(entries); i = dart.notN
ull(i) + 1) { |
| 983 let element = +names[i]; | 983 let element = +names[i]; |
| 984 result[index] = element; | 984 result[index] = element; |
| 985 dart.notNull(index)++; | 985 index = dart.notNull(index) + 1; |
| 986 } | 986 } |
| 987 } | 987 } |
| 988 let rest = this[_rest]; | 988 let rest = this[_rest]; |
| 989 if (rest !== null) { | 989 if (rest !== null) { |
| 990 let names = Object.getOwnPropertyNames(rest); | 990 let names = Object.getOwnPropertyNames(rest); |
| 991 let entries = names.length; | 991 let entries = names.length; |
| 992 for (let i = 0; dart.notNull(i) < dart.notNull(entries); dart.notNull(
i)++) { | 992 for (let i = 0; dart.notNull(i) < dart.notNull(entries); i = dart.notN
ull(i) + 1) { |
| 993 let entry = names[i]; | 993 let entry = names[i]; |
| 994 let bucket = rest[entry]; | 994 let bucket = rest[entry]; |
| 995 let length = bucket.length; | 995 let length = bucket.length; |
| 996 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull
(i)++) { | 996 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.not
Null(i) + 1) { |
| 997 result[index] = bucket[i]; | 997 result[index] = bucket[i]; |
| 998 dart.notNull(index)++; | 998 index = dart.notNull(index) + 1; |
| 999 } | 999 } |
| 1000 } | 1000 } |
| 1001 } | 1001 } |
| 1002 dart.assert(index === this[_length]); | 1002 dart.assert(index === this[_length]); |
| 1003 return this[_elements] = result; | 1003 return this[_elements] = result; |
| 1004 } | 1004 } |
| 1005 [_addHashTableEntry](table, element) { | 1005 [_addHashTableEntry](table, element) { |
| 1006 if (_hasTableEntry(table, element)) | 1006 if (_hasTableEntry(table, element)) |
| 1007 return false; | 1007 return false; |
| 1008 _setTableEntry(table, element, 0); | 1008 _setTableEntry(table, element, 0); |
| 1009 dart.notNull(this[_length])++; | 1009 this[_length] = dart.notNull(this[_length]) + 1; |
| 1010 this[_elements] = null; | 1010 this[_elements] = null; |
| 1011 return true; | 1011 return true; |
| 1012 } | 1012 } |
| 1013 [_removeHashTableEntry](table, element) { | 1013 [_removeHashTableEntry](table, element) { |
| 1014 if (dart.notNull(table !== null) && dart.notNull(_hasTableEntry(table, e
lement))) { | 1014 if (dart.notNull(table !== null) && dart.notNull(_hasTableEntry(table, e
lement))) { |
| 1015 _deleteTableEntry(table, element); | 1015 _deleteTableEntry(table, element); |
| 1016 dart.notNull(this[_length])--; | 1016 this[_length] = dart.notNull(this[_length]) - 1; |
| 1017 this[_elements] = null; | 1017 this[_elements] = null; |
| 1018 return true; | 1018 return true; |
| 1019 } else { | 1019 } else { |
| 1020 return false; | 1020 return false; |
| 1021 } | 1021 } |
| 1022 } | 1022 } |
| 1023 static [_isStringElement](element) { | 1023 static [_isStringElement](element) { |
| 1024 return dart.notNull(typeof element == string) && dart.notNull(!dart.equa
ls(element, '__proto__')); | 1024 return dart.notNull(typeof element == string) && dart.notNull(!dart.equa
ls(element, '__proto__')); |
| 1025 } | 1025 } |
| 1026 static [_isNumericElement](element) { | 1026 static [_isNumericElement](element) { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1041 delete table[key]; | 1041 delete table[key]; |
| 1042 } | 1042 } |
| 1043 [_getBucket](table, element) { | 1043 [_getBucket](table, element) { |
| 1044 let hash = this[_computeHashCode](element); | 1044 let hash = this[_computeHashCode](element); |
| 1045 return dart.as(table[hash], core.List); | 1045 return dart.as(table[hash], core.List); |
| 1046 } | 1046 } |
| 1047 [_findBucketIndex](bucket, element) { | 1047 [_findBucketIndex](bucket, element) { |
| 1048 if (bucket === null) | 1048 if (bucket === null) |
| 1049 return -1; | 1049 return -1; |
| 1050 let length = bucket.length; | 1050 let length = bucket.length; |
| 1051 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 1051 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 1052 if (dart.equals(bucket[i], element)) | 1052 if (dart.equals(bucket[i], element)) |
| 1053 return i; | 1053 return i; |
| 1054 } | 1054 } |
| 1055 return -1; | 1055 return -1; |
| 1056 } | 1056 } |
| 1057 static [_newHashTable]() { | 1057 static [_newHashTable]() { |
| 1058 let table = Object.create(null); | 1058 let table = Object.create(null); |
| 1059 let temporaryKey = '<non-identifier-key>'; | 1059 let temporaryKey = '<non-identifier-key>'; |
| 1060 _setTableEntry(table, temporaryKey, table); | 1060 _setTableEntry(table, temporaryKey, table); |
| 1061 _deleteTableEntry(table, temporaryKey); | 1061 _deleteTableEntry(table, temporaryKey); |
| 1062 return table; | 1062 return table; |
| 1063 } | 1063 } |
| 1064 } | 1064 } |
| 1065 return _HashSet; | 1065 return _HashSet; |
| 1066 }); | 1066 }); |
| 1067 let _HashSet = _HashSet$(dynamic); | 1067 let _HashSet = _HashSet$(dynamic); |
| 1068 let _IdentityHashSet$ = dart.generic(function(E) { | 1068 let _IdentityHashSet$ = dart.generic(function(E) { |
| 1069 class _IdentityHashSet extends _HashSet$(E) { | 1069 class _IdentityHashSet extends _HashSet$(E) { |
| 1070 [_newSet]() { | 1070 [_newSet]() { |
| 1071 return new _IdentityHashSet(); | 1071 return new _IdentityHashSet(); |
| 1072 } | 1072 } |
| 1073 [_computeHashCode](key) { | 1073 [_computeHashCode](key) { |
| 1074 return core.identityHashCode(key) & 0x3ffffff; | 1074 return core.identityHashCode(key) & 0x3ffffff; |
| 1075 } | 1075 } |
| 1076 [_findBucketIndex](bucket, element) { | 1076 [_findBucketIndex](bucket, element) { |
| 1077 if (bucket === null) | 1077 if (bucket === null) |
| 1078 return -1; | 1078 return -1; |
| 1079 let length = bucket.length; | 1079 let length = bucket.length; |
| 1080 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 1080 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 1081 if (core.identical(bucket[i], element)) | 1081 if (core.identical(bucket[i], element)) |
| 1082 return i; | 1082 return i; |
| 1083 } | 1083 } |
| 1084 return -1; | 1084 return -1; |
| 1085 } | 1085 } |
| 1086 } | 1086 } |
| 1087 return _IdentityHashSet; | 1087 return _IdentityHashSet; |
| 1088 }); | 1088 }); |
| 1089 let _IdentityHashSet = _IdentityHashSet$(dynamic); | 1089 let _IdentityHashSet = _IdentityHashSet$(dynamic); |
| 1090 let _equality = Symbol('_equality'); | 1090 let _equality = Symbol('_equality'); |
| 1091 let _hasher = Symbol('_hasher'); | 1091 let _hasher = Symbol('_hasher'); |
| 1092 let _CustomHashSet$ = dart.generic(function(E) { | 1092 let _CustomHashSet$ = dart.generic(function(E) { |
| 1093 class _CustomHashSet extends _HashSet$(E) { | 1093 class _CustomHashSet extends _HashSet$(E) { |
| 1094 _CustomHashSet($_equality, $_hasher, validKey) { | 1094 _CustomHashSet($_equality, $_hasher, validKey) { |
| 1095 this[_equality] = $_equality; | 1095 this[_equality] = $_equality; |
| 1096 this[_hasher] = $_hasher; | 1096 this[_hasher] = $_hasher; |
| 1097 this[_validKey] = dart.as(validKey !== null ? validKey : (x) => dart.is(
x, E), _Predicate); | 1097 this[_validKey] = dart.as(validKey !== null ? validKey : (x) => dart.is(
x, E), _Predicate); |
| 1098 super._HashSet(); | 1098 super._HashSet(); |
| 1099 } | 1099 } |
| 1100 [_newSet]() { | 1100 [_newSet]() { |
| 1101 return new _CustomHashSet(this[_equality], this[_hasher], this[_validKey
]); | 1101 return new _CustomHashSet(this[_equality], this[_hasher], this[_validKey
]); |
| 1102 } | 1102 } |
| 1103 [_findBucketIndex](bucket, element) { | 1103 [_findBucketIndex](bucket, element) { |
| 1104 if (bucket === null) | 1104 if (bucket === null) |
| 1105 return -1; | 1105 return -1; |
| 1106 let length = bucket.length; | 1106 let length = bucket.length; |
| 1107 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 1107 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 1108 if (this[_equality](dart.as(bucket[i], E), dart.as(element, E))) | 1108 if (this[_equality](dart.as(bucket[i], E), dart.as(element, E))) |
| 1109 return i; | 1109 return i; |
| 1110 } | 1110 } |
| 1111 return -1; | 1111 return -1; |
| 1112 } | 1112 } |
| 1113 [_computeHashCode](element) { | 1113 [_computeHashCode](element) { |
| 1114 return this[_hasher](dart.as(element, E)) & 0x3ffffff; | 1114 return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
| 1115 } | 1115 } |
| 1116 add(object) { | 1116 add(object) { |
| 1117 return super._add(object); | 1117 return super._add(object); |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1363 } | 1363 } |
| 1364 [_newLinkedCell](element) { | 1364 [_newLinkedCell](element) { |
| 1365 let cell = new LinkedHashSetCell(element); | 1365 let cell = new LinkedHashSetCell(element); |
| 1366 if (this[_first] === null) { | 1366 if (this[_first] === null) { |
| 1367 this[_first] = this[_last] = cell; | 1367 this[_first] = this[_last] = cell; |
| 1368 } else { | 1368 } else { |
| 1369 let last = this[_last]; | 1369 let last = this[_last]; |
| 1370 cell[_previous] = last; | 1370 cell[_previous] = last; |
| 1371 this[_last] = last[_next] = cell; | 1371 this[_last] = last[_next] = cell; |
| 1372 } | 1372 } |
| 1373 dart.notNull(this[_length])++; | 1373 this[_length] = dart.notNull(this[_length]) + 1; |
| 1374 this[_modified](); | 1374 this[_modified](); |
| 1375 return cell; | 1375 return cell; |
| 1376 } | 1376 } |
| 1377 [_unlinkCell](cell) { | 1377 [_unlinkCell](cell) { |
| 1378 let previous = cell[_previous]; | 1378 let previous = cell[_previous]; |
| 1379 let next = cell[_next]; | 1379 let next = cell[_next]; |
| 1380 if (previous === null) { | 1380 if (previous === null) { |
| 1381 dart.assert(dart.equals(cell, this[_first])); | 1381 dart.assert(dart.equals(cell, this[_first])); |
| 1382 this[_first] = next; | 1382 this[_first] = next; |
| 1383 } else { | 1383 } else { |
| 1384 previous[_next] = next; | 1384 previous[_next] = next; |
| 1385 } | 1385 } |
| 1386 if (next === null) { | 1386 if (next === null) { |
| 1387 dart.assert(dart.equals(cell, this[_last])); | 1387 dart.assert(dart.equals(cell, this[_last])); |
| 1388 this[_last] = previous; | 1388 this[_last] = previous; |
| 1389 } else { | 1389 } else { |
| 1390 next[_previous] = previous; | 1390 next[_previous] = previous; |
| 1391 } | 1391 } |
| 1392 dart.notNull(this[_length])--; | 1392 this[_length] = dart.notNull(this[_length]) - 1; |
| 1393 this[_modified](); | 1393 this[_modified](); |
| 1394 } | 1394 } |
| 1395 static [_isStringElement](element) { | 1395 static [_isStringElement](element) { |
| 1396 return dart.notNull(typeof element == string) && dart.notNull(!dart.equa
ls(element, '__proto__')); | 1396 return dart.notNull(typeof element == string) && dart.notNull(!dart.equa
ls(element, '__proto__')); |
| 1397 } | 1397 } |
| 1398 static [_isNumericElement](element) { | 1398 static [_isNumericElement](element) { |
| 1399 return dart.notNull(dart.is(element, core.num)) && (element & 0x3ffffff)
=== element; | 1399 return dart.notNull(dart.is(element, core.num)) && (element & 0x3ffffff)
=== element; |
| 1400 } | 1400 } |
| 1401 [_computeHashCode](element) { | 1401 [_computeHashCode](element) { |
| 1402 return dart.dload(element, 'hashCode') & 0x3ffffff; | 1402 return dart.dload(element, 'hashCode') & 0x3ffffff; |
| 1403 } | 1403 } |
| 1404 static [_getTableEntry](table, key) { | 1404 static [_getTableEntry](table, key) { |
| 1405 return table[key]; | 1405 return table[key]; |
| 1406 } | 1406 } |
| 1407 static [_setTableEntry](table, key, value) { | 1407 static [_setTableEntry](table, key, value) { |
| 1408 dart.assert(value !== null); | 1408 dart.assert(value !== null); |
| 1409 table[key] = value; | 1409 table[key] = value; |
| 1410 } | 1410 } |
| 1411 static [_deleteTableEntry](table, key) { | 1411 static [_deleteTableEntry](table, key) { |
| 1412 delete table[key]; | 1412 delete table[key]; |
| 1413 } | 1413 } |
| 1414 [_getBucket](table, element) { | 1414 [_getBucket](table, element) { |
| 1415 let hash = this[_computeHashCode](element); | 1415 let hash = this[_computeHashCode](element); |
| 1416 return dart.as(table[hash], core.List); | 1416 return dart.as(table[hash], core.List); |
| 1417 } | 1417 } |
| 1418 [_findBucketIndex](bucket, element) { | 1418 [_findBucketIndex](bucket, element) { |
| 1419 if (bucket === null) | 1419 if (bucket === null) |
| 1420 return -1; | 1420 return -1; |
| 1421 let length = bucket.length; | 1421 let length = bucket.length; |
| 1422 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 1422 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 1423 let cell = dart.as(bucket[i], LinkedHashSetCell); | 1423 let cell = dart.as(bucket[i], LinkedHashSetCell); |
| 1424 if (dart.equals(cell[_element], element)) | 1424 if (dart.equals(cell[_element], element)) |
| 1425 return i; | 1425 return i; |
| 1426 } | 1426 } |
| 1427 return -1; | 1427 return -1; |
| 1428 } | 1428 } |
| 1429 static [_newHashTable]() { | 1429 static [_newHashTable]() { |
| 1430 let table = Object.create(null); | 1430 let table = Object.create(null); |
| 1431 let temporaryKey = '<non-identifier-key>'; | 1431 let temporaryKey = '<non-identifier-key>'; |
| 1432 _setTableEntry(table, temporaryKey, table); | 1432 _setTableEntry(table, temporaryKey, table); |
| 1433 _deleteTableEntry(table, temporaryKey); | 1433 _deleteTableEntry(table, temporaryKey); |
| 1434 return table; | 1434 return table; |
| 1435 } | 1435 } |
| 1436 } | 1436 } |
| 1437 return _LinkedHashSet; | 1437 return _LinkedHashSet; |
| 1438 }); | 1438 }); |
| 1439 let _LinkedHashSet = _LinkedHashSet$(dynamic); | 1439 let _LinkedHashSet = _LinkedHashSet$(dynamic); |
| 1440 let _LinkedIdentityHashSet$ = dart.generic(function(E) { | 1440 let _LinkedIdentityHashSet$ = dart.generic(function(E) { |
| 1441 class _LinkedIdentityHashSet extends _LinkedHashSet$(E) { | 1441 class _LinkedIdentityHashSet extends _LinkedHashSet$(E) { |
| 1442 [_newSet]() { | 1442 [_newSet]() { |
| 1443 return new _LinkedIdentityHashSet(); | 1443 return new _LinkedIdentityHashSet(); |
| 1444 } | 1444 } |
| 1445 [_computeHashCode](key) { | 1445 [_computeHashCode](key) { |
| 1446 return core.identityHashCode(key) & 0x3ffffff; | 1446 return core.identityHashCode(key) & 0x3ffffff; |
| 1447 } | 1447 } |
| 1448 [_findBucketIndex](bucket, element) { | 1448 [_findBucketIndex](bucket, element) { |
| 1449 if (bucket === null) | 1449 if (bucket === null) |
| 1450 return -1; | 1450 return -1; |
| 1451 let length = bucket.length; | 1451 let length = bucket.length; |
| 1452 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 1452 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 1453 let cell = dart.as(bucket[i], LinkedHashSetCell); | 1453 let cell = dart.as(bucket[i], LinkedHashSetCell); |
| 1454 if (core.identical(cell[_element], element)) | 1454 if (core.identical(cell[_element], element)) |
| 1455 return i; | 1455 return i; |
| 1456 } | 1456 } |
| 1457 return -1; | 1457 return -1; |
| 1458 } | 1458 } |
| 1459 } | 1459 } |
| 1460 return _LinkedIdentityHashSet; | 1460 return _LinkedIdentityHashSet; |
| 1461 }); | 1461 }); |
| 1462 let _LinkedIdentityHashSet = _LinkedIdentityHashSet$(dynamic); | 1462 let _LinkedIdentityHashSet = _LinkedIdentityHashSet$(dynamic); |
| 1463 let _LinkedCustomHashSet$ = dart.generic(function(E) { | 1463 let _LinkedCustomHashSet$ = dart.generic(function(E) { |
| 1464 class _LinkedCustomHashSet extends _LinkedHashSet$(E) { | 1464 class _LinkedCustomHashSet extends _LinkedHashSet$(E) { |
| 1465 _LinkedCustomHashSet($_equality, $_hasher, validKey) { | 1465 _LinkedCustomHashSet($_equality, $_hasher, validKey) { |
| 1466 this[_equality] = $_equality; | 1466 this[_equality] = $_equality; |
| 1467 this[_hasher] = $_hasher; | 1467 this[_hasher] = $_hasher; |
| 1468 this[_validKey] = dart.as(validKey !== null ? validKey : (x) => dart.is(
x, E), _Predicate); | 1468 this[_validKey] = dart.as(validKey !== null ? validKey : (x) => dart.is(
x, E), _Predicate); |
| 1469 super._LinkedHashSet(); | 1469 super._LinkedHashSet(); |
| 1470 } | 1470 } |
| 1471 [_newSet]() { | 1471 [_newSet]() { |
| 1472 return new _LinkedCustomHashSet(this[_equality], this[_hasher], this[_va
lidKey]); | 1472 return new _LinkedCustomHashSet(this[_equality], this[_hasher], this[_va
lidKey]); |
| 1473 } | 1473 } |
| 1474 [_findBucketIndex](bucket, element) { | 1474 [_findBucketIndex](bucket, element) { |
| 1475 if (bucket === null) | 1475 if (bucket === null) |
| 1476 return -1; | 1476 return -1; |
| 1477 let length = bucket.length; | 1477 let length = bucket.length; |
| 1478 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 1478 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 1479 let cell = dart.as(bucket[i], LinkedHashSetCell); | 1479 let cell = dart.as(bucket[i], LinkedHashSetCell); |
| 1480 if (this[_equality](dart.as(cell[_element], E), dart.as(element, E))) | 1480 if (this[_equality](dart.as(cell[_element], E), dart.as(element, E))) |
| 1481 return i; | 1481 return i; |
| 1482 } | 1482 } |
| 1483 return -1; | 1483 return -1; |
| 1484 } | 1484 } |
| 1485 [_computeHashCode](element) { | 1485 [_computeHashCode](element) { |
| 1486 return this[_hasher](dart.as(element, E)) & 0x3ffffff; | 1486 return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
| 1487 } | 1487 } |
| 1488 add(element) { | 1488 add(element) { |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1792 return new core.List.from(this, {growable: growable}); | 1792 return new core.List.from(this, {growable: growable}); |
| 1793 } | 1793 } |
| 1794 toSet() { | 1794 toSet() { |
| 1795 return new core.Set.from(this); | 1795 return new core.Set.from(this); |
| 1796 } | 1796 } |
| 1797 get length() { | 1797 get length() { |
| 1798 dart.assert(!dart.is(this, _internal.EfficientLength)); | 1798 dart.assert(!dart.is(this, _internal.EfficientLength)); |
| 1799 let count = 0; | 1799 let count = 0; |
| 1800 let it = this.iterator; | 1800 let it = this.iterator; |
| 1801 while (it.moveNext()) { | 1801 while (it.moveNext()) { |
| 1802 dart.notNull(count)++; | 1802 count = dart.notNull(count) + 1; |
| 1803 } | 1803 } |
| 1804 return count; | 1804 return count; |
| 1805 } | 1805 } |
| 1806 get isEmpty() { | 1806 get isEmpty() { |
| 1807 return !dart.notNull(this.iterator.moveNext()); | 1807 return !dart.notNull(this.iterator.moveNext()); |
| 1808 } | 1808 } |
| 1809 get isNotEmpty() { | 1809 get isNotEmpty() { |
| 1810 return !dart.notNull(this.isEmpty); | 1810 return !dart.notNull(this.isEmpty); |
| 1811 } | 1811 } |
| 1812 take(n) { | 1812 take(n) { |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1891 throw _internal.IterableElementError.noElement(); | 1891 throw _internal.IterableElementError.noElement(); |
| 1892 } | 1892 } |
| 1893 elementAt(index) { | 1893 elementAt(index) { |
| 1894 if (!(typeof index == number)) | 1894 if (!(typeof index == number)) |
| 1895 throw new core.ArgumentError.notNull("index"); | 1895 throw new core.ArgumentError.notNull("index"); |
| 1896 core.RangeError.checkNotNegative(index, "index"); | 1896 core.RangeError.checkNotNegative(index, "index"); |
| 1897 let elementIndex = 0; | 1897 let elementIndex = 0; |
| 1898 for (let element of this) { | 1898 for (let element of this) { |
| 1899 if (index === elementIndex) | 1899 if (index === elementIndex) |
| 1900 return element; | 1900 return element; |
| 1901 dart.notNull(elementIndex)++; | 1901 elementIndex = dart.notNull(elementIndex) + 1; |
| 1902 } | 1902 } |
| 1903 throw new core.RangeError.index(index, this, "index", null, elementIndex
); | 1903 throw new core.RangeError.index(index, this, "index", null, elementIndex
); |
| 1904 } | 1904 } |
| 1905 toString() { | 1905 toString() { |
| 1906 return IterableBase.iterableToShortString(this, '(', ')'); | 1906 return IterableBase.iterableToShortString(this, '(', ')'); |
| 1907 } | 1907 } |
| 1908 } | 1908 } |
| 1909 return IterableMixin; | 1909 return IterableMixin; |
| 1910 }); | 1910 }); |
| 1911 let IterableMixin = IterableMixin$(dynamic); | 1911 let IterableMixin = IterableMixin$(dynamic); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1991 return new core.List.from(this, {growable: growable}); | 1991 return new core.List.from(this, {growable: growable}); |
| 1992 } | 1992 } |
| 1993 toSet() { | 1993 toSet() { |
| 1994 return new core.Set.from(this); | 1994 return new core.Set.from(this); |
| 1995 } | 1995 } |
| 1996 get length() { | 1996 get length() { |
| 1997 dart.assert(!dart.is(this, _internal.EfficientLength)); | 1997 dart.assert(!dart.is(this, _internal.EfficientLength)); |
| 1998 let count = 0; | 1998 let count = 0; |
| 1999 let it = this.iterator; | 1999 let it = this.iterator; |
| 2000 while (it.moveNext()) { | 2000 while (it.moveNext()) { |
| 2001 dart.notNull(count)++; | 2001 count = dart.notNull(count) + 1; |
| 2002 } | 2002 } |
| 2003 return count; | 2003 return count; |
| 2004 } | 2004 } |
| 2005 get isEmpty() { | 2005 get isEmpty() { |
| 2006 return !dart.notNull(this.iterator.moveNext()); | 2006 return !dart.notNull(this.iterator.moveNext()); |
| 2007 } | 2007 } |
| 2008 get isNotEmpty() { | 2008 get isNotEmpty() { |
| 2009 return !dart.notNull(this.isEmpty); | 2009 return !dart.notNull(this.isEmpty); |
| 2010 } | 2010 } |
| 2011 take(n) { | 2011 take(n) { |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2090 throw _internal.IterableElementError.noElement(); | 2090 throw _internal.IterableElementError.noElement(); |
| 2091 } | 2091 } |
| 2092 elementAt(index) { | 2092 elementAt(index) { |
| 2093 if (!(typeof index == number)) | 2093 if (!(typeof index == number)) |
| 2094 throw new core.ArgumentError.notNull("index"); | 2094 throw new core.ArgumentError.notNull("index"); |
| 2095 core.RangeError.checkNotNegative(index, "index"); | 2095 core.RangeError.checkNotNegative(index, "index"); |
| 2096 let elementIndex = 0; | 2096 let elementIndex = 0; |
| 2097 for (let element of this) { | 2097 for (let element of this) { |
| 2098 if (index === elementIndex) | 2098 if (index === elementIndex) |
| 2099 return element; | 2099 return element; |
| 2100 dart.notNull(elementIndex)++; | 2100 elementIndex = dart.notNull(elementIndex) + 1; |
| 2101 } | 2101 } |
| 2102 throw new core.RangeError.index(index, this, "index", null, elementIndex
); | 2102 throw new core.RangeError.index(index, this, "index", null, elementIndex
); |
| 2103 } | 2103 } |
| 2104 toString() { | 2104 toString() { |
| 2105 return iterableToShortString(this, '(', ')'); | 2105 return iterableToShortString(this, '(', ')'); |
| 2106 } | 2106 } |
| 2107 static iterableToShortString(iterable, leftDelimiter, rightDelimiter) { | 2107 static iterableToShortString(iterable, leftDelimiter, rightDelimiter) { |
| 2108 if (leftDelimiter === void 0) | 2108 if (leftDelimiter === void 0) |
| 2109 leftDelimiter = '('; | 2109 leftDelimiter = '('; |
| 2110 if (rightDelimiter === void 0) | 2110 if (rightDelimiter === void 0) |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2142 try { | 2142 try { |
| 2143 buffer.writeAll(iterable, ", "); | 2143 buffer.writeAll(iterable, ", "); |
| 2144 } finally { | 2144 } finally { |
| 2145 dart.assert(core.identical(_toStringVisiting.last, iterable)); | 2145 dart.assert(core.identical(_toStringVisiting.last, iterable)); |
| 2146 _toStringVisiting.removeLast(); | 2146 _toStringVisiting.removeLast(); |
| 2147 } | 2147 } |
| 2148 buffer.write(rightDelimiter); | 2148 buffer.write(rightDelimiter); |
| 2149 return buffer.toString(); | 2149 return buffer.toString(); |
| 2150 } | 2150 } |
| 2151 static [_isToStringVisiting](o) { | 2151 static [_isToStringVisiting](o) { |
| 2152 for (let i = 0; dart.notNull(i) < dart.notNull(_toStringVisiting.length)
; dart.notNull(i)++) { | 2152 for (let i = 0; dart.notNull(i) < dart.notNull(_toStringVisiting.length)
; i = dart.notNull(i) + 1) { |
| 2153 if (core.identical(o, _toStringVisiting.get(i))) | 2153 if (core.identical(o, _toStringVisiting.get(i))) |
| 2154 return true; | 2154 return true; |
| 2155 } | 2155 } |
| 2156 return false; | 2156 return false; |
| 2157 } | 2157 } |
| 2158 static [_iterablePartsToStrings](iterable, parts) { | 2158 static [_iterablePartsToStrings](iterable, parts) { |
| 2159 let LENGTH_LIMIT = 80; | 2159 let LENGTH_LIMIT = 80; |
| 2160 let HEAD_COUNT = 3; | 2160 let HEAD_COUNT = 3; |
| 2161 let TAIL_COUNT = 2; | 2161 let TAIL_COUNT = 2; |
| 2162 let MAX_COUNT = 100; | 2162 let MAX_COUNT = 100; |
| 2163 let OVERHEAD = 2; | 2163 let OVERHEAD = 2; |
| 2164 let ELLIPSIS_SIZE = 3; | 2164 let ELLIPSIS_SIZE = 3; |
| 2165 let length = 0; | 2165 let length = 0; |
| 2166 let count = 0; | 2166 let count = 0; |
| 2167 let it = iterable.iterator; | 2167 let it = iterable.iterator; |
| 2168 while (dart.notNull(length) < dart.notNull(LENGTH_LIMIT) || dart.notNull
(count) < dart.notNull(HEAD_COUNT)) { | 2168 while (dart.notNull(length) < dart.notNull(LENGTH_LIMIT) || dart.notNull
(count) < dart.notNull(HEAD_COUNT)) { |
| 2169 if (!dart.notNull(it.moveNext())) | 2169 if (!dart.notNull(it.moveNext())) |
| 2170 return; | 2170 return; |
| 2171 let next = `${it.current}`; | 2171 let next = `${it.current}`; |
| 2172 parts.add(next); | 2172 parts.add(next); |
| 2173 length = dart.notNull(next.length) + dart.notNull(OVERHEAD); | 2173 length = dart.notNull(next.length) + dart.notNull(OVERHEAD); |
| 2174 dart.notNull(count)++; | 2174 count = dart.notNull(count) + 1; |
| 2175 } | 2175 } |
| 2176 let penultimateString = null; | 2176 let penultimateString = null; |
| 2177 let ultimateString = null; | 2177 let ultimateString = null; |
| 2178 let penultimate = null; | 2178 let penultimate = null; |
| 2179 let ultimate = null; | 2179 let ultimate = null; |
| 2180 if (!dart.notNull(it.moveNext())) { | 2180 if (!dart.notNull(it.moveNext())) { |
| 2181 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + dart.notNull(TAI
L_COUNT)) | 2181 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + dart.notNull(TAI
L_COUNT)) |
| 2182 return; | 2182 return; |
| 2183 ultimateString = dart.as(parts.removeLast(), core.String); | 2183 ultimateString = dart.as(parts.removeLast(), core.String); |
| 2184 penultimateString = dart.as(parts.removeLast(), core.String); | 2184 penultimateString = dart.as(parts.removeLast(), core.String); |
| 2185 } else { | 2185 } else { |
| 2186 penultimate = it.current; | 2186 penultimate = it.current; |
| 2187 dart.notNull(count)++; | 2187 count = dart.notNull(count) + 1; |
| 2188 if (!dart.notNull(it.moveNext())) { | 2188 if (!dart.notNull(it.moveNext())) { |
| 2189 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + 1) { | 2189 if (dart.notNull(count) <= dart.notNull(HEAD_COUNT) + 1) { |
| 2190 parts.add(`${penultimate}`); | 2190 parts.add(`${penultimate}`); |
| 2191 return; | 2191 return; |
| 2192 } | 2192 } |
| 2193 ultimateString = `${penultimate}`; | 2193 ultimateString = `${penultimate}`; |
| 2194 penultimateString = dart.as(parts.removeLast(), core.String); | 2194 penultimateString = dart.as(parts.removeLast(), core.String); |
| 2195 length = dart.notNull(ultimateString.length) + dart.notNull(OVERHEAD
); | 2195 length = dart.notNull(ultimateString.length) + dart.notNull(OVERHEAD
); |
| 2196 } else { | 2196 } else { |
| 2197 ultimate = it.current; | 2197 ultimate = it.current; |
| 2198 dart.notNull(count)++; | 2198 count = dart.notNull(count) + 1; |
| 2199 dart.assert(dart.notNull(count) < dart.notNull(MAX_COUNT)); | 2199 dart.assert(dart.notNull(count) < dart.notNull(MAX_COUNT)); |
| 2200 while (it.moveNext()) { | 2200 while (it.moveNext()) { |
| 2201 penultimate = ultimate; | 2201 penultimate = ultimate; |
| 2202 ultimate = it.current; | 2202 ultimate = it.current; |
| 2203 dart.notNull(count)++; | 2203 count = dart.notNull(count) + 1; |
| 2204 if (dart.notNull(count) > dart.notNull(MAX_COUNT)) { | 2204 if (dart.notNull(count) > dart.notNull(MAX_COUNT)) { |
| 2205 while (dart.notNull(length) > dart.notNull(LENGTH_LIMIT) - dart.
notNull(ELLIPSIS_SIZE) - dart.notNull(OVERHEAD) && dart.notNull(count) > dart.no
tNull(HEAD_COUNT)) { | 2205 while (dart.notNull(length) > dart.notNull(LENGTH_LIMIT) - dart.
notNull(ELLIPSIS_SIZE) - dart.notNull(OVERHEAD) && dart.notNull(count) > dart.no
tNull(HEAD_COUNT)) { |
| 2206 length = dart.as(dart.dbinary(dart.dload(parts.removeLast(), '
length'), '+', OVERHEAD), core.int); | 2206 length = dart.as(dart.dbinary(dart.dload(parts.removeLast(), '
length'), '+', OVERHEAD), core.int); |
| 2207 dart.notNull(count)--; | 2207 count = dart.notNull(count) - 1; |
| 2208 } | 2208 } |
| 2209 parts.add("..."); | 2209 parts.add("..."); |
| 2210 return; | 2210 return; |
| 2211 } | 2211 } |
| 2212 } | 2212 } |
| 2213 penultimateString = `${penultimate}`; | 2213 penultimateString = `${penultimate}`; |
| 2214 ultimateString = `${ultimate}`; | 2214 ultimateString = `${ultimate}`; |
| 2215 length = dart.notNull(ultimateString.length) + dart.notNull(penultim
ateString.length) + 2 * dart.notNull(OVERHEAD); | 2215 length = dart.notNull(ultimateString.length) + dart.notNull(penultim
ateString.length) + 2 * dart.notNull(OVERHEAD); |
| 2216 } | 2216 } |
| 2217 } | 2217 } |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2421 this[_unlink](entry); | 2421 this[_unlink](entry); |
| 2422 return true; | 2422 return true; |
| 2423 } | 2423 } |
| 2424 get iterator() { | 2424 get iterator() { |
| 2425 return new _LinkedListIterator(this); | 2425 return new _LinkedListIterator(this); |
| 2426 } | 2426 } |
| 2427 get length() { | 2427 get length() { |
| 2428 return this[_length]; | 2428 return this[_length]; |
| 2429 } | 2429 } |
| 2430 clear() { | 2430 clear() { |
| 2431 dart.notNull(this[_modificationCount])++; | 2431 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 2432 let next = this[_next]; | 2432 let next = this[_next]; |
| 2433 while (!dart.notNull(core.identical(next, this))) { | 2433 while (!dart.notNull(core.identical(next, this))) { |
| 2434 let entry = dart.as(next, E); | 2434 let entry = dart.as(next, E); |
| 2435 next = entry[_next]; | 2435 next = entry[_next]; |
| 2436 entry[_next] = entry[_previous] = entry[_list] = null; | 2436 entry[_next] = entry[_previous] = entry[_list] = null; |
| 2437 } | 2437 } |
| 2438 this[_next] = this[_previous] = this; | 2438 this[_next] = this[_previous] = this; |
| 2439 this[_length] = 0; | 2439 this[_length] = 0; |
| 2440 } | 2440 } |
| 2441 get first() { | 2441 get first() { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 2470 current = current[_next]; | 2470 current = current[_next]; |
| 2471 } | 2471 } |
| 2472 } | 2472 } |
| 2473 get isEmpty() { | 2473 get isEmpty() { |
| 2474 return this[_length] === 0; | 2474 return this[_length] === 0; |
| 2475 } | 2475 } |
| 2476 [_insertAfter](entry, newEntry) { | 2476 [_insertAfter](entry, newEntry) { |
| 2477 if (newEntry.list !== null) { | 2477 if (newEntry.list !== null) { |
| 2478 throw new core.StateError('LinkedListEntry is already in a LinkedList'
); | 2478 throw new core.StateError('LinkedListEntry is already in a LinkedList'
); |
| 2479 } | 2479 } |
| 2480 dart.notNull(this[_modificationCount])++; | 2480 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 2481 newEntry[_list] = this; | 2481 newEntry[_list] = this; |
| 2482 let predecessor = entry; | 2482 let predecessor = entry; |
| 2483 let successor = entry[_next]; | 2483 let successor = entry[_next]; |
| 2484 successor[_previous] = newEntry; | 2484 successor[_previous] = newEntry; |
| 2485 newEntry[_previous] = predecessor; | 2485 newEntry[_previous] = predecessor; |
| 2486 newEntry[_next] = successor; | 2486 newEntry[_next] = successor; |
| 2487 predecessor[_next] = newEntry; | 2487 predecessor[_next] = newEntry; |
| 2488 dart.notNull(this[_length])++; | 2488 this[_length] = dart.notNull(this[_length]) + 1; |
| 2489 } | 2489 } |
| 2490 [_unlink](entry) { | 2490 [_unlink](entry) { |
| 2491 dart.notNull(this[_modificationCount])++; | 2491 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 2492 entry[_next][_previous] = entry[_previous]; | 2492 entry[_next][_previous] = entry[_previous]; |
| 2493 entry[_previous][_next] = entry[_next]; | 2493 entry[_previous][_next] = entry[_next]; |
| 2494 dart.notNull(this[_length])--; | 2494 this[_length] = dart.notNull(this[_length]) - 1; |
| 2495 entry[_list] = entry[_next] = entry[_previous] = null; | 2495 entry[_list] = entry[_next] = entry[_previous] = null; |
| 2496 } | 2496 } |
| 2497 } | 2497 } |
| 2498 return LinkedList; | 2498 return LinkedList; |
| 2499 }); | 2499 }); |
| 2500 let LinkedList = LinkedList$(dynamic); | 2500 let LinkedList = LinkedList$(dynamic); |
| 2501 let _LinkedListIterator$ = dart.generic(function(E) { | 2501 let _LinkedListIterator$ = dart.generic(function(E) { |
| 2502 class _LinkedListIterator extends dart.Object { | 2502 class _LinkedListIterator extends dart.Object { |
| 2503 _LinkedListIterator(list) { | 2503 _LinkedListIterator(list) { |
| 2504 this[_list] = list; | 2504 this[_list] = list; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2578 let ListMixin$ = dart.generic(function(E) { | 2578 let ListMixin$ = dart.generic(function(E) { |
| 2579 class ListMixin extends dart.Object { | 2579 class ListMixin extends dart.Object { |
| 2580 get iterator() { | 2580 get iterator() { |
| 2581 return new _internal.ListIterator(this); | 2581 return new _internal.ListIterator(this); |
| 2582 } | 2582 } |
| 2583 elementAt(index) { | 2583 elementAt(index) { |
| 2584 return this.get(index); | 2584 return this.get(index); |
| 2585 } | 2585 } |
| 2586 forEach(action) { | 2586 forEach(action) { |
| 2587 let length = this.length; | 2587 let length = this.length; |
| 2588 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2588 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2589 action(this.get(i)); | 2589 action(this.get(i)); |
| 2590 if (length !== this.length) { | 2590 if (length !== this.length) { |
| 2591 throw new core.ConcurrentModificationError(this); | 2591 throw new core.ConcurrentModificationError(this); |
| 2592 } | 2592 } |
| 2593 } | 2593 } |
| 2594 } | 2594 } |
| 2595 get isEmpty() { | 2595 get isEmpty() { |
| 2596 return this.length === 0; | 2596 return this.length === 0; |
| 2597 } | 2597 } |
| 2598 get isNotEmpty() { | 2598 get isNotEmpty() { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 2610 } | 2610 } |
| 2611 get single() { | 2611 get single() { |
| 2612 if (this.length === 0) | 2612 if (this.length === 0) |
| 2613 throw _internal.IterableElementError.noElement(); | 2613 throw _internal.IterableElementError.noElement(); |
| 2614 if (dart.notNull(this.length) > 1) | 2614 if (dart.notNull(this.length) > 1) |
| 2615 throw _internal.IterableElementError.tooMany(); | 2615 throw _internal.IterableElementError.tooMany(); |
| 2616 return this.get(0); | 2616 return this.get(0); |
| 2617 } | 2617 } |
| 2618 contains(element) { | 2618 contains(element) { |
| 2619 let length = this.length; | 2619 let length = this.length; |
| 2620 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); dart.notNul
l(i)++) { | 2620 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
| 2621 if (dart.equals(this.get(i), element)) | 2621 if (dart.equals(this.get(i), element)) |
| 2622 return true; | 2622 return true; |
| 2623 if (length !== this.length) { | 2623 if (length !== this.length) { |
| 2624 throw new core.ConcurrentModificationError(this); | 2624 throw new core.ConcurrentModificationError(this); |
| 2625 } | 2625 } |
| 2626 } | 2626 } |
| 2627 return false; | 2627 return false; |
| 2628 } | 2628 } |
| 2629 every(test) { | 2629 every(test) { |
| 2630 let length = this.length; | 2630 let length = this.length; |
| 2631 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2631 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2632 if (!dart.notNull(test(this.get(i)))) | 2632 if (!dart.notNull(test(this.get(i)))) |
| 2633 return false; | 2633 return false; |
| 2634 if (length !== this.length) { | 2634 if (length !== this.length) { |
| 2635 throw new core.ConcurrentModificationError(this); | 2635 throw new core.ConcurrentModificationError(this); |
| 2636 } | 2636 } |
| 2637 } | 2637 } |
| 2638 return true; | 2638 return true; |
| 2639 } | 2639 } |
| 2640 any(test) { | 2640 any(test) { |
| 2641 let length = this.length; | 2641 let length = this.length; |
| 2642 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2642 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2643 if (test(this.get(i))) | 2643 if (test(this.get(i))) |
| 2644 return true; | 2644 return true; |
| 2645 if (length !== this.length) { | 2645 if (length !== this.length) { |
| 2646 throw new core.ConcurrentModificationError(this); | 2646 throw new core.ConcurrentModificationError(this); |
| 2647 } | 2647 } |
| 2648 } | 2648 } |
| 2649 return false; | 2649 return false; |
| 2650 } | 2650 } |
| 2651 firstWhere(test, opt$) { | 2651 firstWhere(test, opt$) { |
| 2652 let orElse = opt$.orElse === void 0 ? null : opt$.orElse; | 2652 let orElse = opt$.orElse === void 0 ? null : opt$.orElse; |
| 2653 let length = this.length; | 2653 let length = this.length; |
| 2654 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2654 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2655 let element = this.get(i); | 2655 let element = this.get(i); |
| 2656 if (test(element)) | 2656 if (test(element)) |
| 2657 return element; | 2657 return element; |
| 2658 if (length !== this.length) { | 2658 if (length !== this.length) { |
| 2659 throw new core.ConcurrentModificationError(this); | 2659 throw new core.ConcurrentModificationError(this); |
| 2660 } | 2660 } |
| 2661 } | 2661 } |
| 2662 if (orElse !== null) | 2662 if (orElse !== null) |
| 2663 return orElse(); | 2663 return orElse(); |
| 2664 throw _internal.IterableElementError.noElement(); | 2664 throw _internal.IterableElementError.noElement(); |
| 2665 } | 2665 } |
| 2666 lastWhere(test, opt$) { | 2666 lastWhere(test, opt$) { |
| 2667 let orElse = opt$.orElse === void 0 ? null : opt$.orElse; | 2667 let orElse = opt$.orElse === void 0 ? null : opt$.orElse; |
| 2668 let length = this.length; | 2668 let length = this.length; |
| 2669 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; dart.notNul
l(i)--) { | 2669 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no
tNull(i) - 1) { |
| 2670 let element = this.get(i); | 2670 let element = this.get(i); |
| 2671 if (test(element)) | 2671 if (test(element)) |
| 2672 return element; | 2672 return element; |
| 2673 if (length !== this.length) { | 2673 if (length !== this.length) { |
| 2674 throw new core.ConcurrentModificationError(this); | 2674 throw new core.ConcurrentModificationError(this); |
| 2675 } | 2675 } |
| 2676 } | 2676 } |
| 2677 if (orElse !== null) | 2677 if (orElse !== null) |
| 2678 return orElse(); | 2678 return orElse(); |
| 2679 throw _internal.IterableElementError.noElement(); | 2679 throw _internal.IterableElementError.noElement(); |
| 2680 } | 2680 } |
| 2681 singleWhere(test) { | 2681 singleWhere(test) { |
| 2682 let length = this.length; | 2682 let length = this.length; |
| 2683 let match = null; | 2683 let match = null; |
| 2684 let matchFound = false; | 2684 let matchFound = false; |
| 2685 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2685 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2686 let element = this.get(i); | 2686 let element = this.get(i); |
| 2687 if (test(element)) { | 2687 if (test(element)) { |
| 2688 if (matchFound) { | 2688 if (matchFound) { |
| 2689 throw _internal.IterableElementError.tooMany(); | 2689 throw _internal.IterableElementError.tooMany(); |
| 2690 } | 2690 } |
| 2691 matchFound = true; | 2691 matchFound = true; |
| 2692 match = element; | 2692 match = element; |
| 2693 } | 2693 } |
| 2694 if (length !== this.length) { | 2694 if (length !== this.length) { |
| 2695 throw new core.ConcurrentModificationError(this); | 2695 throw new core.ConcurrentModificationError(this); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2715 return new _internal.MappedListIterable(this, dart.as(f, dart.throw_("Un
implemented type (dynamic) → dynamic"))); | 2715 return new _internal.MappedListIterable(this, dart.as(f, dart.throw_("Un
implemented type (dynamic) → dynamic"))); |
| 2716 } | 2716 } |
| 2717 expand(f) { | 2717 expand(f) { |
| 2718 return new _internal.ExpandIterable(this, f); | 2718 return new _internal.ExpandIterable(this, f); |
| 2719 } | 2719 } |
| 2720 reduce(combine) { | 2720 reduce(combine) { |
| 2721 let length = this.length; | 2721 let length = this.length; |
| 2722 if (length === 0) | 2722 if (length === 0) |
| 2723 throw _internal.IterableElementError.noElement(); | 2723 throw _internal.IterableElementError.noElement(); |
| 2724 let value = this.get(0); | 2724 let value = this.get(0); |
| 2725 for (let i = 1; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2725 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2726 value = combine(value, this.get(i)); | 2726 value = combine(value, this.get(i)); |
| 2727 if (length !== this.length) { | 2727 if (length !== this.length) { |
| 2728 throw new core.ConcurrentModificationError(this); | 2728 throw new core.ConcurrentModificationError(this); |
| 2729 } | 2729 } |
| 2730 } | 2730 } |
| 2731 return value; | 2731 return value; |
| 2732 } | 2732 } |
| 2733 fold(initialValue, combine) { | 2733 fold(initialValue, combine) { |
| 2734 let value = initialValue; | 2734 let value = initialValue; |
| 2735 let length = this.length; | 2735 let length = this.length; |
| 2736 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2736 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2737 value = combine(value, this.get(i)); | 2737 value = combine(value, this.get(i)); |
| 2738 if (length !== this.length) { | 2738 if (length !== this.length) { |
| 2739 throw new core.ConcurrentModificationError(this); | 2739 throw new core.ConcurrentModificationError(this); |
| 2740 } | 2740 } |
| 2741 } | 2741 } |
| 2742 return value; | 2742 return value; |
| 2743 } | 2743 } |
| 2744 skip(count) { | 2744 skip(count) { |
| 2745 return new _internal.SubListIterable(this, count, null); | 2745 return new _internal.SubListIterable(this, count, null); |
| 2746 } | 2746 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2757 let growable = opt$.growable === void 0 ? true : opt$.growable; | 2757 let growable = opt$.growable === void 0 ? true : opt$.growable; |
| 2758 let result = null; | 2758 let result = null; |
| 2759 if (growable) { | 2759 if (growable) { |
| 2760 result = ((_) => { | 2760 result = ((_) => { |
| 2761 _.length = this.length; | 2761 _.length = this.length; |
| 2762 return _; | 2762 return _; |
| 2763 }).bind(this)(new core.List()); | 2763 }).bind(this)(new core.List()); |
| 2764 } else { | 2764 } else { |
| 2765 result = new core.List(this.length); | 2765 result = new core.List(this.length); |
| 2766 } | 2766 } |
| 2767 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); dart.notNul
l(i)++) { | 2767 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
| 2768 result.set(i, this.get(i)); | 2768 result.set(i, this.get(i)); |
| 2769 } | 2769 } |
| 2770 return result; | 2770 return result; |
| 2771 } | 2771 } |
| 2772 toSet() { | 2772 toSet() { |
| 2773 let result = new core.Set(); | 2773 let result = new core.Set(); |
| 2774 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); dart.notNul
l(i)++) { | 2774 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
| 2775 result.add(this.get(i)); | 2775 result.add(this.get(i)); |
| 2776 } | 2776 } |
| 2777 return result; | 2777 return result; |
| 2778 } | 2778 } |
| 2779 add(element) { | 2779 add(element) { |
| 2780 this.set(dart.notNull(this.length)++, element); | 2780 this.set((($tmp) => this.length = dart.notNull($tmp) + 1, $tmp).bind(thi
s)(this.length), element); |
| 2781 } | 2781 } |
| 2782 addAll(iterable) { | 2782 addAll(iterable) { |
| 2783 for (let element of iterable) { | 2783 for (let element of iterable) { |
| 2784 this.set(dart.notNull(this.length)++, element); | 2784 this.set((($tmp) => this.length = dart.notNull($tmp) + 1, $tmp).bind(t
his)(this.length), element); |
| 2785 } | 2785 } |
| 2786 } | 2786 } |
| 2787 remove(element) { | 2787 remove(element) { |
| 2788 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); dart.notNul
l(i)++) { | 2788 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { |
| 2789 if (dart.equals(this.get(i), element)) { | 2789 if (dart.equals(this.get(i), element)) { |
| 2790 this.setRange(i, dart.notNull(this.length) - 1, this, dart.notNull(i
) + 1); | 2790 this.setRange(i, dart.notNull(this.length) - 1, this, dart.notNull(i
) + 1); |
| 2791 this.length = 1; | 2791 this.length = 1; |
| 2792 return true; | 2792 return true; |
| 2793 } | 2793 } |
| 2794 } | 2794 } |
| 2795 return false; | 2795 return false; |
| 2796 } | 2796 } |
| 2797 removeWhere(test) { | 2797 removeWhere(test) { |
| 2798 _filter(this, dart.as(test, dart.throw_("Unimplemented type (dynamic) →
bool")), false); | 2798 _filter(this, dart.as(test, dart.throw_("Unimplemented type (dynamic) →
bool")), false); |
| 2799 } | 2799 } |
| 2800 retainWhere(test) { | 2800 retainWhere(test) { |
| 2801 _filter(this, dart.as(test, dart.throw_("Unimplemented type (dynamic) →
bool")), true); | 2801 _filter(this, dart.as(test, dart.throw_("Unimplemented type (dynamic) →
bool")), true); |
| 2802 } | 2802 } |
| 2803 static [_filter](source, test, retainMatching) { | 2803 static [_filter](source, test, retainMatching) { |
| 2804 let retained = new List.from([]); | 2804 let retained = new List.from([]); |
| 2805 let length = source.length; | 2805 let length = source.length; |
| 2806 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2806 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2807 let element = source.get(i); | 2807 let element = source.get(i); |
| 2808 if (test(element) === retainMatching) { | 2808 if (test(element) === retainMatching) { |
| 2809 retained.add(element); | 2809 retained.add(element); |
| 2810 } | 2810 } |
| 2811 if (length !== source.length) { | 2811 if (length !== source.length) { |
| 2812 throw new core.ConcurrentModificationError(source); | 2812 throw new core.ConcurrentModificationError(source); |
| 2813 } | 2813 } |
| 2814 } | 2814 } |
| 2815 if (retained.length !== source.length) { | 2815 if (retained.length !== source.length) { |
| 2816 source.setRange(0, retained.length, retained); | 2816 source.setRange(0, retained.length, retained); |
| 2817 source.length = retained.length; | 2817 source.length = retained.length; |
| 2818 } | 2818 } |
| 2819 } | 2819 } |
| 2820 clear() { | 2820 clear() { |
| 2821 this.length = 0; | 2821 this.length = 0; |
| 2822 } | 2822 } |
| 2823 removeLast() { | 2823 removeLast() { |
| 2824 if (this.length === 0) { | 2824 if (this.length === 0) { |
| 2825 throw _internal.IterableElementError.noElement(); | 2825 throw _internal.IterableElementError.noElement(); |
| 2826 } | 2826 } |
| 2827 let result = this.get(dart.notNull(this.length) - 1); | 2827 let result = this.get(dart.notNull(this.length) - 1); |
| 2828 dart.notNull(this.length)--; | 2828 this.length = dart.notNull(this.length) - 1; |
| 2829 return result; | 2829 return result; |
| 2830 } | 2830 } |
| 2831 sort(compare) { | 2831 sort(compare) { |
| 2832 if (compare === void 0) | 2832 if (compare === void 0) |
| 2833 compare = null; | 2833 compare = null; |
| 2834 if (compare === null) { | 2834 if (compare === null) { |
| 2835 let defaultCompare = core.Comparable.compare; | 2835 let defaultCompare = core.Comparable.compare; |
| 2836 compare = defaultCompare; | 2836 compare = defaultCompare; |
| 2837 } | 2837 } |
| 2838 _internal.Sort.sort(this, dart.as(compare, dart.throw_("Unimplemented ty
pe (dynamic, dynamic) → int"))); | 2838 _internal.Sort.sort(this, dart.as(compare, dart.throw_("Unimplemented ty
pe (dynamic, dynamic) → int"))); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2857 sublist(start, end) { | 2857 sublist(start, end) { |
| 2858 if (end === void 0) | 2858 if (end === void 0) |
| 2859 end = null; | 2859 end = null; |
| 2860 let listLength = this.length; | 2860 let listLength = this.length; |
| 2861 if (end === null) | 2861 if (end === null) |
| 2862 end = listLength; | 2862 end = listLength; |
| 2863 core.RangeError.checkValidRange(start, end, listLength); | 2863 core.RangeError.checkValidRange(start, end, listLength); |
| 2864 let length = dart.notNull(end) - dart.notNull(start); | 2864 let length = dart.notNull(end) - dart.notNull(start); |
| 2865 let result = new core.List(); | 2865 let result = new core.List(); |
| 2866 result.length = length; | 2866 result.length = length; |
| 2867 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+
+) { | 2867 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { |
| 2868 result.set(i, this.get(dart.notNull(start) + dart.notNull(i))); | 2868 result.set(i, this.get(dart.notNull(start) + dart.notNull(i))); |
| 2869 } | 2869 } |
| 2870 return result; | 2870 return result; |
| 2871 } | 2871 } |
| 2872 getRange(start, end) { | 2872 getRange(start, end) { |
| 2873 core.RangeError.checkValidRange(start, end, this.length); | 2873 core.RangeError.checkValidRange(start, end, this.length); |
| 2874 return new _internal.SubListIterable(this, start, end); | 2874 return new _internal.SubListIterable(this, start, end); |
| 2875 } | 2875 } |
| 2876 removeRange(start, end) { | 2876 removeRange(start, end) { |
| 2877 core.RangeError.checkValidRange(start, end, this.length); | 2877 core.RangeError.checkValidRange(start, end, this.length); |
| 2878 let length = dart.notNull(end) - dart.notNull(start); | 2878 let length = dart.notNull(end) - dart.notNull(start); |
| 2879 this.setRange(start, dart.notNull(this.length) - dart.notNull(length), t
his, end); | 2879 this.setRange(start, dart.notNull(this.length) - dart.notNull(length), t
his, end); |
| 2880 this.length = length; | 2880 this.length = length; |
| 2881 } | 2881 } |
| 2882 fillRange(start, end, fill) { | 2882 fillRange(start, end, fill) { |
| 2883 if (fill === void 0) | 2883 if (fill === void 0) |
| 2884 fill = null; | 2884 fill = null; |
| 2885 core.RangeError.checkValidRange(start, end, this.length); | 2885 core.RangeError.checkValidRange(start, end, this.length); |
| 2886 for (let i = start; dart.notNull(i) < dart.notNull(end); dart.notNull(i)
++) { | 2886 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { |
| 2887 this.set(i, fill); | 2887 this.set(i, fill); |
| 2888 } | 2888 } |
| 2889 } | 2889 } |
| 2890 setRange(start, end, iterable, skipCount) { | 2890 setRange(start, end, iterable, skipCount) { |
| 2891 if (skipCount === void 0) | 2891 if (skipCount === void 0) |
| 2892 skipCount = 0; | 2892 skipCount = 0; |
| 2893 core.RangeError.checkValidRange(start, end, this.length); | 2893 core.RangeError.checkValidRange(start, end, this.length); |
| 2894 let length = dart.notNull(end) - dart.notNull(start); | 2894 let length = dart.notNull(end) - dart.notNull(start); |
| 2895 if (length === 0) | 2895 if (length === 0) |
| 2896 return; | 2896 return; |
| 2897 core.RangeError.checkNotNegative(skipCount, "skipCount"); | 2897 core.RangeError.checkNotNegative(skipCount, "skipCount"); |
| 2898 let otherList = null; | 2898 let otherList = null; |
| 2899 let otherStart = null; | 2899 let otherStart = null; |
| 2900 if (dart.is(iterable, core.List)) { | 2900 if (dart.is(iterable, core.List)) { |
| 2901 otherList = dart.as(iterable, core.List); | 2901 otherList = dart.as(iterable, core.List); |
| 2902 otherStart = skipCount; | 2902 otherStart = skipCount; |
| 2903 } else { | 2903 } else { |
| 2904 otherList = iterable.skip(skipCount).toList({growable: false}); | 2904 otherList = iterable.skip(skipCount).toList({growable: false}); |
| 2905 otherStart = 0; | 2905 otherStart = 0; |
| 2906 } | 2906 } |
| 2907 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List.length)) { | 2907 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List.length)) { |
| 2908 throw _internal.IterableElementError.tooFew(); | 2908 throw _internal.IterableElementError.tooFew(); |
| 2909 } | 2909 } |
| 2910 if (dart.notNull(otherStart) < dart.notNull(start)) { | 2910 if (dart.notNull(otherStart) < dart.notNull(start)) { |
| 2911 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; dart.notN
ull(i)--) { | 2911 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.
notNull(i) - 1) { |
| 2912 this.set(dart.notNull(start) + dart.notNull(i), dart.as(otherList.ge
t(dart.notNull(otherStart) + dart.notNull(i)), E)); | 2912 this.set(dart.notNull(start) + dart.notNull(i), dart.as(otherList.ge
t(dart.notNull(otherStart) + dart.notNull(i)), E)); |
| 2913 } | 2913 } |
| 2914 } else { | 2914 } else { |
| 2915 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i
)++) { | 2915 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { |
| 2916 this.set(dart.notNull(start) + dart.notNull(i), dart.as(otherList.ge
t(dart.notNull(otherStart) + dart.notNull(i)), E)); | 2916 this.set(dart.notNull(start) + dart.notNull(i), dart.as(otherList.ge
t(dart.notNull(otherStart) + dart.notNull(i)), E)); |
| 2917 } | 2917 } |
| 2918 } | 2918 } |
| 2919 } | 2919 } |
| 2920 replaceRange(start, end, newContents) { | 2920 replaceRange(start, end, newContents) { |
| 2921 core.RangeError.checkValidRange(start, end, this.length); | 2921 core.RangeError.checkValidRange(start, end, this.length); |
| 2922 if (!dart.is(newContents, _internal.EfficientLength)) { | 2922 if (!dart.is(newContents, _internal.EfficientLength)) { |
| 2923 newContents = newContents.toList(); | 2923 newContents = newContents.toList(); |
| 2924 } | 2924 } |
| 2925 let removeLength = dart.notNull(end) - dart.notNull(start); | 2925 let removeLength = dart.notNull(end) - dart.notNull(start); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2944 } | 2944 } |
| 2945 indexOf(element, startIndex) { | 2945 indexOf(element, startIndex) { |
| 2946 if (startIndex === void 0) | 2946 if (startIndex === void 0) |
| 2947 startIndex = 0; | 2947 startIndex = 0; |
| 2948 if (dart.notNull(startIndex) >= dart.notNull(this.length)) { | 2948 if (dart.notNull(startIndex) >= dart.notNull(this.length)) { |
| 2949 return -1; | 2949 return -1; |
| 2950 } | 2950 } |
| 2951 if (dart.notNull(startIndex) < 0) { | 2951 if (dart.notNull(startIndex) < 0) { |
| 2952 startIndex = 0; | 2952 startIndex = 0; |
| 2953 } | 2953 } |
| 2954 for (let i = startIndex; dart.notNull(i) < dart.notNull(this.length); da
rt.notNull(i)++) { | 2954 for (let i = startIndex; dart.notNull(i) < dart.notNull(this.length); i
= dart.notNull(i) + 1) { |
| 2955 if (dart.equals(this.get(i), element)) { | 2955 if (dart.equals(this.get(i), element)) { |
| 2956 return i; | 2956 return i; |
| 2957 } | 2957 } |
| 2958 } | 2958 } |
| 2959 return -1; | 2959 return -1; |
| 2960 } | 2960 } |
| 2961 lastIndexOf(element, startIndex) { | 2961 lastIndexOf(element, startIndex) { |
| 2962 if (startIndex === void 0) | 2962 if (startIndex === void 0) |
| 2963 startIndex = null; | 2963 startIndex = null; |
| 2964 if (startIndex === null) { | 2964 if (startIndex === null) { |
| 2965 startIndex = dart.notNull(this.length) - 1; | 2965 startIndex = dart.notNull(this.length) - 1; |
| 2966 } else { | 2966 } else { |
| 2967 if (dart.notNull(startIndex) < 0) { | 2967 if (dart.notNull(startIndex) < 0) { |
| 2968 return -1; | 2968 return -1; |
| 2969 } | 2969 } |
| 2970 if (dart.notNull(startIndex) >= dart.notNull(this.length)) { | 2970 if (dart.notNull(startIndex) >= dart.notNull(this.length)) { |
| 2971 startIndex = dart.notNull(this.length) - 1; | 2971 startIndex = dart.notNull(this.length) - 1; |
| 2972 } | 2972 } |
| 2973 } | 2973 } |
| 2974 for (let i = startIndex; dart.notNull(i) >= 0; dart.notNull(i)--) { | 2974 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1)
{ |
| 2975 if (dart.equals(this.get(i), element)) { | 2975 if (dart.equals(this.get(i), element)) { |
| 2976 return i; | 2976 return i; |
| 2977 } | 2977 } |
| 2978 } | 2978 } |
| 2979 return -1; | 2979 return -1; |
| 2980 } | 2980 } |
| 2981 insert(index, element) { | 2981 insert(index, element) { |
| 2982 core.RangeError.checkValueInInterval(index, 0, this.length, "index"); | 2982 core.RangeError.checkValueInInterval(index, 0, this.length, "index"); |
| 2983 if (index === this.length) { | 2983 if (index === this.length) { |
| 2984 this.add(element); | 2984 this.add(element); |
| 2985 return; | 2985 return; |
| 2986 } | 2986 } |
| 2987 if (!(typeof index == number)) | 2987 if (!(typeof index == number)) |
| 2988 throw new core.ArgumentError(index); | 2988 throw new core.ArgumentError(index); |
| 2989 dart.notNull(this.length)++; | 2989 this.length = dart.notNull(this.length) + 1; |
| 2990 this.setRange(dart.notNull(index) + 1, this.length, this, index); | 2990 this.setRange(dart.notNull(index) + 1, this.length, this, index); |
| 2991 this.set(index, element); | 2991 this.set(index, element); |
| 2992 } | 2992 } |
| 2993 removeAt(index) { | 2993 removeAt(index) { |
| 2994 let result = this.get(index); | 2994 let result = this.get(index); |
| 2995 this.setRange(index, dart.notNull(this.length) - 1, this, dart.notNull(i
ndex) + 1); | 2995 this.setRange(index, dart.notNull(this.length) - 1, this, dart.notNull(i
ndex) + 1); |
| 2996 dart.notNull(this.length)--; | 2996 this.length = dart.notNull(this.length) - 1; |
| 2997 return result; | 2997 return result; |
| 2998 } | 2998 } |
| 2999 insertAll(index, iterable) { | 2999 insertAll(index, iterable) { |
| 3000 core.RangeError.checkValueInInterval(index, 0, this.length, "index"); | 3000 core.RangeError.checkValueInInterval(index, 0, this.length, "index"); |
| 3001 if (dart.is(iterable, _internal.EfficientLength)) { | 3001 if (dart.is(iterable, _internal.EfficientLength)) { |
| 3002 iterable = iterable.toList(); | 3002 iterable = iterable.toList(); |
| 3003 } | 3003 } |
| 3004 let insertionLength = iterable.length; | 3004 let insertionLength = iterable.length; |
| 3005 this.length = insertionLength; | 3005 this.length = insertionLength; |
| 3006 this.setRange(dart.notNull(index) + dart.notNull(insertionLength), this.
length, this, index); | 3006 this.setRange(dart.notNull(index) + dart.notNull(insertionLength), this.
length, this, index); |
| 3007 this.setAll(index, iterable); | 3007 this.setAll(index, iterable); |
| 3008 } | 3008 } |
| 3009 setAll(index, iterable) { | 3009 setAll(index, iterable) { |
| 3010 if (dart.is(iterable, core.List)) { | 3010 if (dart.is(iterable, core.List)) { |
| 3011 this.setRange(index, dart.notNull(index) + dart.notNull(iterable.lengt
h), iterable); | 3011 this.setRange(index, dart.notNull(index) + dart.notNull(iterable.lengt
h), iterable); |
| 3012 } else { | 3012 } else { |
| 3013 for (let element of iterable) { | 3013 for (let element of iterable) { |
| 3014 this.set(dart.notNull(index)++, element); | 3014 this.set((($tmp) => index = dart.notNull($tmp) + 1, $tmp)(index), el
ement); |
| 3015 } | 3015 } |
| 3016 } | 3016 } |
| 3017 } | 3017 } |
| 3018 get reversed() { | 3018 get reversed() { |
| 3019 return new _internal.ReversedListIterable(this); | 3019 return new _internal.ReversedListIterable(this); |
| 3020 } | 3020 } |
| 3021 toString() { | 3021 toString() { |
| 3022 return IterableBase.iterableToFullString(this, '[', ']'); | 3022 return IterableBase.iterableToFullString(this, '[', ']'); |
| 3023 } | 3023 } |
| 3024 } | 3024 } |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3418 for (let e of elements) { | 3418 for (let e of elements) { |
| 3419 list.addLast(e); | 3419 list.addLast(e); |
| 3420 } | 3420 } |
| 3421 return dart.as(list, DoubleLinkedQueue$(E)); | 3421 return dart.as(list, DoubleLinkedQueue$(E)); |
| 3422 } | 3422 } |
| 3423 get length() { | 3423 get length() { |
| 3424 return this[_elementCount]; | 3424 return this[_elementCount]; |
| 3425 } | 3425 } |
| 3426 addLast(value) { | 3426 addLast(value) { |
| 3427 this[_sentinel].prepend(value); | 3427 this[_sentinel].prepend(value); |
| 3428 dart.notNull(this[_elementCount])++; | 3428 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
| 3429 } | 3429 } |
| 3430 addFirst(value) { | 3430 addFirst(value) { |
| 3431 this[_sentinel].append(value); | 3431 this[_sentinel].append(value); |
| 3432 dart.notNull(this[_elementCount])++; | 3432 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
| 3433 } | 3433 } |
| 3434 add(value) { | 3434 add(value) { |
| 3435 this[_sentinel].prepend(value); | 3435 this[_sentinel].prepend(value); |
| 3436 dart.notNull(this[_elementCount])++; | 3436 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
| 3437 } | 3437 } |
| 3438 addAll(iterable) { | 3438 addAll(iterable) { |
| 3439 for (let value of iterable) { | 3439 for (let value of iterable) { |
| 3440 this[_sentinel].prepend(value); | 3440 this[_sentinel].prepend(value); |
| 3441 dart.notNull(this[_elementCount])++; | 3441 this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
| 3442 } | 3442 } |
| 3443 } | 3443 } |
| 3444 removeLast() { | 3444 removeLast() { |
| 3445 let result = this[_sentinel][_previous].remove(); | 3445 let result = this[_sentinel][_previous].remove(); |
| 3446 dart.notNull(this[_elementCount])--; | 3446 this[_elementCount] = dart.notNull(this[_elementCount]) - 1; |
| 3447 return result; | 3447 return result; |
| 3448 } | 3448 } |
| 3449 removeFirst() { | 3449 removeFirst() { |
| 3450 let result = this[_sentinel][_next].remove(); | 3450 let result = this[_sentinel][_next].remove(); |
| 3451 dart.notNull(this[_elementCount])--; | 3451 this[_elementCount] = dart.notNull(this[_elementCount]) - 1; |
| 3452 return result; | 3452 return result; |
| 3453 } | 3453 } |
| 3454 remove(o) { | 3454 remove(o) { |
| 3455 let entry = this[_sentinel][_next]; | 3455 let entry = this[_sentinel][_next]; |
| 3456 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { | 3456 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { |
| 3457 if (dart.equals(entry.element, o)) { | 3457 if (dart.equals(entry.element, o)) { |
| 3458 entry.remove(); | 3458 entry.remove(); |
| 3459 dart.notNull(this[_elementCount])--; | 3459 this[_elementCount] = dart.notNull(this[_elementCount]) - 1; |
| 3460 return true; | 3460 return true; |
| 3461 } | 3461 } |
| 3462 entry = entry[_next]; | 3462 entry = entry[_next]; |
| 3463 } | 3463 } |
| 3464 return false; | 3464 return false; |
| 3465 } | 3465 } |
| 3466 [_filter](test, removeMatching) { | 3466 [_filter](test, removeMatching) { |
| 3467 let entry = this[_sentinel][_next]; | 3467 let entry = this[_sentinel][_next]; |
| 3468 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { | 3468 while (!dart.notNull(core.identical(entry, this[_sentinel]))) { |
| 3469 let next = entry[_next]; | 3469 let next = entry[_next]; |
| 3470 if (core.identical(removeMatching, test(entry.element))) { | 3470 if (core.identical(removeMatching, test(entry.element))) { |
| 3471 entry.remove(); | 3471 entry.remove(); |
| 3472 dart.notNull(this[_elementCount])--; | 3472 this[_elementCount] = dart.notNull(this[_elementCount]) - 1; |
| 3473 } | 3473 } |
| 3474 entry = next; | 3474 entry = next; |
| 3475 } | 3475 } |
| 3476 } | 3476 } |
| 3477 removeWhere(test) { | 3477 removeWhere(test) { |
| 3478 this[_filter](test, true); | 3478 this[_filter](test, true); |
| 3479 } | 3479 } |
| 3480 retainWhere(test) { | 3480 retainWhere(test) { |
| 3481 this[_filter](test, false); | 3481 this[_filter](test, false); |
| 3482 } | 3482 } |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3666 if (dart.notNull(addCount) < dart.notNull(endSpace)) { | 3666 if (dart.notNull(addCount) < dart.notNull(endSpace)) { |
| 3667 this[_table].setRange(this[_tail], dart.notNull(this[_tail]) + dar
t.notNull(addCount), dart.as(list, core.Iterable$(E)), 0); | 3667 this[_table].setRange(this[_tail], dart.notNull(this[_tail]) + dar
t.notNull(addCount), dart.as(list, core.Iterable$(E)), 0); |
| 3668 this[_tail] = addCount; | 3668 this[_tail] = addCount; |
| 3669 } else { | 3669 } else { |
| 3670 let preSpace = dart.notNull(addCount) - dart.notNull(endSpace); | 3670 let preSpace = dart.notNull(addCount) - dart.notNull(endSpace); |
| 3671 this[_table].setRange(this[_tail], dart.notNull(this[_tail]) + dar
t.notNull(endSpace), dart.as(list, core.Iterable$(E)), 0); | 3671 this[_table].setRange(this[_tail], dart.notNull(this[_tail]) + dar
t.notNull(endSpace), dart.as(list, core.Iterable$(E)), 0); |
| 3672 this[_table].setRange(0, preSpace, dart.as(list, core.Iterable$(E)
), endSpace); | 3672 this[_table].setRange(0, preSpace, dart.as(list, core.Iterable$(E)
), endSpace); |
| 3673 this[_tail] = preSpace; | 3673 this[_tail] = preSpace; |
| 3674 } | 3674 } |
| 3675 } | 3675 } |
| 3676 dart.notNull(this[_modificationCount])++; | 3676 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 3677 } else { | 3677 } else { |
| 3678 for (let element of elements) | 3678 for (let element of elements) |
| 3679 this[_add](element); | 3679 this[_add](element); |
| 3680 } | 3680 } |
| 3681 } | 3681 } |
| 3682 remove(object) { | 3682 remove(object) { |
| 3683 for (let i = this[_head]; i !== this[_tail]; i = dart.notNull(i) + 1 & d
art.notNull(this[_table].length) - 1) { | 3683 for (let i = this[_head]; i !== this[_tail]; i = dart.notNull(i) + 1 & d
art.notNull(this[_table].length) - 1) { |
| 3684 let element = this[_table].get(i); | 3684 let element = this[_table].get(i); |
| 3685 if (dart.equals(element, object)) { | 3685 if (dart.equals(element, object)) { |
| 3686 this[_remove](i); | 3686 this[_remove](i); |
| 3687 dart.notNull(this[_modificationCount])++; | 3687 this[_modificationCount] = dart.notNull(this[_modificationCount]) +
1; |
| 3688 return true; | 3688 return true; |
| 3689 } | 3689 } |
| 3690 } | 3690 } |
| 3691 return false; | 3691 return false; |
| 3692 } | 3692 } |
| 3693 [_filterWhere](test, removeMatching) { | 3693 [_filterWhere](test, removeMatching) { |
| 3694 let index = this[_head]; | 3694 let index = this[_head]; |
| 3695 let modificationCount = this[_modificationCount]; | 3695 let modificationCount = this[_modificationCount]; |
| 3696 let i = this[_head]; | 3696 let i = this[_head]; |
| 3697 while (i !== this[_tail]) { | 3697 while (i !== this[_tail]) { |
| 3698 let element = this[_table].get(i); | 3698 let element = this[_table].get(i); |
| 3699 let remove = core.identical(removeMatching, test(element)); | 3699 let remove = core.identical(removeMatching, test(element)); |
| 3700 this[_checkModification](modificationCount); | 3700 this[_checkModification](modificationCount); |
| 3701 if (remove) { | 3701 if (remove) { |
| 3702 i = this[_remove](i); | 3702 i = this[_remove](i); |
| 3703 modificationCount = ++dart.notNull(this[_modificationCount]); | 3703 modificationCount = this[_modificationCount] = dart.notNull(this[_mo
dificationCount]) + 1; |
| 3704 } else { | 3704 } else { |
| 3705 i = dart.notNull(i) + 1 & dart.notNull(this[_table].length) - 1; | 3705 i = dart.notNull(i) + 1 & dart.notNull(this[_table].length) - 1; |
| 3706 } | 3706 } |
| 3707 } | 3707 } |
| 3708 } | 3708 } |
| 3709 removeWhere(test) { | 3709 removeWhere(test) { |
| 3710 this[_filterWhere](test, true); | 3710 this[_filterWhere](test, true); |
| 3711 } | 3711 } |
| 3712 retainWhere(test) { | 3712 retainWhere(test) { |
| 3713 this[_filterWhere](test, false); | 3713 this[_filterWhere](test, false); |
| 3714 } | 3714 } |
| 3715 clear() { | 3715 clear() { |
| 3716 if (this[_head] !== this[_tail]) { | 3716 if (this[_head] !== this[_tail]) { |
| 3717 for (let i = this[_head]; i !== this[_tail]; i = dart.notNull(i) + 1 &
dart.notNull(this[_table].length) - 1) { | 3717 for (let i = this[_head]; i !== this[_tail]; i = dart.notNull(i) + 1 &
dart.notNull(this[_table].length) - 1) { |
| 3718 this[_table].set(i, null); | 3718 this[_table].set(i, null); |
| 3719 } | 3719 } |
| 3720 this[_head] = this[_tail] = 0; | 3720 this[_head] = this[_tail] = 0; |
| 3721 dart.notNull(this[_modificationCount])++; | 3721 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 3722 } | 3722 } |
| 3723 } | 3723 } |
| 3724 toString() { | 3724 toString() { |
| 3725 return IterableBase.iterableToFullString(this, "{", "}"); | 3725 return IterableBase.iterableToFullString(this, "{", "}"); |
| 3726 } | 3726 } |
| 3727 addLast(element) { | 3727 addLast(element) { |
| 3728 this[_add](element); | 3728 this[_add](element); |
| 3729 } | 3729 } |
| 3730 addFirst(element) { | 3730 addFirst(element) { |
| 3731 this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table].
length) - 1; | 3731 this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table].
length) - 1; |
| 3732 this[_table].set(this[_head], element); | 3732 this[_table].set(this[_head], element); |
| 3733 if (this[_head] === this[_tail]) | 3733 if (this[_head] === this[_tail]) |
| 3734 this[_grow](); | 3734 this[_grow](); |
| 3735 dart.notNull(this[_modificationCount])++; | 3735 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 3736 } | 3736 } |
| 3737 removeFirst() { | 3737 removeFirst() { |
| 3738 if (this[_head] === this[_tail]) | 3738 if (this[_head] === this[_tail]) |
| 3739 throw _internal.IterableElementError.noElement(); | 3739 throw _internal.IterableElementError.noElement(); |
| 3740 dart.notNull(this[_modificationCount])++; | 3740 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 3741 let result = this[_table].get(this[_head]); | 3741 let result = this[_table].get(this[_head]); |
| 3742 this[_table].set(this[_head], null); | 3742 this[_table].set(this[_head], null); |
| 3743 this[_head] = dart.notNull(this[_head]) + 1 & dart.notNull(this[_table].
length) - 1; | 3743 this[_head] = dart.notNull(this[_head]) + 1 & dart.notNull(this[_table].
length) - 1; |
| 3744 return result; | 3744 return result; |
| 3745 } | 3745 } |
| 3746 removeLast() { | 3746 removeLast() { |
| 3747 if (this[_head] === this[_tail]) | 3747 if (this[_head] === this[_tail]) |
| 3748 throw _internal.IterableElementError.noElement(); | 3748 throw _internal.IterableElementError.noElement(); |
| 3749 dart.notNull(this[_modificationCount])++; | 3749 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 3750 this[_tail] = dart.notNull(this[_tail]) - 1 & dart.notNull(this[_table].
length) - 1; | 3750 this[_tail] = dart.notNull(this[_tail]) - 1 & dart.notNull(this[_table].
length) - 1; |
| 3751 let result = this[_table].get(this[_tail]); | 3751 let result = this[_table].get(this[_tail]); |
| 3752 this[_table].set(this[_tail], null); | 3752 this[_table].set(this[_tail], null); |
| 3753 return result; | 3753 return result; |
| 3754 } | 3754 } |
| 3755 static [_isPowerOf2](number) { | 3755 static [_isPowerOf2](number) { |
| 3756 return (dart.notNull(number) & dart.notNull(number) - 1) === 0; | 3756 return (dart.notNull(number) & dart.notNull(number) - 1) === 0; |
| 3757 } | 3757 } |
| 3758 static [_nextPowerOf2](number) { | 3758 static [_nextPowerOf2](number) { |
| 3759 dart.assert(dart.notNull(number) > 0); | 3759 dart.assert(dart.notNull(number) > 0); |
| 3760 number = (dart.notNull(number) << 1) - 1; | 3760 number = (dart.notNull(number) << 1) - 1; |
| 3761 for (;;) { | 3761 for (;;) { |
| 3762 let nextNumber = dart.notNull(number) & dart.notNull(number) - 1; | 3762 let nextNumber = dart.notNull(number) & dart.notNull(number) - 1; |
| 3763 if (nextNumber === 0) | 3763 if (nextNumber === 0) |
| 3764 return number; | 3764 return number; |
| 3765 number = nextNumber; | 3765 number = nextNumber; |
| 3766 } | 3766 } |
| 3767 } | 3767 } |
| 3768 [_checkModification](expectedModificationCount) { | 3768 [_checkModification](expectedModificationCount) { |
| 3769 if (expectedModificationCount !== this[_modificationCount]) { | 3769 if (expectedModificationCount !== this[_modificationCount]) { |
| 3770 throw new core.ConcurrentModificationError(this); | 3770 throw new core.ConcurrentModificationError(this); |
| 3771 } | 3771 } |
| 3772 } | 3772 } |
| 3773 [_add](element) { | 3773 [_add](element) { |
| 3774 this[_table].set(this[_tail], element); | 3774 this[_table].set(this[_tail], element); |
| 3775 this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table].
length) - 1; | 3775 this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table].
length) - 1; |
| 3776 if (this[_head] === this[_tail]) | 3776 if (this[_head] === this[_tail]) |
| 3777 this[_grow](); | 3777 this[_grow](); |
| 3778 dart.notNull(this[_modificationCount])++; | 3778 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 3779 } | 3779 } |
| 3780 [_remove](offset) { | 3780 [_remove](offset) { |
| 3781 let mask = dart.notNull(this[_table].length) - 1; | 3781 let mask = dart.notNull(this[_table].length) - 1; |
| 3782 let startDistance = dart.notNull(offset) - dart.notNull(this[_head]) & d
art.notNull(mask); | 3782 let startDistance = dart.notNull(offset) - dart.notNull(this[_head]) & d
art.notNull(mask); |
| 3783 let endDistance = dart.notNull(this[_tail]) - dart.notNull(offset) & dar
t.notNull(mask); | 3783 let endDistance = dart.notNull(this[_tail]) - dart.notNull(offset) & dar
t.notNull(mask); |
| 3784 if (dart.notNull(startDistance) < dart.notNull(endDistance)) { | 3784 if (dart.notNull(startDistance) < dart.notNull(endDistance)) { |
| 3785 let i = offset; | 3785 let i = offset; |
| 3786 while (i !== this[_head]) { | 3786 while (i !== this[_head]) { |
| 3787 let prevOffset = dart.notNull(i) - 1 & dart.notNull(mask); | 3787 let prevOffset = dart.notNull(i) - 1 & dart.notNull(mask); |
| 3788 this[_table].set(i, this[_table].get(prevOffset)); | 3788 this[_table].set(i, this[_table].get(prevOffset)); |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3941 return result; | 3941 return result; |
| 3942 } | 3942 } |
| 3943 toList(opt$) { | 3943 toList(opt$) { |
| 3944 let growable = opt$.growable === void 0 ? true : opt$.growable; | 3944 let growable = opt$.growable === void 0 ? true : opt$.growable; |
| 3945 let result = growable ? ((_) => { | 3945 let result = growable ? ((_) => { |
| 3946 _.length = this.length; | 3946 _.length = this.length; |
| 3947 return _; | 3947 return _; |
| 3948 }).bind(this)(new core.List()) : new core.List(this.length); | 3948 }).bind(this)(new core.List()) : new core.List(this.length); |
| 3949 let i = 0; | 3949 let i = 0; |
| 3950 for (let element of this) | 3950 for (let element of this) |
| 3951 result.set(dart.notNull(i)++, element); | 3951 result.set((($tmp) => i = dart.notNull($tmp) + 1, $tmp)(i), element); |
| 3952 return result; | 3952 return result; |
| 3953 } | 3953 } |
| 3954 map(f) { | 3954 map(f) { |
| 3955 return new _internal.EfficientLengthMappedIterable(this, f); | 3955 return new _internal.EfficientLengthMappedIterable(this, f); |
| 3956 } | 3956 } |
| 3957 get single() { | 3957 get single() { |
| 3958 if (dart.notNull(this.length) > 1) | 3958 if (dart.notNull(this.length) > 1) |
| 3959 throw _internal.IterableElementError.tooMany(); | 3959 throw _internal.IterableElementError.tooMany(); |
| 3960 let it = this.iterator; | 3960 let it = this.iterator; |
| 3961 if (!dart.notNull(it.moveNext())) | 3961 if (!dart.notNull(it.moveNext())) |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4100 throw _internal.IterableElementError.noElement(); | 4100 throw _internal.IterableElementError.noElement(); |
| 4101 } | 4101 } |
| 4102 elementAt(index) { | 4102 elementAt(index) { |
| 4103 if (!(typeof index == number)) | 4103 if (!(typeof index == number)) |
| 4104 throw new core.ArgumentError.notNull("index"); | 4104 throw new core.ArgumentError.notNull("index"); |
| 4105 core.RangeError.checkNotNegative(index, "index"); | 4105 core.RangeError.checkNotNegative(index, "index"); |
| 4106 let elementIndex = 0; | 4106 let elementIndex = 0; |
| 4107 for (let element of this) { | 4107 for (let element of this) { |
| 4108 if (index === elementIndex) | 4108 if (index === elementIndex) |
| 4109 return element; | 4109 return element; |
| 4110 dart.notNull(elementIndex)++; | 4110 elementIndex = dart.notNull(elementIndex) + 1; |
| 4111 } | 4111 } |
| 4112 throw new core.RangeError.index(index, this, "index", null, elementIndex
); | 4112 throw new core.RangeError.index(index, this, "index", null, elementIndex
); |
| 4113 } | 4113 } |
| 4114 } | 4114 } |
| 4115 return SetMixin; | 4115 return SetMixin; |
| 4116 }); | 4116 }); |
| 4117 let SetMixin = SetMixin$(dynamic); | 4117 let SetMixin = SetMixin$(dynamic); |
| 4118 let SetBase$ = dart.generic(function(E) { | 4118 let SetBase$ = dart.generic(function(E) { |
| 4119 class SetBase extends SetMixin$(E) { | 4119 class SetBase extends SetMixin$(E) { |
| 4120 static setToString(set) { | 4120 static setToString(set) { |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4207 break; | 4207 break; |
| 4208 } | 4208 } |
| 4209 } | 4209 } |
| 4210 left.right = current.left; | 4210 left.right = current.left; |
| 4211 right.left = current.right; | 4211 right.left = current.right; |
| 4212 current.left = this[_dummy].right; | 4212 current.left = this[_dummy].right; |
| 4213 current.right = this[_dummy].left; | 4213 current.right = this[_dummy].left; |
| 4214 this[_root] = current; | 4214 this[_root] = current; |
| 4215 this[_dummy].right = null; | 4215 this[_dummy].right = null; |
| 4216 this[_dummy].left = null; | 4216 this[_dummy].left = null; |
| 4217 dart.notNull(this[_splayCount])++; | 4217 this[_splayCount] = dart.notNull(this[_splayCount]) + 1; |
| 4218 return comp; | 4218 return comp; |
| 4219 } | 4219 } |
| 4220 [_splayMin](node) { | 4220 [_splayMin](node) { |
| 4221 let current = node; | 4221 let current = node; |
| 4222 while (current.left !== null) { | 4222 while (current.left !== null) { |
| 4223 let left = current.left; | 4223 let left = current.left; |
| 4224 current.left = left.right; | 4224 current.left = left.right; |
| 4225 left.right = current; | 4225 left.right = current; |
| 4226 current = left; | 4226 current = left; |
| 4227 } | 4227 } |
| 4228 return dart.as(current, _SplayTreeNode$(K)); | 4228 return dart.as(current, _SplayTreeNode$(K)); |
| 4229 } | 4229 } |
| 4230 [_splayMax](node) { | 4230 [_splayMax](node) { |
| 4231 let current = node; | 4231 let current = node; |
| 4232 while (current.right !== null) { | 4232 while (current.right !== null) { |
| 4233 let right = current.right; | 4233 let right = current.right; |
| 4234 current.right = right.left; | 4234 current.right = right.left; |
| 4235 right.left = current; | 4235 right.left = current; |
| 4236 current = right; | 4236 current = right; |
| 4237 } | 4237 } |
| 4238 return dart.as(current, _SplayTreeNode$(K)); | 4238 return dart.as(current, _SplayTreeNode$(K)); |
| 4239 } | 4239 } |
| 4240 [_remove](key) { | 4240 [_remove](key) { |
| 4241 if (this[_root] === null) | 4241 if (this[_root] === null) |
| 4242 return null; | 4242 return null; |
| 4243 let comp = this[_splay](key); | 4243 let comp = this[_splay](key); |
| 4244 if (comp !== 0) | 4244 if (comp !== 0) |
| 4245 return null; | 4245 return null; |
| 4246 let result = this[_root]; | 4246 let result = this[_root]; |
| 4247 dart.notNull(this[_count])--; | 4247 this[_count] = dart.notNull(this[_count]) - 1; |
| 4248 if (this[_root].left === null) { | 4248 if (this[_root].left === null) { |
| 4249 this[_root] = this[_root].right; | 4249 this[_root] = this[_root].right; |
| 4250 } else { | 4250 } else { |
| 4251 let right = this[_root].right; | 4251 let right = this[_root].right; |
| 4252 this[_root] = this[_splayMax](this[_root].left); | 4252 this[_root] = this[_splayMax](this[_root].left); |
| 4253 this[_root].right = right; | 4253 this[_root].right = right; |
| 4254 } | 4254 } |
| 4255 dart.notNull(this[_modificationCount])++; | 4255 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 4256 return result; | 4256 return result; |
| 4257 } | 4257 } |
| 4258 [_addNewRoot](node, comp) { | 4258 [_addNewRoot](node, comp) { |
| 4259 dart.notNull(this[_count])++; | 4259 this[_count] = dart.notNull(this[_count]) + 1; |
| 4260 dart.notNull(this[_modificationCount])++; | 4260 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 4261 if (this[_root] === null) { | 4261 if (this[_root] === null) { |
| 4262 this[_root] = node; | 4262 this[_root] = node; |
| 4263 return; | 4263 return; |
| 4264 } | 4264 } |
| 4265 if (dart.notNull(comp) < 0) { | 4265 if (dart.notNull(comp) < 0) { |
| 4266 node.left = this[_root]; | 4266 node.left = this[_root]; |
| 4267 node.right = this[_root].right; | 4267 node.right = this[_root].right; |
| 4268 this[_root].right = null; | 4268 this[_root].right = null; |
| 4269 } else { | 4269 } else { |
| 4270 node.right = this[_root]; | 4270 node.right = this[_root]; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 4281 } | 4281 } |
| 4282 get [_last]() { | 4282 get [_last]() { |
| 4283 if (this[_root] === null) | 4283 if (this[_root] === null) |
| 4284 return null; | 4284 return null; |
| 4285 this[_root] = this[_splayMax](this[_root]); | 4285 this[_root] = this[_splayMax](this[_root]); |
| 4286 return this[_root]; | 4286 return this[_root]; |
| 4287 } | 4287 } |
| 4288 [_clear]() { | 4288 [_clear]() { |
| 4289 this[_root] = null; | 4289 this[_root] = null; |
| 4290 this[_count] = 0; | 4290 this[_count] = 0; |
| 4291 dart.notNull(this[_modificationCount])++; | 4291 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 4292 } | 4292 } |
| 4293 } | 4293 } |
| 4294 return _SplayTree; | 4294 return _SplayTree; |
| 4295 }); | 4295 }); |
| 4296 let _SplayTree = _SplayTree$(dynamic); | 4296 let _SplayTree = _SplayTree$(dynamic); |
| 4297 let _TypeTest$ = dart.generic(function(T) { | 4297 let _TypeTest$ = dart.generic(function(T) { |
| 4298 class _TypeTest extends dart.Object { | 4298 class _TypeTest extends dart.Object { |
| 4299 test(v) { | 4299 test(v) { |
| 4300 return dart.is(v, T); | 4300 return dart.is(v, T); |
| 4301 } | 4301 } |
| (...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4761 for (let object of elements) { | 4761 for (let object of elements) { |
| 4762 if (modificationCount !== this[_modificationCount]) { | 4762 if (modificationCount !== this[_modificationCount]) { |
| 4763 throw new core.ConcurrentModificationError(this); | 4763 throw new core.ConcurrentModificationError(this); |
| 4764 } | 4764 } |
| 4765 if (dart.notNull(this[_validKey](object)) && this[_splay](dart.as(obje
ct, E)) === 0) | 4765 if (dart.notNull(this[_validKey](object)) && this[_splay](dart.as(obje
ct, E)) === 0) |
| 4766 retainSet.add(this[_root].key); | 4766 retainSet.add(this[_root].key); |
| 4767 } | 4767 } |
| 4768 if (retainSet[_count] !== this[_count]) { | 4768 if (retainSet[_count] !== this[_count]) { |
| 4769 this[_root] = retainSet[_root]; | 4769 this[_root] = retainSet[_root]; |
| 4770 this[_count] = retainSet[_count]; | 4770 this[_count] = retainSet[_count]; |
| 4771 dart.notNull(this[_modificationCount])++; | 4771 this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
| 4772 } | 4772 } |
| 4773 } | 4773 } |
| 4774 lookup(object) { | 4774 lookup(object) { |
| 4775 if (!dart.notNull(this[_validKey](object))) | 4775 if (!dart.notNull(this[_validKey](object))) |
| 4776 return null; | 4776 return null; |
| 4777 let comp = this[_splay](dart.as(object, E)); | 4777 let comp = this[_splay](dart.as(object, E)); |
| 4778 if (comp !== 0) | 4778 if (comp !== 0) |
| 4779 return null; | 4779 return null; |
| 4780 return this[_root].key; | 4780 return this[_root].key; |
| 4781 } | 4781 } |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4890 exports.ListQueue$ = ListQueue$; | 4890 exports.ListQueue$ = ListQueue$; |
| 4891 exports.SetMixin = SetMixin; | 4891 exports.SetMixin = SetMixin; |
| 4892 exports.SetMixin$ = SetMixin$; | 4892 exports.SetMixin$ = SetMixin$; |
| 4893 exports.SetBase = SetBase; | 4893 exports.SetBase = SetBase; |
| 4894 exports.SetBase$ = SetBase$; | 4894 exports.SetBase$ = SetBase$; |
| 4895 exports.SplayTreeMap = SplayTreeMap; | 4895 exports.SplayTreeMap = SplayTreeMap; |
| 4896 exports.SplayTreeMap$ = SplayTreeMap$; | 4896 exports.SplayTreeMap$ = SplayTreeMap$; |
| 4897 exports.SplayTreeSet = SplayTreeSet; | 4897 exports.SplayTreeSet = SplayTreeSet; |
| 4898 exports.SplayTreeSet$ = SplayTreeSet$; | 4898 exports.SplayTreeSet$ = SplayTreeSet$; |
| 4899 })(collection || (collection = {})); | 4899 })(collection || (collection = {})); |
| OLD | NEW |