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

Side by Side Diff: test/codegen/expect/dart/collection.js

Issue 977153002: Fix increment on nullable (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Remove assignments Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/codegen/expect/dart/async.js ('k') | test/codegen/expect/dart/convert.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 = {}));
OLDNEW
« no previous file with comments | « test/codegen/expect/dart/async.js ('k') | test/codegen/expect/dart/convert.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698