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

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

Issue 1153003003: fixes #40, extension methods for primitive types (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 var _internal = dart.defineLibrary(_internal, {}); 1 var _internal = dart.defineLibrary(_internal, {});
2 var core = dart.import(core); 2 var core = dart.import(core);
3 var collection = dart.import(collection); 3 var collection = dart.import(collection);
4 var math = dart.lazyImport(math); 4 var math = dart.lazyImport(math);
5 var _interceptors = dart.lazyImport(_interceptors); 5 var _interceptors = dart.lazyImport(_interceptors);
6 var _js_primitives = dart.lazyImport(_js_primitives); 6 var _js_primitives = dart.lazyImport(_js_primitives);
7 (function(exports, core, collection, math, _interceptors, _js_primitives) { 7 (function(exports, core, collection, math, _interceptors, _js_primitives) {
8 'use strict'; 8 'use strict';
9 class EfficientLength extends core.Object {} 9 class EfficientLength extends core.Object {}
10 let ListIterable$ = dart.generic(function(E) { 10 let ListIterable$ = dart.generic(function(E) {
11 class ListIterable extends collection.IterableBase$(E) { 11 class ListIterable extends collection.IterableBase$(E) {
12 ListIterable() { 12 ListIterable() {
13 super.IterableBase(); 13 super.IterableBase();
14 } 14 }
15 get [core.$iterator]() { 15 get iterator() {
16 return new (ListIterator$(E))(this); 16 return new (ListIterator$(E))(this);
17 } 17 }
18 [core.$forEach](action) { 18 forEach(action) {
19 dart.as(action, dart.functionType(dart.void, [E])); 19 dart.as(action, dart.functionType(dart.void, [E]));
20 let length = this[core.$length]; 20 let length = this.length;
21 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 21 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
22 action(this[core.$elementAt](i)); 22 action(this.elementAt(i));
23 if (length != this[core.$length]) { 23 if (length != this.length) {
24 throw new core.ConcurrentModificationError(this); 24 throw new core.ConcurrentModificationError(this);
25 } 25 }
26 } 26 }
27 } 27 }
28 get [core.$isEmpty]() { 28 get isEmpty() {
29 return this[core.$length] == 0; 29 return this.length == 0;
30 } 30 }
31 get [core.$first]() { 31 get first() {
32 if (this[core.$length] == 0) 32 if (this.length == 0)
33 throw IterableElementError.noElement(); 33 throw IterableElementError.noElement();
34 return this[core.$elementAt](0); 34 return this.elementAt(0);
35 } 35 }
36 get [core.$last]() { 36 get last() {
37 if (this[core.$length] == 0) 37 if (this.length == 0)
38 throw IterableElementError.noElement(); 38 throw IterableElementError.noElement();
39 return this[core.$elementAt](dart.notNull(this[core.$length]) - 1); 39 return this.elementAt(dart.notNull(this.length) - 1);
40 } 40 }
41 get [core.$single]() { 41 get single() {
42 if (this[core.$length] == 0) 42 if (this.length == 0)
43 throw IterableElementError.noElement(); 43 throw IterableElementError.noElement();
44 if (dart.notNull(this[core.$length]) > 1) 44 if (dart.notNull(this.length) > 1)
45 throw IterableElementError.tooMany(); 45 throw IterableElementError.tooMany();
46 return this[core.$elementAt](0); 46 return this.elementAt(0);
47 } 47 }
48 [core.$contains](element) { 48 contains(element) {
49 let length = this[core.$length]; 49 let length = this.length;
50 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 50 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
51 if (dart.equals(this[core.$elementAt](i), element)) 51 if (dart.equals(this.elementAt(i), element))
52 return true; 52 return true;
53 if (length != this[core.$length]) { 53 if (length != this.length) {
54 throw new core.ConcurrentModificationError(this); 54 throw new core.ConcurrentModificationError(this);
55 } 55 }
56 } 56 }
57 return false; 57 return false;
58 } 58 }
59 [core.$every](test) { 59 every(test) {
60 dart.as(test, dart.functionType(core.bool, [E])); 60 dart.as(test, dart.functionType(core.bool, [E]));
61 let length = this[core.$length]; 61 let length = this.length;
62 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 62 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
63 if (!dart.notNull(test(this[core.$elementAt](i)))) 63 if (!dart.notNull(test(this.elementAt(i))))
64 return false; 64 return false;
65 if (length != this[core.$length]) { 65 if (length != this.length) {
66 throw new core.ConcurrentModificationError(this); 66 throw new core.ConcurrentModificationError(this);
67 } 67 }
68 } 68 }
69 return true; 69 return true;
70 } 70 }
71 [core.$any](test) { 71 any(test) {
72 dart.as(test, dart.functionType(core.bool, [E])); 72 dart.as(test, dart.functionType(core.bool, [E]));
73 let length = this[core.$length]; 73 let length = this.length;
74 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 74 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
75 if (test(this[core.$elementAt](i))) 75 if (test(this.elementAt(i)))
76 return true; 76 return true;
77 if (length != this[core.$length]) { 77 if (length != this.length) {
78 throw new core.ConcurrentModificationError(this); 78 throw new core.ConcurrentModificationError(this);
79 } 79 }
80 } 80 }
81 return false; 81 return false;
82 } 82 }
83 [core.$firstWhere](test, opts) { 83 firstWhere(test, opts) {
84 dart.as(test, dart.functionType(core.bool, [E])); 84 dart.as(test, dart.functionType(core.bool, [E]));
85 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 85 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
86 dart.as(orElse, dart.functionType(E, [])); 86 dart.as(orElse, dart.functionType(E, []));
87 let length = this[core.$length]; 87 let length = this.length;
88 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 88 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
89 let element = this[core.$elementAt](i); 89 let element = this.elementAt(i);
90 if (test(element)) 90 if (test(element))
91 return element; 91 return element;
92 if (length != this[core.$length]) { 92 if (length != this.length) {
93 throw new core.ConcurrentModificationError(this); 93 throw new core.ConcurrentModificationError(this);
94 } 94 }
95 } 95 }
96 if (orElse != null) 96 if (orElse != null)
97 return orElse(); 97 return orElse();
98 throw IterableElementError.noElement(); 98 throw IterableElementError.noElement();
99 } 99 }
100 [core.$lastWhere](test, opts) { 100 lastWhere(test, opts) {
101 dart.as(test, dart.functionType(core.bool, [E])); 101 dart.as(test, dart.functionType(core.bool, [E]));
102 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 102 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
103 dart.as(orElse, dart.functionType(E, [])); 103 dart.as(orElse, dart.functionType(E, []));
104 let length = this[core.$length]; 104 let length = this.length;
105 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) { 105 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) {
106 let element = this[core.$elementAt](i); 106 let element = this.elementAt(i);
107 if (test(element)) 107 if (test(element))
108 return element; 108 return element;
109 if (length != this[core.$length]) { 109 if (length != this.length) {
110 throw new core.ConcurrentModificationError(this); 110 throw new core.ConcurrentModificationError(this);
111 } 111 }
112 } 112 }
113 if (orElse != null) 113 if (orElse != null)
114 return orElse(); 114 return orElse();
115 throw IterableElementError.noElement(); 115 throw IterableElementError.noElement();
116 } 116 }
117 [core.$singleWhere](test) { 117 singleWhere(test) {
118 dart.as(test, dart.functionType(core.bool, [E])); 118 dart.as(test, dart.functionType(core.bool, [E]));
119 let length = this[core.$length]; 119 let length = this.length;
120 let match = null; 120 let match = null;
121 let matchFound = false; 121 let matchFound = false;
122 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 122 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
123 let element = this[core.$elementAt](i); 123 let element = this.elementAt(i);
124 if (test(element)) { 124 if (test(element)) {
125 if (matchFound) { 125 if (matchFound) {
126 throw IterableElementError.tooMany(); 126 throw IterableElementError.tooMany();
127 } 127 }
128 matchFound = true; 128 matchFound = true;
129 match = element; 129 match = element;
130 } 130 }
131 if (length != this[core.$length]) { 131 if (length != this.length) {
132 throw new core.ConcurrentModificationError(this); 132 throw new core.ConcurrentModificationError(this);
133 } 133 }
134 } 134 }
135 if (matchFound) 135 if (matchFound)
136 return match; 136 return match;
137 throw IterableElementError.noElement(); 137 throw IterableElementError.noElement();
138 } 138 }
139 [core.$join](separator) { 139 join(separator) {
140 if (separator === void 0) 140 if (separator === void 0)
141 separator = ""; 141 separator = "";
142 let length = this[core.$length]; 142 let length = this.length;
143 if (!dart.notNull(separator.isEmpty)) { 143 if (!dart.notNull(separator[dartx.isEmpty])) {
144 if (length == 0) 144 if (length == 0)
145 return ""; 145 return "";
146 let first = `${this[core.$elementAt](0)}`; 146 let first = `${this.elementAt(0)}`;
147 if (length != this[core.$length]) { 147 if (length != this.length) {
148 throw new core.ConcurrentModificationError(this); 148 throw new core.ConcurrentModificationError(this);
149 } 149 }
150 let buffer = new core.StringBuffer(first); 150 let buffer = new core.StringBuffer(first);
151 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) { 151 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) {
152 buffer.write(separator); 152 buffer.write(separator);
153 buffer.write(this[core.$elementAt](i)); 153 buffer.write(this.elementAt(i));
154 if (length != this[core.$length]) { 154 if (length != this.length) {
155 throw new core.ConcurrentModificationError(this); 155 throw new core.ConcurrentModificationError(this);
156 } 156 }
157 } 157 }
158 return dart.toString(buffer); 158 return dart.toString(buffer);
159 } else { 159 } else {
160 let buffer = new core.StringBuffer(); 160 let buffer = new core.StringBuffer();
161 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) { 161 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) {
162 buffer.write(this[core.$elementAt](i)); 162 buffer.write(this.elementAt(i));
163 if (length != this[core.$length]) { 163 if (length != this.length) {
164 throw new core.ConcurrentModificationError(this); 164 throw new core.ConcurrentModificationError(this);
165 } 165 }
166 } 166 }
167 return dart.toString(buffer); 167 return dart.toString(buffer);
168 } 168 }
169 } 169 }
170 [core.$where](test) { 170 where(test) {
171 dart.as(test, dart.functionType(core.bool, [E])); 171 dart.as(test, dart.functionType(core.bool, [E]));
172 return super[core.$where](test); 172 return super.where(test);
173 } 173 }
174 [core.$map](f) { 174 map(f) {
175 dart.as(f, dart.functionType(core.Object, [E])); 175 dart.as(f, dart.functionType(core.Object, [E]));
176 return new MappedListIterable(this, f); 176 return new MappedListIterable(this, f);
177 } 177 }
178 [core.$reduce](combine) { 178 reduce(combine) {
179 dart.as(combine, dart.functionType(E, [dart.bottom, E])); 179 dart.as(combine, dart.functionType(E, [dart.bottom, E]));
180 let length = this[core.$length]; 180 let length = this.length;
181 if (length == 0) 181 if (length == 0)
182 throw IterableElementError.noElement(); 182 throw IterableElementError.noElement();
183 let value = this[core.$elementAt](0); 183 let value = this.elementAt(0);
184 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 184 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
185 value = dart.dcall(combine, value, this[core.$elementAt](i)); 185 value = dart.dcall(combine, value, this.elementAt(i));
186 if (length != this[core.$length]) { 186 if (length != this.length) {
187 throw new core.ConcurrentModificationError(this); 187 throw new core.ConcurrentModificationError(this);
188 } 188 }
189 } 189 }
190 return value; 190 return value;
191 } 191 }
192 [core.$fold](initialValue, combine) { 192 fold(initialValue, combine) {
193 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); 193 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E]));
194 let value = initialValue; 194 let value = initialValue;
195 let length = this[core.$length]; 195 let length = this.length;
196 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 196 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
197 value = dart.dcall(combine, value, this[core.$elementAt](i)); 197 value = dart.dcall(combine, value, this.elementAt(i));
198 if (length != this[core.$length]) { 198 if (length != this.length) {
199 throw new core.ConcurrentModificationError(this); 199 throw new core.ConcurrentModificationError(this);
200 } 200 }
201 } 201 }
202 return value; 202 return value;
203 } 203 }
204 [core.$skip](count) { 204 skip(count) {
205 return new (SubListIterable$(E))(this, count, null); 205 return new (SubListIterable$(E))(this, count, null);
206 } 206 }
207 [core.$skipWhile](test) { 207 skipWhile(test) {
208 dart.as(test, dart.functionType(core.bool, [E])); 208 dart.as(test, dart.functionType(core.bool, [E]));
209 return super[core.$skipWhile](test); 209 return super.skipWhile(test);
210 } 210 }
211 [core.$take](count) { 211 take(count) {
212 return new (SubListIterable$(E))(this, 0, count); 212 return new (SubListIterable$(E))(this, 0, count);
213 } 213 }
214 [core.$takeWhile](test) { 214 takeWhile(test) {
215 dart.as(test, dart.functionType(core.bool, [E])); 215 dart.as(test, dart.functionType(core.bool, [E]));
216 return super[core.$takeWhile](test); 216 return super.takeWhile(test);
217 } 217 }
218 [core.$toList](opts) { 218 toList(opts) {
219 let growable = opts && 'growable' in opts ? opts.growable : true; 219 let growable = opts && 'growable' in opts ? opts.growable : true;
220 let result = null; 220 let result = null;
221 if (growable) { 221 if (growable) {
222 result = core.List$(E).new(); 222 result = core.List$(E).new();
223 result[core.$length] = this[core.$length]; 223 result.length = this.length;
224 } else { 224 } else {
225 result = core.List$(E).new(this[core.$length]); 225 result = core.List$(E).new(this.length);
226 } 226 }
227 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i = dart.notNull(i) + 1) { 227 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
228 result[core.$set](i, this[core.$elementAt](i)); 228 result[dartx.set](i, this.elementAt(i));
229 } 229 }
230 return result; 230 return result;
231 } 231 }
232 [core.$toSet]() { 232 toSet() {
233 let result = core.Set$(E).new(); 233 let result = core.Set$(E).new();
234 for (let i = 0; dart.notNull(i) < dart.notNull(this[core.$length]); i = dart.notNull(i) + 1) { 234 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
235 result.add(this[core.$elementAt](i)); 235 result.add(this.elementAt(i));
236 } 236 }
237 return result; 237 return result;
238 } 238 }
239 } 239 }
240 ListIterable[dart.implements] = () => [EfficientLength]; 240 ListIterable[dart.implements] = () => [EfficientLength];
241 dart.implementExtension(ListIterable, () => [core.Iterable]);
241 dart.setSignature(ListIterable, { 242 dart.setSignature(ListIterable, {
242 constructors: () => ({ListIterable: [ListIterable$(E), []]}), 243 constructors: () => ({ListIterable: [ListIterable$(E), []]}),
243 methods: () => ({ 244 methods: () => ({
244 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], 245 forEach: [dart.void, [dart.functionType(dart.void, [E])]],
245 [core.$every]: [core.bool, [dart.functionType(core.bool, [E])]], 246 every: [core.bool, [dart.functionType(core.bool, [E])]],
246 [core.$any]: [core.bool, [dart.functionType(core.bool, [E])]], 247 any: [core.bool, [dart.functionType(core.bool, [E])]],
247 [core.$firstWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: da rt.functionType(E, [])}], 248 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct ionType(E, [])}],
248 [core.$lastWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: dar t.functionType(E, [])}], 249 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi onType(E, [])}],
249 [core.$singleWhere]: [E, [dart.functionType(core.bool, [E])]], 250 singleWhere: [E, [dart.functionType(core.bool, [E])]],
250 [core.$where]: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], 251 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
251 [core.$map]: [core.Iterable, [dart.functionType(core.Object, [E])]], 252 map: [core.Iterable, [dart.functionType(core.Object, [E])]],
252 [core.$reduce]: [E, [dart.functionType(E, [dart.bottom, E])]], 253 reduce: [E, [dart.functionType(E, [dart.bottom, E])]],
253 [core.$fold]: [core.Object, [core.Object, dart.functionType(core.Object, [dart.bottom, E])]], 254 fold: [core.Object, [core.Object, dart.functionType(core.Object, [dart.b ottom, E])]],
254 [core.$skip]: [core.Iterable$(E), [core.int]], 255 skip: [core.Iterable$(E), [core.int]],
255 [core.$skipWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E] )]], 256 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
256 [core.$take]: [core.Iterable$(E), [core.int]], 257 take: [core.Iterable$(E), [core.int]],
257 [core.$takeWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E] )]], 258 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
258 [core.$toList]: [core.List$(E), [], {growable: core.bool}], 259 toList: [core.List$(E), [], {growable: core.bool}],
259 [core.$toSet]: [core.Set$(E), []] 260 toSet: [core.Set$(E), []]
260 }) 261 })
261 }); 262 });
262 return ListIterable; 263 return ListIterable;
263 }); 264 });
264 let ListIterable = ListIterable$(); 265 let ListIterable = ListIterable$();
265 let _iterable = dart.JsSymbol('_iterable'); 266 let _iterable = dart.JsSymbol('_iterable');
266 let _start = dart.JsSymbol('_start'); 267 let _start = dart.JsSymbol('_start');
267 let _endOrLength = dart.JsSymbol('_endOrLength'); 268 let _endOrLength = dart.JsSymbol('_endOrLength');
268 let _endIndex = dart.JsSymbol('_endIndex'); 269 let _endIndex = dart.JsSymbol('_endIndex');
269 let _startIndex = dart.JsSymbol('_startIndex'); 270 let _startIndex = dart.JsSymbol('_startIndex');
270 let SubListIterable$ = dart.generic(function(E) { 271 let SubListIterable$ = dart.generic(function(E) {
271 class SubListIterable extends ListIterable$(E) { 272 class SubListIterable extends ListIterable$(E) {
272 SubListIterable(iterable, start, endOrLength) { 273 SubListIterable(iterable, start, endOrLength) {
273 this[_iterable] = iterable; 274 this[_iterable] = iterable;
274 this[_start] = start; 275 this[_start] = start;
275 this[_endOrLength] = endOrLength; 276 this[_endOrLength] = endOrLength;
276 super.ListIterable(); 277 super.ListIterable();
277 core.RangeError.checkNotNegative(this[_start], "start"); 278 core.RangeError.checkNotNegative(this[_start], "start");
278 if (this[_endOrLength] != null) { 279 if (this[_endOrLength] != null) {
279 core.RangeError.checkNotNegative(this[_endOrLength], "end"); 280 core.RangeError.checkNotNegative(this[_endOrLength], "end");
280 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { 281 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) {
281 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start"); 282 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start");
282 } 283 }
283 } 284 }
284 } 285 }
285 get [_endIndex]() { 286 get [_endIndex]() {
286 let length = this[_iterable][core.$length]; 287 let length = this[_iterable].length;
287 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length)) 288 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length))
288 return length; 289 return length;
289 return this[_endOrLength]; 290 return this[_endOrLength];
290 } 291 }
291 get [_startIndex]() { 292 get [_startIndex]() {
292 let length = this[_iterable][core.$length]; 293 let length = this[_iterable].length;
293 if (dart.notNull(this[_start]) > dart.notNull(length)) 294 if (dart.notNull(this[_start]) > dart.notNull(length))
294 return length; 295 return length;
295 return this[_start]; 296 return this[_start];
296 } 297 }
297 get [core.$length]() { 298 get length() {
298 let length = this[_iterable][core.$length]; 299 let length = this[_iterable].length;
299 if (dart.notNull(this[_start]) >= dart.notNull(length)) 300 if (dart.notNull(this[_start]) >= dart.notNull(length))
300 return 0; 301 return 0;
301 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) { 302 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) {
302 return dart.notNull(length) - dart.notNull(this[_start]); 303 return dart.notNull(length) - dart.notNull(this[_start]);
303 } 304 }
304 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); 305 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]);
305 } 306 }
306 [core.$elementAt](index) { 307 elementAt(index) {
307 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); 308 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index);
308 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) { 309 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) {
309 throw core.RangeError.index(index, this, "index"); 310 throw core.RangeError.index(index, this, "index");
310 } 311 }
311 return this[_iterable][core.$elementAt](realIndex); 312 return this[_iterable][dartx.elementAt](realIndex);
312 } 313 }
313 [core.$skip](count) { 314 skip(count) {
314 core.RangeError.checkNotNegative(count, "count"); 315 core.RangeError.checkNotNegative(count, "count");
315 let newStart = dart.notNull(this[_start]) + dart.notNull(count); 316 let newStart = dart.notNull(this[_start]) + dart.notNull(count);
316 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull (this[_endOrLength])) { 317 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull (this[_endOrLength])) {
317 return new (EmptyIterable$(E))(); 318 return new (EmptyIterable$(E))();
318 } 319 }
319 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL ength]); 320 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL ength]);
320 } 321 }
321 [core.$take](count) { 322 take(count) {
322 core.RangeError.checkNotNegative(count, "count"); 323 core.RangeError.checkNotNegative(count, "count");
323 if (this[_endOrLength] == null) { 324 if (this[_endOrLength] == null) {
324 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n otNull(this[_start]) + dart.notNull(count)); 325 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n otNull(this[_start]) + dart.notNull(count));
325 } else { 326 } else {
326 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 327 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
327 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) 328 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd))
328 return this; 329 return this;
329 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd ); 330 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd );
330 } 331 }
331 } 332 }
332 [core.$toList](opts) { 333 toList(opts) {
333 let growable = opts && 'growable' in opts ? opts.growable : true; 334 let growable = opts && 'growable' in opts ? opts.growable : true;
334 let start = this[_start]; 335 let start = this[_start];
335 let end = this[_iterable][core.$length]; 336 let end = this[_iterable].length;
336 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end)) 337 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end))
337 end = this[_endOrLength]; 338 end = this[_endOrLength];
338 let length = dart.notNull(end) - dart.notNull(start); 339 let length = dart.notNull(end) - dart.notNull(start);
339 if (dart.notNull(length) < 0) 340 if (dart.notNull(length) < 0)
340 length = 0; 341 length = 0;
341 let result = growable ? (() => { 342 let result = growable ? (() => {
342 let _ = core.List$(E).new(); 343 let _ = core.List$(E).new();
343 _[core.$length] = length; 344 _.length = length;
344 return _; 345 return _;
345 })() : core.List$(E).new(length); 346 })() : core.List$(E).new(length);
346 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 347 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
347 result[core.$set](i, this[_iterable][core.$elementAt](dart.notNull(sta rt) + dart.notNull(i))); 348 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta rt) + dart.notNull(i)));
348 if (dart.notNull(this[_iterable][core.$length]) < dart.notNull(end)) 349 if (dart.notNull(this[_iterable].length) < dart.notNull(end))
349 throw new core.ConcurrentModificationError(this); 350 throw new core.ConcurrentModificationError(this);
350 } 351 }
351 return dart.as(result, core.List$(E)); 352 return dart.as(result, core.List$(E));
352 } 353 }
353 } 354 }
354 dart.setSignature(SubListIterable, { 355 dart.setSignature(SubListIterable, {
355 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl e$(E), core.int, core.int]]}), 356 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl e$(E), core.int, core.int]]}),
356 methods: () => ({ 357 methods: () => ({
357 [core.$elementAt]: [E, [core.int]], 358 elementAt: [E, [core.int]],
358 [core.$skip]: [core.Iterable$(E), [core.int]], 359 skip: [core.Iterable$(E), [core.int]],
359 [core.$take]: [core.Iterable$(E), [core.int]], 360 take: [core.Iterable$(E), [core.int]],
360 [core.$toList]: [core.List$(E), [], {growable: core.bool}] 361 toList: [core.List$(E), [], {growable: core.bool}]
361 }) 362 })
362 }); 363 });
363 return SubListIterable; 364 return SubListIterable;
364 }); 365 });
365 let SubListIterable = SubListIterable$(); 366 let SubListIterable = SubListIterable$();
366 let _length = dart.JsSymbol('_length'); 367 let _length = dart.JsSymbol('_length');
367 let _index = dart.JsSymbol('_index'); 368 let _index = dart.JsSymbol('_index');
368 let _current = dart.JsSymbol('_current'); 369 let _current = dart.JsSymbol('_current');
369 let ListIterator$ = dart.generic(function(E) { 370 let ListIterator$ = dart.generic(function(E) {
370 class ListIterator extends core.Object { 371 class ListIterator extends core.Object {
371 ListIterator(iterable) { 372 ListIterator(iterable) {
372 this[_iterable] = iterable; 373 this[_iterable] = iterable;
373 this[_length] = iterable[core.$length]; 374 this[_length] = iterable.length;
374 this[_index] = 0; 375 this[_index] = 0;
375 this[_current] = null; 376 this[_current] = null;
376 } 377 }
377 get current() { 378 get current() {
378 return this[_current]; 379 return this[_current];
379 } 380 }
380 moveNext() { 381 moveNext() {
381 let length = this[_iterable][core.$length]; 382 let length = this[_iterable].length;
382 if (this[_length] != length) { 383 if (this[_length] != length) {
383 throw new core.ConcurrentModificationError(this[_iterable]); 384 throw new core.ConcurrentModificationError(this[_iterable]);
384 } 385 }
385 if (dart.notNull(this[_index]) >= dart.notNull(length)) { 386 if (dart.notNull(this[_index]) >= dart.notNull(length)) {
386 this[_current] = null; 387 this[_current] = null;
387 return false; 388 return false;
388 } 389 }
389 this[_current] = this[_iterable][core.$elementAt](this[_index]); 390 this[_current] = this[_iterable][dartx.elementAt](this[_index]);
390 this[_index] = dart.notNull(this[_index]) + 1; 391 this[_index] = dart.notNull(this[_index]) + 1;
391 return true; 392 return true;
392 } 393 }
393 } 394 }
394 ListIterator[dart.implements] = () => [core.Iterator$(E)]; 395 ListIterator[dart.implements] = () => [core.Iterator$(E)];
395 dart.setSignature(ListIterator, { 396 dart.setSignature(ListIterator, {
396 constructors: () => ({ListIterator: [ListIterator$(E), [core.Iterable$(E)] ]}), 397 constructors: () => ({ListIterator: [ListIterator$(E), [core.Iterable$(E)] ]}),
397 methods: () => ({moveNext: [core.bool, []]}) 398 methods: () => ({moveNext: [core.bool, []]})
398 }); 399 });
399 return ListIterator; 400 return ListIterator;
(...skipping 11 matching lines...) Expand all
411 if (dart.is(iterable, EfficientLength)) { 412 if (dart.is(iterable, EfficientLength)) {
412 return new (EfficientLengthMappedIterable$(S, T))(iterable, func); 413 return new (EfficientLengthMappedIterable$(S, T))(iterable, func);
413 } 414 }
414 return new (MappedIterable$(S, T))._(dart.as(iterable, core.Iterable$(S) ), func); 415 return new (MappedIterable$(S, T))._(dart.as(iterable, core.Iterable$(S) ), func);
415 } 416 }
416 _(iterable, f) { 417 _(iterable, f) {
417 this[_iterable] = iterable; 418 this[_iterable] = iterable;
418 this[_f] = f; 419 this[_f] = f;
419 super.IterableBase(); 420 super.IterableBase();
420 } 421 }
421 get [core.$iterator]() { 422 get iterator() {
422 return new (MappedIterator$(S, T))(this[_iterable][core.$iterator], this [_f]); 423 return new (MappedIterator$(S, T))(this[_iterable][dartx.iterator], this [_f]);
423 } 424 }
424 get [core.$length]() { 425 get length() {
425 return this[_iterable][core.$length]; 426 return this[_iterable].length;
426 } 427 }
427 get [core.$isEmpty]() { 428 get isEmpty() {
428 return this[_iterable][core.$isEmpty]; 429 return this[_iterable][dartx.isEmpty];
429 } 430 }
430 get [core.$first]() { 431 get first() {
431 return this[_f](this[_iterable][core.$first]); 432 return this[_f](this[_iterable][dartx.first]);
432 } 433 }
433 get [core.$last]() { 434 get last() {
434 return this[_f](this[_iterable][core.$last]); 435 return this[_f](this[_iterable][dartx.last]);
435 } 436 }
436 get [core.$single]() { 437 get single() {
437 return this[_f](this[_iterable][core.$single]); 438 return this[_f](this[_iterable][dartx.single]);
438 } 439 }
439 [core.$elementAt](index) { 440 elementAt(index) {
440 return this[_f](this[_iterable][core.$elementAt](index)); 441 return this[_f](this[_iterable][dartx.elementAt](index));
441 } 442 }
442 } 443 }
443 dart.defineNamedConstructor(MappedIterable, '_'); 444 dart.defineNamedConstructor(MappedIterable, '_');
444 dart.setSignature(MappedIterable, { 445 dart.setSignature(MappedIterable, {
445 constructors: () => ({ 446 constructors: () => ({
446 new: [MappedIterable$(S, T), [core.Iterable, dart.functionType(T, [S])]] , 447 new: [MappedIterable$(S, T), [core.Iterable, dart.functionType(T, [S])]] ,
447 _: [MappedIterable$(S, T), [core.Iterable$(S), dart.functionType(T, [S]) ]] 448 _: [MappedIterable$(S, T), [core.Iterable$(S), dart.functionType(T, [S]) ]]
448 }), 449 }),
449 methods: () => ({[core.$elementAt]: [T, [core.int]]}) 450 methods: () => ({elementAt: [T, [core.int]]})
450 }); 451 });
451 return MappedIterable; 452 return MappedIterable;
452 }); 453 });
453 let MappedIterable = MappedIterable$(); 454 let MappedIterable = MappedIterable$();
454 let EfficientLengthMappedIterable$ = dart.generic(function(S, T) { 455 let EfficientLengthMappedIterable$ = dart.generic(function(S, T) {
455 class EfficientLengthMappedIterable extends MappedIterable$(S, T) { 456 class EfficientLengthMappedIterable extends MappedIterable$(S, T) {
456 EfficientLengthMappedIterable(iterable, func) { 457 EfficientLengthMappedIterable(iterable, func) {
457 super._(dart.as(iterable, core.Iterable$(S)), func); 458 super._(dart.as(iterable, core.Iterable$(S)), func);
458 } 459 }
459 } 460 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 }); 493 });
493 let MappedIterator = MappedIterator$(); 494 let MappedIterator = MappedIterator$();
494 let _source = dart.JsSymbol('_source'); 495 let _source = dart.JsSymbol('_source');
495 let MappedListIterable$ = dart.generic(function(S, T) { 496 let MappedListIterable$ = dart.generic(function(S, T) {
496 class MappedListIterable extends ListIterable$(T) { 497 class MappedListIterable extends ListIterable$(T) {
497 MappedListIterable(source, f) { 498 MappedListIterable(source, f) {
498 this[_source] = source; 499 this[_source] = source;
499 this[_f] = f; 500 this[_f] = f;
500 super.ListIterable(); 501 super.ListIterable();
501 } 502 }
502 get [core.$length]() { 503 get length() {
503 return this[_source][core.$length]; 504 return this[_source].length;
504 } 505 }
505 [core.$elementAt](index) { 506 elementAt(index) {
506 return this[_f](this[_source][core.$elementAt](index)); 507 return this[_f](this[_source][dartx.elementAt](index));
507 } 508 }
508 } 509 }
509 MappedListIterable[dart.implements] = () => [EfficientLength]; 510 MappedListIterable[dart.implements] = () => [EfficientLength];
511 dart.implementExtension(MappedListIterable, () => [core.Iterable]);
510 dart.setSignature(MappedListIterable, { 512 dart.setSignature(MappedListIterable, {
511 constructors: () => ({MappedListIterable: [MappedListIterable$(S, T), [cor e.Iterable$(S), dart.functionType(T, [S])]]}), 513 constructors: () => ({MappedListIterable: [MappedListIterable$(S, T), [cor e.Iterable$(S), dart.functionType(T, [S])]]}),
512 methods: () => ({[core.$elementAt]: [T, [core.int]]}) 514 methods: () => ({elementAt: [T, [core.int]]})
513 }); 515 });
514 return MappedListIterable; 516 return MappedListIterable;
515 }); 517 });
516 let MappedListIterable = MappedListIterable$(); 518 let MappedListIterable = MappedListIterable$();
517 let _ElementPredicate$ = dart.generic(function(E) { 519 let _ElementPredicate$ = dart.generic(function(E) {
518 let _ElementPredicate = dart.typedef('_ElementPredicate', () => dart.functio nType(core.bool, [E])); 520 let _ElementPredicate = dart.typedef('_ElementPredicate', () => dart.functio nType(core.bool, [E]));
519 return _ElementPredicate; 521 return _ElementPredicate;
520 }); 522 });
521 let _ElementPredicate = _ElementPredicate$(); 523 let _ElementPredicate = _ElementPredicate$();
522 let WhereIterable$ = dart.generic(function(E) { 524 let WhereIterable$ = dart.generic(function(E) {
523 class WhereIterable extends collection.IterableBase$(E) { 525 class WhereIterable extends collection.IterableBase$(E) {
524 WhereIterable(iterable, f) { 526 WhereIterable(iterable, f) {
525 this[_iterable] = iterable; 527 this[_iterable] = iterable;
526 this[_f] = f; 528 this[_f] = f;
527 super.IterableBase(); 529 super.IterableBase();
528 } 530 }
529 get [core.$iterator]() { 531 get iterator() {
530 return new (WhereIterator$(E))(this[_iterable][core.$iterator], this[_f] ); 532 return new (WhereIterator$(E))(this[_iterable][dartx.iterator], this[_f] );
531 } 533 }
532 } 534 }
533 dart.setSignature(WhereIterable, { 535 dart.setSignature(WhereIterable, {
534 constructors: () => ({WhereIterable: [WhereIterable$(E), [core.Iterable$(E ), dart.functionType(core.bool, [E])]]}) 536 constructors: () => ({WhereIterable: [WhereIterable$(E), [core.Iterable$(E ), dart.functionType(core.bool, [E])]]})
535 }); 537 });
536 return WhereIterable; 538 return WhereIterable;
537 }); 539 });
538 let WhereIterable = WhereIterable$(); 540 let WhereIterable = WhereIterable$();
539 let WhereIterator$ = dart.generic(function(E) { 541 let WhereIterator$ = dart.generic(function(E) {
540 class WhereIterator extends core.Iterator$(E) { 542 class WhereIterator extends core.Iterator$(E) {
(...skipping 25 matching lines...) Expand all
566 return _ExpandFunction; 568 return _ExpandFunction;
567 }); 569 });
568 let _ExpandFunction = _ExpandFunction$(); 570 let _ExpandFunction = _ExpandFunction$();
569 let ExpandIterable$ = dart.generic(function(S, T) { 571 let ExpandIterable$ = dart.generic(function(S, T) {
570 class ExpandIterable extends collection.IterableBase$(T) { 572 class ExpandIterable extends collection.IterableBase$(T) {
571 ExpandIterable(iterable, f) { 573 ExpandIterable(iterable, f) {
572 this[_iterable] = iterable; 574 this[_iterable] = iterable;
573 this[_f] = f; 575 this[_f] = f;
574 super.IterableBase(); 576 super.IterableBase();
575 } 577 }
576 get [core.$iterator]() { 578 get iterator() {
577 return new (ExpandIterator$(S, T))(this[_iterable][core.$iterator], dart .as(this[_f], __CastType0)); 579 return new (ExpandIterator$(S, T))(this[_iterable][dartx.iterator], dart .as(this[_f], __CastType0));
578 } 580 }
579 } 581 }
580 dart.setSignature(ExpandIterable, { 582 dart.setSignature(ExpandIterable, {
581 constructors: () => ({ExpandIterable: [ExpandIterable$(S, T), [core.Iterab le$(S), dart.functionType(core.Iterable$(T), [S])]]}) 583 constructors: () => ({ExpandIterable: [ExpandIterable$(S, T), [core.Iterab le$(S), dart.functionType(core.Iterable$(T), [S])]]})
582 }); 584 });
583 return ExpandIterable; 585 return ExpandIterable;
584 }); 586 });
585 let ExpandIterable = ExpandIterable$(); 587 let ExpandIterable = ExpandIterable$();
586 let _currentExpansion = dart.JsSymbol('_currentExpansion'); 588 let _currentExpansion = dart.JsSymbol('_currentExpansion');
587 let _nextExpansion = dart.JsSymbol('_nextExpansion'); 589 let _nextExpansion = dart.JsSymbol('_nextExpansion');
588 let ExpandIterator$ = dart.generic(function(S, T) { 590 let ExpandIterator$ = dart.generic(function(S, T) {
589 class ExpandIterator extends core.Object { 591 class ExpandIterator extends core.Object {
590 ExpandIterator(iterator, f) { 592 ExpandIterator(iterator, f) {
591 this[_iterator] = iterator; 593 this[_iterator] = iterator;
592 this[_f] = f; 594 this[_f] = f;
593 this[_currentExpansion] = dart.const(new (EmptyIterator$(T))()); 595 this[_currentExpansion] = dart.const(new (EmptyIterator$(T))());
594 this[_current] = null; 596 this[_current] = null;
595 } 597 }
596 [_nextExpansion]() {} 598 [_nextExpansion]() {}
597 get current() { 599 get current() {
598 return this[_current]; 600 return this[_current];
599 } 601 }
600 moveNext() { 602 moveNext() {
601 if (this[_currentExpansion] == null) 603 if (this[_currentExpansion] == null)
602 return false; 604 return false;
603 while (!dart.notNull(this[_currentExpansion].moveNext())) { 605 while (!dart.notNull(this[_currentExpansion].moveNext())) {
604 this[_current] = null; 606 this[_current] = null;
605 if (this[_iterator].moveNext()) { 607 if (this[_iterator].moveNext()) {
606 this[_currentExpansion] = null; 608 this[_currentExpansion] = null;
607 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato r].current)[core.$iterator], core.Iterator$(T)); 609 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato r].current)[dartx.iterator], core.Iterator$(T));
608 } else { 610 } else {
609 return false; 611 return false;
610 } 612 }
611 } 613 }
612 this[_current] = this[_currentExpansion].current; 614 this[_current] = this[_currentExpansion].current;
613 return true; 615 return true;
614 } 616 }
615 } 617 }
616 ExpandIterator[dart.implements] = () => [core.Iterator$(T)]; 618 ExpandIterator[dart.implements] = () => [core.Iterator$(T)];
617 dart.setSignature(ExpandIterator, { 619 dart.setSignature(ExpandIterator, {
(...skipping 16 matching lines...) Expand all
634 if (dart.is(iterable, EfficientLength)) { 636 if (dart.is(iterable, EfficientLength)) {
635 return new (EfficientLengthTakeIterable$(E))(iterable, takeCount); 637 return new (EfficientLengthTakeIterable$(E))(iterable, takeCount);
636 } 638 }
637 return new (TakeIterable$(E))._(iterable, takeCount); 639 return new (TakeIterable$(E))._(iterable, takeCount);
638 } 640 }
639 _(iterable, takeCount) { 641 _(iterable, takeCount) {
640 this[_iterable] = iterable; 642 this[_iterable] = iterable;
641 this[_takeCount] = takeCount; 643 this[_takeCount] = takeCount;
642 super.IterableBase(); 644 super.IterableBase();
643 } 645 }
644 get [core.$iterator]() { 646 get iterator() {
645 return new (TakeIterator$(E))(this[_iterable][core.$iterator], this[_tak eCount]); 647 return new (TakeIterator$(E))(this[_iterable][dartx.iterator], this[_tak eCount]);
646 } 648 }
647 } 649 }
648 dart.defineNamedConstructor(TakeIterable, '_'); 650 dart.defineNamedConstructor(TakeIterable, '_');
649 dart.setSignature(TakeIterable, { 651 dart.setSignature(TakeIterable, {
650 constructors: () => ({ 652 constructors: () => ({
651 new: [TakeIterable$(E), [core.Iterable$(E), core.int]], 653 new: [TakeIterable$(E), [core.Iterable$(E), core.int]],
652 _: [TakeIterable$(E), [core.Iterable$(E), core.int]] 654 _: [TakeIterable$(E), [core.Iterable$(E), core.int]]
653 }) 655 })
654 }); 656 });
655 return TakeIterable; 657 return TakeIterable;
656 }); 658 });
657 let TakeIterable = TakeIterable$(); 659 let TakeIterable = TakeIterable$();
658 let EfficientLengthTakeIterable$ = dart.generic(function(E) { 660 let EfficientLengthTakeIterable$ = dart.generic(function(E) {
659 class EfficientLengthTakeIterable extends TakeIterable$(E) { 661 class EfficientLengthTakeIterable extends TakeIterable$(E) {
660 EfficientLengthTakeIterable(iterable, takeCount) { 662 EfficientLengthTakeIterable(iterable, takeCount) {
661 super._(iterable, takeCount); 663 super._(iterable, takeCount);
662 } 664 }
663 get [core.$length]() { 665 get length() {
664 let iterableLength = this[_iterable][core.$length]; 666 let iterableLength = this[_iterable].length;
665 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount])) 667 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount]))
666 return this[_takeCount]; 668 return this[_takeCount];
667 return iterableLength; 669 return iterableLength;
668 } 670 }
669 } 671 }
670 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength]; 672 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength];
671 dart.setSignature(EfficientLengthTakeIterable, { 673 dart.setSignature(EfficientLengthTakeIterable, {
672 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte rable$(E), [core.Iterable$(E), core.int]]}) 674 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte rable$(E), [core.Iterable$(E), core.int]]})
673 }); 675 });
674 return EfficientLengthTakeIterable; 676 return EfficientLengthTakeIterable;
(...skipping 28 matching lines...) Expand all
703 return TakeIterator; 705 return TakeIterator;
704 }); 706 });
705 let TakeIterator = TakeIterator$(); 707 let TakeIterator = TakeIterator$();
706 let TakeWhileIterable$ = dart.generic(function(E) { 708 let TakeWhileIterable$ = dart.generic(function(E) {
707 class TakeWhileIterable extends collection.IterableBase$(E) { 709 class TakeWhileIterable extends collection.IterableBase$(E) {
708 TakeWhileIterable(iterable, f) { 710 TakeWhileIterable(iterable, f) {
709 this[_iterable] = iterable; 711 this[_iterable] = iterable;
710 this[_f] = f; 712 this[_f] = f;
711 super.IterableBase(); 713 super.IterableBase();
712 } 714 }
713 get [core.$iterator]() { 715 get iterator() {
714 return new (TakeWhileIterator$(E))(this[_iterable][core.$iterator], dart .as(this[_f], __CastType2)); 716 return new (TakeWhileIterator$(E))(this[_iterable][dartx.iterator], dart .as(this[_f], __CastType2));
715 } 717 }
716 } 718 }
717 dart.setSignature(TakeWhileIterable, { 719 dart.setSignature(TakeWhileIterable, {
718 constructors: () => ({TakeWhileIterable: [TakeWhileIterable$(E), [core.Ite rable$(E), dart.functionType(core.bool, [E])]]}) 720 constructors: () => ({TakeWhileIterable: [TakeWhileIterable$(E), [core.Ite rable$(E), dart.functionType(core.bool, [E])]]})
719 }); 721 });
720 return TakeWhileIterable; 722 return TakeWhileIterable;
721 }); 723 });
722 let TakeWhileIterable = TakeWhileIterable$(); 724 let TakeWhileIterable = TakeWhileIterable$();
723 let _isFinished = dart.JsSymbol('_isFinished'); 725 let _isFinished = dart.JsSymbol('_isFinished');
724 let TakeWhileIterator$ = dart.generic(function(E) { 726 let TakeWhileIterator$ = dart.generic(function(E) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 } 763 }
762 _(iterable, skipCount) { 764 _(iterable, skipCount) {
763 this[_iterable] = iterable; 765 this[_iterable] = iterable;
764 this[_skipCount] = skipCount; 766 this[_skipCount] = skipCount;
765 super.IterableBase(); 767 super.IterableBase();
766 if (!(typeof this[_skipCount] == 'number')) { 768 if (!(typeof this[_skipCount] == 'number')) {
767 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer"); 769 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
768 } 770 }
769 core.RangeError.checkNotNegative(this[_skipCount], "count"); 771 core.RangeError.checkNotNegative(this[_skipCount], "count");
770 } 772 }
771 [core.$skip](count) { 773 skip(count) {
772 if (!(typeof this[_skipCount] == 'number')) { 774 if (!(typeof this[_skipCount] == 'number')) {
773 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer"); 775 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
774 } 776 }
775 core.RangeError.checkNotNegative(this[_skipCount], "count"); 777 core.RangeError.checkNotNegative(this[_skipCount], "count");
776 return new (SkipIterable$(E))._(this[_iterable], dart.notNull(this[_skip Count]) + dart.notNull(count)); 778 return new (SkipIterable$(E))._(this[_iterable], dart.notNull(this[_skip Count]) + dart.notNull(count));
777 } 779 }
778 get [core.$iterator]() { 780 get iterator() {
779 return new (SkipIterator$(E))(this[_iterable][core.$iterator], this[_ski pCount]); 781 return new (SkipIterator$(E))(this[_iterable][dartx.iterator], this[_ski pCount]);
780 } 782 }
781 } 783 }
782 dart.defineNamedConstructor(SkipIterable, '_'); 784 dart.defineNamedConstructor(SkipIterable, '_');
783 dart.setSignature(SkipIterable, { 785 dart.setSignature(SkipIterable, {
784 constructors: () => ({ 786 constructors: () => ({
785 new: [SkipIterable$(E), [core.Iterable$(E), core.int]], 787 new: [SkipIterable$(E), [core.Iterable$(E), core.int]],
786 _: [SkipIterable$(E), [core.Iterable$(E), core.int]] 788 _: [SkipIterable$(E), [core.Iterable$(E), core.int]]
787 }), 789 }),
788 methods: () => ({[core.$skip]: [core.Iterable$(E), [core.int]]}) 790 methods: () => ({skip: [core.Iterable$(E), [core.int]]})
789 }); 791 });
790 return SkipIterable; 792 return SkipIterable;
791 }); 793 });
792 let SkipIterable = SkipIterable$(); 794 let SkipIterable = SkipIterable$();
793 let EfficientLengthSkipIterable$ = dart.generic(function(E) { 795 let EfficientLengthSkipIterable$ = dart.generic(function(E) {
794 class EfficientLengthSkipIterable extends SkipIterable$(E) { 796 class EfficientLengthSkipIterable extends SkipIterable$(E) {
795 EfficientLengthSkipIterable(iterable, skipCount) { 797 EfficientLengthSkipIterable(iterable, skipCount) {
796 super._(iterable, skipCount); 798 super._(iterable, skipCount);
797 } 799 }
798 get [core.$length]() { 800 get length() {
799 let length = dart.notNull(this[_iterable][core.$length]) - dart.notNull( this[_skipCount]); 801 let length = dart.notNull(this[_iterable].length) - dart.notNull(this[_s kipCount]);
800 if (dart.notNull(length) >= 0) 802 if (dart.notNull(length) >= 0)
801 return length; 803 return length;
802 return 0; 804 return 0;
803 } 805 }
804 } 806 }
805 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength]; 807 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength];
806 dart.setSignature(EfficientLengthSkipIterable, { 808 dart.setSignature(EfficientLengthSkipIterable, {
807 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte rable$(E), [core.Iterable$(E), core.int]]}) 809 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte rable$(E), [core.Iterable$(E), core.int]]})
808 }); 810 });
809 return EfficientLengthSkipIterable; 811 return EfficientLengthSkipIterable;
(...skipping 23 matching lines...) Expand all
833 return SkipIterator; 835 return SkipIterator;
834 }); 836 });
835 let SkipIterator = SkipIterator$(); 837 let SkipIterator = SkipIterator$();
836 let SkipWhileIterable$ = dart.generic(function(E) { 838 let SkipWhileIterable$ = dart.generic(function(E) {
837 class SkipWhileIterable extends collection.IterableBase$(E) { 839 class SkipWhileIterable extends collection.IterableBase$(E) {
838 SkipWhileIterable(iterable, f) { 840 SkipWhileIterable(iterable, f) {
839 this[_iterable] = iterable; 841 this[_iterable] = iterable;
840 this[_f] = f; 842 this[_f] = f;
841 super.IterableBase(); 843 super.IterableBase();
842 } 844 }
843 get [core.$iterator]() { 845 get iterator() {
844 return new (SkipWhileIterator$(E))(this[_iterable][core.$iterator], dart .as(this[_f], __CastType4)); 846 return new (SkipWhileIterator$(E))(this[_iterable][dartx.iterator], dart .as(this[_f], __CastType4));
845 } 847 }
846 } 848 }
847 dart.setSignature(SkipWhileIterable, { 849 dart.setSignature(SkipWhileIterable, {
848 constructors: () => ({SkipWhileIterable: [SkipWhileIterable$(E), [core.Ite rable$(E), dart.functionType(core.bool, [E])]]}) 850 constructors: () => ({SkipWhileIterable: [SkipWhileIterable$(E), [core.Ite rable$(E), dart.functionType(core.bool, [E])]]})
849 }); 851 });
850 return SkipWhileIterable; 852 return SkipWhileIterable;
851 }); 853 });
852 let SkipWhileIterable = SkipWhileIterable$(); 854 let SkipWhileIterable = SkipWhileIterable$();
853 let _hasSkipped = dart.JsSymbol('_hasSkipped'); 855 let _hasSkipped = dart.JsSymbol('_hasSkipped');
854 let SkipWhileIterator$ = dart.generic(function(E) { 856 let SkipWhileIterator$ = dart.generic(function(E) {
(...skipping 22 matching lines...) Expand all
877 methods: () => ({moveNext: [core.bool, []]}) 879 methods: () => ({moveNext: [core.bool, []]})
878 }); 880 });
879 return SkipWhileIterator; 881 return SkipWhileIterator;
880 }); 882 });
881 let SkipWhileIterator = SkipWhileIterator$(); 883 let SkipWhileIterator = SkipWhileIterator$();
882 let EmptyIterable$ = dart.generic(function(E) { 884 let EmptyIterable$ = dart.generic(function(E) {
883 class EmptyIterable extends collection.IterableBase$(E) { 885 class EmptyIterable extends collection.IterableBase$(E) {
884 EmptyIterable() { 886 EmptyIterable() {
885 super.IterableBase(); 887 super.IterableBase();
886 } 888 }
887 get [core.$iterator]() { 889 get iterator() {
888 return dart.const(new (EmptyIterator$(E))()); 890 return dart.const(new (EmptyIterator$(E))());
889 } 891 }
890 [core.$forEach](action) { 892 forEach(action) {
891 dart.as(action, dart.functionType(dart.void, [E])); 893 dart.as(action, dart.functionType(dart.void, [E]));
892 } 894 }
893 get [core.$isEmpty]() { 895 get isEmpty() {
894 return true; 896 return true;
895 } 897 }
896 get [core.$length]() { 898 get length() {
897 return 0; 899 return 0;
898 } 900 }
899 get [core.$first]() { 901 get first() {
900 throw IterableElementError.noElement(); 902 throw IterableElementError.noElement();
901 } 903 }
902 get [core.$last]() { 904 get last() {
903 throw IterableElementError.noElement(); 905 throw IterableElementError.noElement();
904 } 906 }
905 get [core.$single]() { 907 get single() {
906 throw IterableElementError.noElement(); 908 throw IterableElementError.noElement();
907 } 909 }
908 [core.$elementAt](index) { 910 elementAt(index) {
909 throw new core.RangeError.range(index, 0, 0, "index"); 911 throw new core.RangeError.range(index, 0, 0, "index");
910 } 912 }
911 [core.$contains](element) { 913 contains(element) {
912 return false; 914 return false;
913 } 915 }
914 [core.$every](test) { 916 every(test) {
915 dart.as(test, dart.functionType(core.bool, [E])); 917 dart.as(test, dart.functionType(core.bool, [E]));
916 return true; 918 return true;
917 } 919 }
918 [core.$any](test) { 920 any(test) {
919 dart.as(test, dart.functionType(core.bool, [E])); 921 dart.as(test, dart.functionType(core.bool, [E]));
920 return false; 922 return false;
921 } 923 }
922 [core.$firstWhere](test, opts) { 924 firstWhere(test, opts) {
923 dart.as(test, dart.functionType(core.bool, [E])); 925 dart.as(test, dart.functionType(core.bool, [E]));
924 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 926 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
925 dart.as(orElse, dart.functionType(E, [])); 927 dart.as(orElse, dart.functionType(E, []));
926 if (orElse != null) 928 if (orElse != null)
927 return orElse(); 929 return orElse();
928 throw IterableElementError.noElement(); 930 throw IterableElementError.noElement();
929 } 931 }
930 [core.$lastWhere](test, opts) { 932 lastWhere(test, opts) {
931 dart.as(test, dart.functionType(core.bool, [E])); 933 dart.as(test, dart.functionType(core.bool, [E]));
932 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 934 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
933 dart.as(orElse, dart.functionType(E, [])); 935 dart.as(orElse, dart.functionType(E, []));
934 if (orElse != null) 936 if (orElse != null)
935 return orElse(); 937 return orElse();
936 throw IterableElementError.noElement(); 938 throw IterableElementError.noElement();
937 } 939 }
938 [core.$singleWhere](test, opts) { 940 singleWhere(test, opts) {
939 dart.as(test, dart.functionType(core.bool, [E])); 941 dart.as(test, dart.functionType(core.bool, [E]));
940 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 942 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
941 dart.as(orElse, dart.functionType(E, [])); 943 dart.as(orElse, dart.functionType(E, []));
942 if (orElse != null) 944 if (orElse != null)
943 return orElse(); 945 return orElse();
944 throw IterableElementError.noElement(); 946 throw IterableElementError.noElement();
945 } 947 }
946 [core.$join](separator) { 948 join(separator) {
947 if (separator === void 0) 949 if (separator === void 0)
948 separator = ""; 950 separator = "";
949 return ""; 951 return "";
950 } 952 }
951 [core.$where](test) { 953 where(test) {
952 dart.as(test, dart.functionType(core.bool, [E])); 954 dart.as(test, dart.functionType(core.bool, [E]));
953 return this; 955 return this;
954 } 956 }
955 [core.$map](f) { 957 map(f) {
956 dart.as(f, dart.functionType(core.Object, [E])); 958 dart.as(f, dart.functionType(core.Object, [E]));
957 return dart.const(new (EmptyIterable$())()); 959 return dart.const(new (EmptyIterable$())());
958 } 960 }
959 [core.$reduce](combine) { 961 reduce(combine) {
960 dart.as(combine, dart.functionType(E, [E, E])); 962 dart.as(combine, dart.functionType(E, [E, E]));
961 throw IterableElementError.noElement(); 963 throw IterableElementError.noElement();
962 } 964 }
963 [core.$fold](initialValue, combine) { 965 fold(initialValue, combine) {
964 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E])); 966 dart.as(combine, dart.functionType(core.Object, [dart.bottom, E]));
965 return initialValue; 967 return initialValue;
966 } 968 }
967 [core.$skip](count) { 969 skip(count) {
968 core.RangeError.checkNotNegative(count, "count"); 970 core.RangeError.checkNotNegative(count, "count");
969 return this; 971 return this;
970 } 972 }
971 [core.$skipWhile](test) { 973 skipWhile(test) {
972 dart.as(test, dart.functionType(core.bool, [E])); 974 dart.as(test, dart.functionType(core.bool, [E]));
973 return this; 975 return this;
974 } 976 }
975 [core.$take](count) { 977 take(count) {
976 core.RangeError.checkNotNegative(count, "count"); 978 core.RangeError.checkNotNegative(count, "count");
977 return this; 979 return this;
978 } 980 }
979 [core.$takeWhile](test) { 981 takeWhile(test) {
980 dart.as(test, dart.functionType(core.bool, [E])); 982 dart.as(test, dart.functionType(core.bool, [E]));
981 return this; 983 return this;
982 } 984 }
983 [core.$toList](opts) { 985 toList(opts) {
984 let growable = opts && 'growable' in opts ? opts.growable : true; 986 let growable = opts && 'growable' in opts ? opts.growable : true;
985 return growable ? dart.setType([], core.List$(E)) : core.List$(E).new(0) ; 987 return growable ? dart.list([], E) : core.List$(E).new(0);
986 } 988 }
987 [core.$toSet]() { 989 toSet() {
988 return core.Set$(E).new(); 990 return core.Set$(E).new();
989 } 991 }
990 } 992 }
991 EmptyIterable[dart.implements] = () => [EfficientLength]; 993 EmptyIterable[dart.implements] = () => [EfficientLength];
994 dart.implementExtension(EmptyIterable, () => [core.Iterable]);
992 dart.setSignature(EmptyIterable, { 995 dart.setSignature(EmptyIterable, {
993 constructors: () => ({EmptyIterable: [EmptyIterable$(E), []]}), 996 constructors: () => ({EmptyIterable: [EmptyIterable$(E), []]}),
994 methods: () => ({ 997 methods: () => ({
995 [core.$forEach]: [dart.void, [dart.functionType(dart.void, [E])]], 998 forEach: [dart.void, [dart.functionType(dart.void, [E])]],
996 [core.$elementAt]: [E, [core.int]], 999 elementAt: [E, [core.int]],
997 [core.$every]: [core.bool, [dart.functionType(core.bool, [E])]], 1000 every: [core.bool, [dart.functionType(core.bool, [E])]],
998 [core.$any]: [core.bool, [dart.functionType(core.bool, [E])]], 1001 any: [core.bool, [dart.functionType(core.bool, [E])]],
999 [core.$firstWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: da rt.functionType(E, [])}], 1002 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct ionType(E, [])}],
1000 [core.$lastWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: dar t.functionType(E, [])}], 1003 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi onType(E, [])}],
1001 [core.$singleWhere]: [E, [dart.functionType(core.bool, [E])], {orElse: d art.functionType(E, [])}], 1004 singleWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.func tionType(E, [])}],
1002 [core.$where]: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], 1005 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
1003 [core.$map]: [core.Iterable, [dart.functionType(core.Object, [E])]], 1006 map: [core.Iterable, [dart.functionType(core.Object, [E])]],
1004 [core.$reduce]: [E, [dart.functionType(E, [E, E])]], 1007 reduce: [E, [dart.functionType(E, [E, E])]],
1005 [core.$fold]: [core.Object, [core.Object, dart.functionType(core.Object, [dart.bottom, E])]], 1008 fold: [core.Object, [core.Object, dart.functionType(core.Object, [dart.b ottom, E])]],
1006 [core.$skip]: [core.Iterable$(E), [core.int]], 1009 skip: [core.Iterable$(E), [core.int]],
1007 [core.$skipWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E] )]], 1010 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
1008 [core.$take]: [core.Iterable$(E), [core.int]], 1011 take: [core.Iterable$(E), [core.int]],
1009 [core.$takeWhile]: [core.Iterable$(E), [dart.functionType(core.bool, [E] )]], 1012 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
1010 [core.$toList]: [core.List$(E), [], {growable: core.bool}], 1013 toList: [core.List$(E), [], {growable: core.bool}],
1011 [core.$toSet]: [core.Set$(E), []] 1014 toSet: [core.Set$(E), []]
1012 }) 1015 })
1013 }); 1016 });
1014 return EmptyIterable; 1017 return EmptyIterable;
1015 }); 1018 });
1016 let EmptyIterable = EmptyIterable$(); 1019 let EmptyIterable = EmptyIterable$();
1017 let EmptyIterator$ = dart.generic(function(E) { 1020 let EmptyIterator$ = dart.generic(function(E) {
1018 class EmptyIterator extends core.Object { 1021 class EmptyIterator extends core.Object {
1019 EmptyIterator() { 1022 EmptyIterator() {
1020 } 1023 }
1021 moveNext() { 1024 moveNext() {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1065 static every(iterable, f) { 1068 static every(iterable, f) {
1066 dart.as(f, dart.functionType(core.bool, [dart.bottom])); 1069 dart.as(f, dart.functionType(core.bool, [dart.bottom]));
1067 for (let e of iterable) { 1070 for (let e of iterable) {
1068 if (!dart.notNull(dart.dcall(f, e))) 1071 if (!dart.notNull(dart.dcall(f, e)))
1069 return false; 1072 return false;
1070 } 1073 }
1071 return true; 1074 return true;
1072 } 1075 }
1073 static reduce(iterable, combine) { 1076 static reduce(iterable, combine) {
1074 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m])); 1077 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m]));
1075 let iterator = iterable[core.$iterator]; 1078 let iterator = iterable[dartx.iterator];
1076 if (!dart.notNull(iterator.moveNext())) 1079 if (!dart.notNull(iterator.moveNext()))
1077 throw IterableElementError.noElement(); 1080 throw IterableElementError.noElement();
1078 let value = iterator.current; 1081 let value = iterator.current;
1079 while (iterator.moveNext()) { 1082 while (iterator.moveNext()) {
1080 value = dart.dcall(combine, value, iterator.current); 1083 value = dart.dcall(combine, value, iterator.current);
1081 } 1084 }
1082 return value; 1085 return value;
1083 } 1086 }
1084 static fold(iterable, initialValue, combine) { 1087 static fold(iterable, initialValue, combine) {
1085 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m])); 1088 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m]));
1086 for (let element of iterable) { 1089 for (let element of iterable) {
1087 initialValue = dart.dcall(combine, initialValue, element); 1090 initialValue = dart.dcall(combine, initialValue, element);
1088 } 1091 }
1089 return initialValue; 1092 return initialValue;
1090 } 1093 }
1091 static removeWhereList(list, test) { 1094 static removeWhereList(list, test) {
1092 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1095 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1093 let retained = []; 1096 let retained = [];
1094 let length = list[core.$length]; 1097 let length = list.length;
1095 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1098 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1096 let element = list[core.$get](i); 1099 let element = list[dartx.get](i);
1097 if (!dart.notNull(dart.dcall(test, element))) { 1100 if (!dart.notNull(dart.dcall(test, element))) {
1098 retained[core.$add](element); 1101 retained[dartx.add](element);
1099 } 1102 }
1100 if (length != list[core.$length]) { 1103 if (length != list.length) {
1101 throw new core.ConcurrentModificationError(list); 1104 throw new core.ConcurrentModificationError(list);
1102 } 1105 }
1103 } 1106 }
1104 if (retained[core.$length] == length) 1107 if (retained.length == length)
1105 return; 1108 return;
1106 list[core.$length] = retained[core.$length]; 1109 list.length = retained.length;
1107 for (let i = 0; dart.notNull(i) < dart.notNull(retained[core.$length]); i = dart.notNull(i) + 1) { 1110 for (let i = 0; dart.notNull(i) < dart.notNull(retained.length); i = dar t.notNull(i) + 1) {
1108 list[core.$set](i, retained[core.$get](i)); 1111 list[dartx.set](i, retained[dartx.get](i));
1109 } 1112 }
1110 } 1113 }
1111 static isEmpty(iterable) { 1114 static isEmpty(iterable) {
1112 return !dart.notNull(iterable[core.$iterator].moveNext()); 1115 return !dart.notNull(iterable[dartx.iterator].moveNext());
1113 } 1116 }
1114 static first(iterable) { 1117 static first(iterable) {
1115 let it = iterable[core.$iterator]; 1118 let it = iterable[dartx.iterator];
1116 if (!dart.notNull(it.moveNext())) { 1119 if (!dart.notNull(it.moveNext())) {
1117 throw IterableElementError.noElement(); 1120 throw IterableElementError.noElement();
1118 } 1121 }
1119 return it.current; 1122 return it.current;
1120 } 1123 }
1121 static last(iterable) { 1124 static last(iterable) {
1122 let it = iterable[core.$iterator]; 1125 let it = iterable[dartx.iterator];
1123 if (!dart.notNull(it.moveNext())) { 1126 if (!dart.notNull(it.moveNext())) {
1124 throw IterableElementError.noElement(); 1127 throw IterableElementError.noElement();
1125 } 1128 }
1126 let result = null; 1129 let result = null;
1127 do { 1130 do {
1128 result = it.current; 1131 result = it.current;
1129 } while (it.moveNext()); 1132 } while (it.moveNext());
1130 return result; 1133 return result;
1131 } 1134 }
1132 static single(iterable) { 1135 static single(iterable) {
1133 let it = iterable[core.$iterator]; 1136 let it = iterable[dartx.iterator];
1134 if (!dart.notNull(it.moveNext())) 1137 if (!dart.notNull(it.moveNext()))
1135 throw IterableElementError.noElement(); 1138 throw IterableElementError.noElement();
1136 let result = it.current; 1139 let result = it.current;
1137 if (it.moveNext()) 1140 if (it.moveNext())
1138 throw IterableElementError.tooMany(); 1141 throw IterableElementError.tooMany();
1139 return result; 1142 return result;
1140 } 1143 }
1141 static firstWhere(iterable, test, orElse) { 1144 static firstWhere(iterable, test, orElse) {
1142 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1145 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1143 dart.as(orElse, dart.functionType(core.Object, [])); 1146 dart.as(orElse, dart.functionType(core.Object, []));
(...skipping 18 matching lines...) Expand all
1162 } 1165 }
1163 if (foundMatching) 1166 if (foundMatching)
1164 return result; 1167 return result;
1165 if (orElse != null) 1168 if (orElse != null)
1166 return orElse(); 1169 return orElse();
1167 throw IterableElementError.noElement(); 1170 throw IterableElementError.noElement();
1168 } 1171 }
1169 static lastWhereList(list, test, orElse) { 1172 static lastWhereList(list, test, orElse) {
1170 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1173 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1171 dart.as(orElse, dart.functionType(core.Object, [])); 1174 dart.as(orElse, dart.functionType(core.Object, []));
1172 for (let i = dart.notNull(list[core.$length]) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { 1175 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) {
1173 let element = list[core.$get](i); 1176 let element = list[dartx.get](i);
1174 if (dart.dcall(test, element)) 1177 if (dart.dcall(test, element))
1175 return element; 1178 return element;
1176 } 1179 }
1177 if (orElse != null) 1180 if (orElse != null)
1178 return orElse(); 1181 return orElse();
1179 throw IterableElementError.noElement(); 1182 throw IterableElementError.noElement();
1180 } 1183 }
1181 static singleWhere(iterable, test) { 1184 static singleWhere(iterable, test) {
1182 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1185 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1183 let result = null; 1186 let result = null;
(...skipping 26 matching lines...) Expand all
1210 static join(iterable, separator) { 1213 static join(iterable, separator) {
1211 if (separator === void 0) 1214 if (separator === void 0)
1212 separator = null; 1215 separator = null;
1213 let buffer = new core.StringBuffer(); 1216 let buffer = new core.StringBuffer();
1214 buffer.writeAll(iterable, separator); 1217 buffer.writeAll(iterable, separator);
1215 return dart.toString(buffer); 1218 return dart.toString(buffer);
1216 } 1219 }
1217 static joinList(list, separator) { 1220 static joinList(list, separator) {
1218 if (separator === void 0) 1221 if (separator === void 0)
1219 separator = null; 1222 separator = null;
1220 if (list[core.$isEmpty]) 1223 if (list[dartx.isEmpty])
1221 return ""; 1224 return "";
1222 if (list[core.$length] == 1) 1225 if (list.length == 1)
1223 return `${list[core.$get](0)}`; 1226 return `${list[dartx.get](0)}`;
1224 let buffer = new core.StringBuffer(); 1227 let buffer = new core.StringBuffer();
1225 if (separator.isEmpty) { 1228 if (separator[dartx.isEmpty]) {
1226 for (let i = 0; dart.notNull(i) < dart.notNull(list[core.$length]); i = dart.notNull(i) + 1) { 1229 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) {
1227 buffer.write(list[core.$get](i)); 1230 buffer.write(list[dartx.get](i));
1228 } 1231 }
1229 } else { 1232 } else {
1230 buffer.write(list[core.$get](0)); 1233 buffer.write(list[dartx.get](0));
1231 for (let i = 1; dart.notNull(i) < dart.notNull(list[core.$length]); i = dart.notNull(i) + 1) { 1234 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) {
1232 buffer.write(separator); 1235 buffer.write(separator);
1233 buffer.write(list[core.$get](i)); 1236 buffer.write(list[dartx.get](i));
1234 } 1237 }
1235 } 1238 }
1236 return dart.toString(buffer); 1239 return dart.toString(buffer);
1237 } 1240 }
1238 where(iterable, f) { 1241 where(iterable, f) {
1239 dart.as(f, dart.functionType(core.bool, [dart.bottom])); 1242 dart.as(f, dart.functionType(core.bool, [dart.bottom]));
1240 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar t.as(f, __CastType6)); 1243 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar t.as(f, __CastType6));
1241 } 1244 }
1242 static map(iterable, f) { 1245 static map(iterable, f) {
1243 dart.as(f, dart.functionType(core.Object, [dart.bottom])); 1246 dart.as(f, dart.functionType(core.Object, [dart.bottom]));
(...skipping 26 matching lines...) Expand all
1270 } 1273 }
1271 static sortList(list, compare) { 1274 static sortList(list, compare) {
1272 dart.as(compare, dart.functionType(core.int, [dart.bottom, dart.bottom]) ); 1275 dart.as(compare, dart.functionType(core.int, [dart.bottom, dart.bottom]) );
1273 if (compare == null) 1276 if (compare == null)
1274 compare = core.Comparable.compare; 1277 compare = core.Comparable.compare;
1275 Sort.sort(list, compare); 1278 Sort.sort(list, compare);
1276 } 1279 }
1277 static shuffleList(list, random) { 1280 static shuffleList(list, random) {
1278 if (random == null) 1281 if (random == null)
1279 random = math.Random.new(); 1282 random = math.Random.new();
1280 let length = list[core.$length]; 1283 let length = list.length;
1281 while (dart.notNull(length) > 1) { 1284 while (dart.notNull(length) > 1) {
1282 let pos = random.nextInt(length); 1285 let pos = random.nextInt(length);
1283 length = dart.notNull(length) - 1; 1286 length = dart.notNull(length) - 1;
1284 let tmp = list[core.$get](length); 1287 let tmp = list[dartx.get](length);
1285 list[core.$set](length, list[core.$get](pos)); 1288 list[dartx.set](length, list[dartx.get](pos));
1286 list[core.$set](pos, tmp); 1289 list[dartx.set](pos, tmp);
1287 } 1290 }
1288 } 1291 }
1289 static indexOfList(list, element, start) { 1292 static indexOfList(list, element, start) {
1290 return Lists.indexOf(list, element, start, list[core.$length]); 1293 return Lists.indexOf(list, element, start, list.length);
1291 } 1294 }
1292 static lastIndexOfList(list, element, start) { 1295 static lastIndexOfList(list, element, start) {
1293 if (start == null) 1296 if (start == null)
1294 start = dart.notNull(list[core.$length]) - 1; 1297 start = dart.notNull(list.length) - 1;
1295 return Lists.lastIndexOf(list, element, start); 1298 return Lists.lastIndexOf(list, element, start);
1296 } 1299 }
1297 static _rangeCheck(list, start, end) { 1300 static _rangeCheck(list, start, end) {
1298 core.RangeError.checkValidRange(start, end, list[core.$length]); 1301 core.RangeError.checkValidRange(start, end, list.length);
1299 } 1302 }
1300 getRangeList(list, start, end) { 1303 getRangeList(list, start, end) {
1301 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1304 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1302 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start , end); 1305 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start , end);
1303 } 1306 }
1304 static setRangeList(list, start, end, from, skipCount) { 1307 static setRangeList(list, start, end, from, skipCount) {
1305 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1308 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1306 let length = dart.notNull(end) - dart.notNull(start); 1309 let length = dart.notNull(end) - dart.notNull(start);
1307 if (length == 0) 1310 if (length == 0)
1308 return; 1311 return;
1309 if (dart.notNull(skipCount) < 0) 1312 if (dart.notNull(skipCount) < 0)
1310 throw new core.ArgumentError(skipCount); 1313 throw new core.ArgumentError(skipCount);
1311 let otherList = null; 1314 let otherList = null;
1312 let otherStart = null; 1315 let otherStart = null;
1313 if (dart.is(from, core.List)) { 1316 if (dart.is(from, core.List)) {
1314 otherList = from; 1317 otherList = from;
1315 otherStart = skipCount; 1318 otherStart = skipCount;
1316 } else { 1319 } else {
1317 otherList = from[core.$skip](skipCount)[core.$toList]({growable: false }); 1320 otherList = from[dartx.skip](skipCount)[dartx.toList]({growable: false });
1318 otherStart = 0; 1321 otherStart = 0;
1319 } 1322 }
1320 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List[core.$length])) { 1323 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List.length)) {
1321 throw IterableElementError.tooFew(); 1324 throw IterableElementError.tooFew();
1322 } 1325 }
1323 Lists.copy(otherList, otherStart, list, start, length); 1326 Lists.copy(otherList, otherStart, list, start, length);
1324 } 1327 }
1325 static replaceRangeList(list, start, end, iterable) { 1328 static replaceRangeList(list, start, end, iterable) {
1326 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1329 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1327 if (!dart.is(iterable, EfficientLength)) { 1330 if (!dart.is(iterable, EfficientLength)) {
1328 iterable = iterable[core.$toList](); 1331 iterable = iterable[dartx.toList]();
1329 } 1332 }
1330 let removeLength = dart.notNull(end) - dart.notNull(start); 1333 let removeLength = dart.notNull(end) - dart.notNull(start);
1331 let insertLength = iterable[core.$length]; 1334 let insertLength = iterable.length;
1332 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { 1335 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) {
1333 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); 1336 let delta = dart.notNull(removeLength) - dart.notNull(insertLength);
1334 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1337 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1335 let newEnd = dart.notNull(list[core.$length]) - dart.notNull(delta); 1338 let newEnd = dart.notNull(list.length) - dart.notNull(delta);
1336 list[core.$setRange](start, insertEnd, iterable); 1339 list[dartx.setRange](start, insertEnd, iterable);
1337 if (delta != 0) { 1340 if (delta != 0) {
1338 list[core.$setRange](insertEnd, newEnd, list, end); 1341 list[dartx.setRange](insertEnd, newEnd, list, end);
1339 list[core.$length] = newEnd; 1342 list.length = newEnd;
1340 } 1343 }
1341 } else { 1344 } else {
1342 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); 1345 let delta = dart.notNull(insertLength) - dart.notNull(removeLength);
1343 let newLength = dart.notNull(list[core.$length]) + dart.notNull(delta) ; 1346 let newLength = dart.notNull(list.length) + dart.notNull(delta);
1344 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1347 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1345 list[core.$length] = newLength; 1348 list.length = newLength;
1346 list[core.$setRange](insertEnd, newLength, list, end); 1349 list[dartx.setRange](insertEnd, newLength, list, end);
1347 list[core.$setRange](start, insertEnd, iterable); 1350 list[dartx.setRange](start, insertEnd, iterable);
1348 } 1351 }
1349 } 1352 }
1350 static fillRangeList(list, start, end, fillValue) { 1353 static fillRangeList(list, start, end, fillValue) {
1351 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1354 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1352 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 1355 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
1353 list[core.$set](i, fillValue); 1356 list[dartx.set](i, fillValue);
1354 } 1357 }
1355 } 1358 }
1356 static insertAllList(list, index, iterable) { 1359 static insertAllList(list, index, iterable) {
1357 core.RangeError.checkValueInInterval(index, 0, list[core.$length], "inde x"); 1360 core.RangeError.checkValueInInterval(index, 0, list.length, "index");
1358 if (!dart.is(iterable, EfficientLength)) { 1361 if (!dart.is(iterable, EfficientLength)) {
1359 iterable = iterable[core.$toList]({growable: false}); 1362 iterable = iterable[dartx.toList]({growable: false});
1360 } 1363 }
1361 let insertionLength = iterable[core.$length]; 1364 let insertionLength = iterable.length;
1362 list[core.$length] = dart.notNull(list[core.$length]) + dart.notNull(ins ertionLength); 1365 list.length = dart.notNull(list.length) + dart.notNull(insertionLength);
1363 list[core.$setRange](dart.notNull(index) + dart.notNull(insertionLength) , list[core.$length], list, index); 1366 list[dartx.setRange](dart.notNull(index) + dart.notNull(insertionLength) , list.length, list, index);
1364 for (let element of iterable) { 1367 for (let element of iterable) {
1365 list[core.$set]((() => { 1368 list[dartx.set]((() => {
1366 let x = index; 1369 let x = index;
1367 index = dart.notNull(x) + 1; 1370 index = dart.notNull(x) + 1;
1368 return x; 1371 return x;
1369 })(), element); 1372 })(), element);
1370 } 1373 }
1371 } 1374 }
1372 static setAllList(list, index, iterable) { 1375 static setAllList(list, index, iterable) {
1373 core.RangeError.checkValueInInterval(index, 0, list[core.$length], "inde x"); 1376 core.RangeError.checkValueInInterval(index, 0, list.length, "index");
1374 for (let element of iterable) { 1377 for (let element of iterable) {
1375 list[core.$set]((() => { 1378 list[dartx.set]((() => {
1376 let x = index; 1379 let x = index;
1377 index = dart.notNull(x) + 1; 1380 index = dart.notNull(x) + 1;
1378 return x; 1381 return x;
1379 })(), element); 1382 })(), element);
1380 } 1383 }
1381 } 1384 }
1382 asMapList(l) { 1385 asMapList(l) {
1383 return new (ListMapView$(T))(dart.as(l, core.List$(T))); 1386 return new (ListMapView$(T))(dart.as(l, core.List$(T)));
1384 } 1387 }
1385 static setContainsAll(set, other) { 1388 static setContainsAll(set, other) {
1386 for (let element of other) { 1389 for (let element of other) {
1387 if (!dart.notNull(set[core.$contains](element))) 1390 if (!dart.notNull(set.contains(element)))
1388 return false; 1391 return false;
1389 } 1392 }
1390 return true; 1393 return true;
1391 } 1394 }
1392 static setIntersection(set, other, result) { 1395 static setIntersection(set, other, result) {
1393 let smaller = null; 1396 let smaller = null;
1394 let larger = null; 1397 let larger = null;
1395 if (dart.notNull(set[core.$length]) < dart.notNull(other[core.$length])) { 1398 if (dart.notNull(set.length) < dart.notNull(other.length)) {
1396 smaller = set; 1399 smaller = set;
1397 larger = other; 1400 larger = other;
1398 } else { 1401 } else {
1399 smaller = other; 1402 smaller = other;
1400 larger = set; 1403 larger = set;
1401 } 1404 }
1402 for (let element of smaller) { 1405 for (let element of smaller) {
1403 if (larger[core.$contains](element)) { 1406 if (larger.contains(element)) {
1404 result.add(element); 1407 result.add(element);
1405 } 1408 }
1406 } 1409 }
1407 return result; 1410 return result;
1408 } 1411 }
1409 static setUnion(set, other, result) { 1412 static setUnion(set, other, result) {
1410 result.addAll(set); 1413 result.addAll(set);
1411 result.addAll(other); 1414 result.addAll(other);
1412 return result; 1415 return result;
1413 } 1416 }
1414 static setDifference(set, other, result) { 1417 static setDifference(set, other, result) {
1415 for (let element of set) { 1418 for (let element of set) {
1416 if (!dart.notNull(other[core.$contains](element))) { 1419 if (!dart.notNull(other.contains(element))) {
1417 result.add(element); 1420 result.add(element);
1418 } 1421 }
1419 } 1422 }
1420 return result; 1423 return result;
1421 } 1424 }
1422 } 1425 }
1423 dart.setSignature(IterableMixinWorkaround, { 1426 dart.setSignature(IterableMixinWorkaround, {
1424 methods: () => ({ 1427 methods: () => ({
1425 where: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bool, [dart.bottom])]], 1428 where: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bool, [dart.bottom])]],
1426 takeList: [core.Iterable$(T), [core.List, core.int]], 1429 takeList: [core.Iterable$(T), [core.List, core.int]],
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1575 removeLast: [E, []], 1578 removeLast: [E, []],
1576 removeRange: [dart.void, [core.int, core.int]], 1579 removeRange: [dart.void, [core.int, core.int]],
1577 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]] 1580 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]]
1578 }) 1581 })
1579 }); 1582 });
1580 return FixedLengthListMixin; 1583 return FixedLengthListMixin;
1581 }); 1584 });
1582 let FixedLengthListMixin = FixedLengthListMixin$(); 1585 let FixedLengthListMixin = FixedLengthListMixin$();
1583 let UnmodifiableListMixin$ = dart.generic(function(E) { 1586 let UnmodifiableListMixin$ = dart.generic(function(E) {
1584 class UnmodifiableListMixin extends core.Object { 1587 class UnmodifiableListMixin extends core.Object {
1585 [core.$set](index, value) { 1588 set(index, value) {
1586 dart.as(value, E); 1589 dart.as(value, E);
1587 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1590 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1588 } 1591 }
1589 set [core.$length](newLength) { 1592 set length(newLength) {
1590 throw new core.UnsupportedError("Cannot change the length of an unmodifi able list"); 1593 throw new core.UnsupportedError("Cannot change the length of an unmodifi able list");
1591 } 1594 }
1592 [core.$setAll](at, iterable) { 1595 setAll(at, iterable) {
1593 dart.as(iterable, core.Iterable$(E)); 1596 dart.as(iterable, core.Iterable$(E));
1594 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1597 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1595 } 1598 }
1596 [core.$add](value) { 1599 add(value) {
1597 dart.as(value, E); 1600 dart.as(value, E);
1598 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1601 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1599 } 1602 }
1600 [core.$insert](index, value) { 1603 insert(index, value) {
1601 dart.as(value, E); 1604 dart.as(value, E);
1602 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1605 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1603 } 1606 }
1604 [core.$insertAll](at, iterable) { 1607 insertAll(at, iterable) {
1605 dart.as(iterable, core.Iterable$(E)); 1608 dart.as(iterable, core.Iterable$(E));
1606 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1609 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1607 } 1610 }
1608 [core.$addAll](iterable) { 1611 addAll(iterable) {
1609 dart.as(iterable, core.Iterable$(E)); 1612 dart.as(iterable, core.Iterable$(E));
1610 throw new core.UnsupportedError("Cannot add to an unmodifiable list"); 1613 throw new core.UnsupportedError("Cannot add to an unmodifiable list");
1611 } 1614 }
1612 [core.$remove](element) { 1615 remove(element) {
1613 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1616 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1614 } 1617 }
1615 [core.$removeWhere](test) { 1618 removeWhere(test) {
1616 dart.as(test, dart.functionType(core.bool, [E])); 1619 dart.as(test, dart.functionType(core.bool, [E]));
1617 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1620 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1618 } 1621 }
1619 [core.$retainWhere](test) { 1622 retainWhere(test) {
1620 dart.as(test, dart.functionType(core.bool, [E])); 1623 dart.as(test, dart.functionType(core.bool, [E]));
1621 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1624 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1622 } 1625 }
1623 [core.$sort](compare) { 1626 sort(compare) {
1624 if (compare === void 0) 1627 if (compare === void 0)
1625 compare = null; 1628 compare = null;
1626 dart.as(compare, core.Comparator$(E)); 1629 dart.as(compare, core.Comparator$(E));
1627 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1630 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1628 } 1631 }
1629 [core.$shuffle](random) { 1632 shuffle(random) {
1630 if (random === void 0) 1633 if (random === void 0)
1631 random = null; 1634 random = null;
1632 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1635 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1633 } 1636 }
1634 [core.$clear]() { 1637 clear() {
1635 throw new core.UnsupportedError("Cannot clear an unmodifiable list"); 1638 throw new core.UnsupportedError("Cannot clear an unmodifiable list");
1636 } 1639 }
1637 [core.$removeAt](index) { 1640 removeAt(index) {
1638 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1641 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1639 } 1642 }
1640 [core.$removeLast]() { 1643 removeLast() {
1641 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1644 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1642 } 1645 }
1643 [core.$setRange](start, end, iterable, skipCount) { 1646 setRange(start, end, iterable, skipCount) {
1644 dart.as(iterable, core.Iterable$(E)); 1647 dart.as(iterable, core.Iterable$(E));
1645 if (skipCount === void 0) 1648 if (skipCount === void 0)
1646 skipCount = 0; 1649 skipCount = 0;
1647 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1650 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1648 } 1651 }
1649 [core.$removeRange](start, end) { 1652 removeRange(start, end) {
1650 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1653 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1651 } 1654 }
1652 [core.$replaceRange](start, end, iterable) { 1655 replaceRange(start, end, iterable) {
1653 dart.as(iterable, core.Iterable$(E)); 1656 dart.as(iterable, core.Iterable$(E));
1654 throw new core.UnsupportedError("Cannot remove from an unmodifiable list "); 1657 throw new core.UnsupportedError("Cannot remove from an unmodifiable list ");
1655 } 1658 }
1656 [core.$fillRange](start, end, fillValue) { 1659 fillRange(start, end, fillValue) {
1657 if (fillValue === void 0) 1660 if (fillValue === void 0)
1658 fillValue = null; 1661 fillValue = null;
1659 dart.as(fillValue, E); 1662 dart.as(fillValue, E);
1660 throw new core.UnsupportedError("Cannot modify an unmodifiable list"); 1663 throw new core.UnsupportedError("Cannot modify an unmodifiable list");
1661 } 1664 }
1662 } 1665 }
1663 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)]; 1666 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)];
1667 dart.implementExtension(UnmodifiableListMixin, () => [core.List, core.Iterab le]);
1664 dart.setSignature(UnmodifiableListMixin, { 1668 dart.setSignature(UnmodifiableListMixin, {
1665 methods: () => ({ 1669 methods: () => ({
1666 [core.$set]: [dart.void, [core.int, E]], 1670 set: [dart.void, [core.int, E]],
1667 [core.$setAll]: [dart.void, [core.int, core.Iterable$(E)]], 1671 setAll: [dart.void, [core.int, core.Iterable$(E)]],
1668 [core.$add]: [dart.void, [E]], 1672 add: [dart.void, [E]],
1669 [core.$insert]: [E, [core.int, E]], 1673 insert: [E, [core.int, E]],
1670 [core.$insertAll]: [dart.void, [core.int, core.Iterable$(E)]], 1674 insertAll: [dart.void, [core.int, core.Iterable$(E)]],
1671 [core.$addAll]: [dart.void, [core.Iterable$(E)]], 1675 addAll: [dart.void, [core.Iterable$(E)]],
1672 [core.$remove]: [core.bool, [core.Object]], 1676 remove: [core.bool, [core.Object]],
1673 [core.$removeWhere]: [dart.void, [dart.functionType(core.bool, [E])]], 1677 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]],
1674 [core.$retainWhere]: [dart.void, [dart.functionType(core.bool, [E])]], 1678 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]],
1675 [core.$sort]: [dart.void, [], [core.Comparator$(E)]], 1679 sort: [dart.void, [], [core.Comparator$(E)]],
1676 [core.$shuffle]: [dart.void, [], [math.Random]], 1680 shuffle: [dart.void, [], [math.Random]],
1677 [core.$clear]: [dart.void, []], 1681 clear: [dart.void, []],
1678 [core.$removeAt]: [E, [core.int]], 1682 removeAt: [E, [core.int]],
1679 [core.$removeLast]: [E, []], 1683 removeLast: [E, []],
1680 [core.$setRange]: [dart.void, [core.int, core.int, core.Iterable$(E)], [ core.int]], 1684 setRange: [dart.void, [core.int, core.int, core.Iterable$(E)], [core.int ]],
1681 [core.$removeRange]: [dart.void, [core.int, core.int]], 1685 removeRange: [dart.void, [core.int, core.int]],
1682 [core.$replaceRange]: [dart.void, [core.int, core.int, core.Iterable$(E) ]], 1686 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]],
1683 [core.$fillRange]: [dart.void, [core.int, core.int], [E]] 1687 fillRange: [dart.void, [core.int, core.int], [E]]
1684 }) 1688 })
1685 }); 1689 });
1686 return UnmodifiableListMixin; 1690 return UnmodifiableListMixin;
1687 }); 1691 });
1688 let UnmodifiableListMixin = UnmodifiableListMixin$(); 1692 let UnmodifiableListMixin = UnmodifiableListMixin$();
1689 let FixedLengthListBase$ = dart.generic(function(E) { 1693 let FixedLengthListBase$ = dart.generic(function(E) {
1690 class FixedLengthListBase extends dart.mixin(collection.ListBase$(E), FixedL engthListMixin$(E)) {} 1694 class FixedLengthListBase extends dart.mixin(collection.ListBase$(E), FixedL engthListMixin$(E)) {}
1691 return FixedLengthListBase; 1695 return FixedLengthListBase;
1692 }); 1696 });
1693 let FixedLengthListBase = FixedLengthListBase$(); 1697 let FixedLengthListBase = FixedLengthListBase$();
1694 let UnmodifiableListBase$ = dart.generic(function(E) { 1698 let UnmodifiableListBase$ = dart.generic(function(E) {
1695 class UnmodifiableListBase extends dart.mixin(collection.ListBase$(E), Unmod ifiableListMixin$(E)) {} 1699 class UnmodifiableListBase extends dart.mixin(collection.ListBase$(E), Unmod ifiableListMixin$(E)) {}
1696 return UnmodifiableListBase; 1700 return UnmodifiableListBase;
1697 }); 1701 });
1698 let UnmodifiableListBase = UnmodifiableListBase$(); 1702 let UnmodifiableListBase = UnmodifiableListBase$();
1699 let _backedList = dart.JsSymbol('_backedList'); 1703 let _backedList = dart.JsSymbol('_backedList');
1700 class _ListIndicesIterable extends ListIterable$(core.int) { 1704 class _ListIndicesIterable extends ListIterable$(core.int) {
1701 _ListIndicesIterable(backedList) { 1705 _ListIndicesIterable(backedList) {
1702 this[_backedList] = backedList; 1706 this[_backedList] = backedList;
1703 super.ListIterable(); 1707 super.ListIterable();
1704 } 1708 }
1705 get [core.$length]() { 1709 get length() {
1706 return this[_backedList][core.$length]; 1710 return this[_backedList].length;
1707 } 1711 }
1708 [core.$elementAt](index) { 1712 elementAt(index) {
1709 core.RangeError.checkValidIndex(index, this); 1713 core.RangeError.checkValidIndex(index, this);
1710 return index; 1714 return index;
1711 } 1715 }
1712 } 1716 }
1713 dart.setSignature(_ListIndicesIterable, { 1717 dart.setSignature(_ListIndicesIterable, {
1714 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis t]]}), 1718 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis t]]}),
1715 methods: () => ({[core.$elementAt]: [core.int, [core.int]]}) 1719 methods: () => ({elementAt: [core.int, [core.int]]})
1716 }); 1720 });
1717 let _values = dart.JsSymbol('_values'); 1721 let _values = dart.JsSymbol('_values');
1718 let ListMapView$ = dart.generic(function(E) { 1722 let ListMapView$ = dart.generic(function(E) {
1719 class ListMapView extends core.Object { 1723 class ListMapView extends core.Object {
1720 ListMapView(values) { 1724 ListMapView(values) {
1721 this[_values] = values; 1725 this[_values] = values;
1722 } 1726 }
1723 get(key) { 1727 get(key) {
1724 return this.containsKey(key) ? this[_values][core.$get](key) : null; 1728 return this.containsKey(key) ? this[_values][dartx.get](key) : null;
1725 } 1729 }
1726 get length() { 1730 get length() {
1727 return this[_values][core.$length]; 1731 return this[_values].length;
1728 } 1732 }
1729 get values() { 1733 get values() {
1730 return new (SubListIterable$(E))(this[_values], 0, null); 1734 return new (SubListIterable$(E))(this[_values], 0, null);
1731 } 1735 }
1732 get keys() { 1736 get keys() {
1733 return new _ListIndicesIterable(this[_values]); 1737 return new _ListIndicesIterable(this[_values]);
1734 } 1738 }
1735 get isEmpty() { 1739 get isEmpty() {
1736 return this[_values][core.$isEmpty]; 1740 return this[_values][dartx.isEmpty];
1737 } 1741 }
1738 get isNotEmpty() { 1742 get isNotEmpty() {
1739 return this[_values][core.$isNotEmpty]; 1743 return this[_values][dartx.isNotEmpty];
1740 } 1744 }
1741 containsValue(value) { 1745 containsValue(value) {
1742 return this[_values][core.$contains](value); 1746 return this[_values][dartx.contains](value);
1743 } 1747 }
1744 containsKey(key) { 1748 containsKey(key) {
1745 return typeof key == 'number' && dart.notNull(key) >= 0 && dart.notNull( key) < dart.notNull(this.length); 1749 return typeof key == 'number' && dart.notNull(key) >= 0 && dart.notNull( key) < dart.notNull(this.length);
1746 } 1750 }
1747 forEach(f) { 1751 forEach(f) {
1748 dart.as(f, dart.functionType(dart.void, [core.int, E])); 1752 dart.as(f, dart.functionType(dart.void, [core.int, E]));
1749 let length = this[_values][core.$length]; 1753 let length = this[_values].length;
1750 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1754 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1751 f(i, this[_values][core.$get](i)); 1755 f(i, this[_values][dartx.get](i));
1752 if (length != this[_values][core.$length]) { 1756 if (length != this[_values].length) {
1753 throw new core.ConcurrentModificationError(this[_values]); 1757 throw new core.ConcurrentModificationError(this[_values]);
1754 } 1758 }
1755 } 1759 }
1756 } 1760 }
1757 set(key, value) { 1761 set(key, value) {
1758 dart.as(value, E); 1762 dart.as(value, E);
1759 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1763 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1760 } 1764 }
1761 putIfAbsent(key, ifAbsent) { 1765 putIfAbsent(key, ifAbsent) {
1762 dart.as(ifAbsent, dart.functionType(E, [])); 1766 dart.as(ifAbsent, dart.functionType(E, []));
(...skipping 30 matching lines...) Expand all
1793 }); 1797 });
1794 return ListMapView; 1798 return ListMapView;
1795 }); 1799 });
1796 let ListMapView = ListMapView$(); 1800 let ListMapView = ListMapView$();
1797 let ReversedListIterable$ = dart.generic(function(E) { 1801 let ReversedListIterable$ = dart.generic(function(E) {
1798 class ReversedListIterable extends ListIterable$(E) { 1802 class ReversedListIterable extends ListIterable$(E) {
1799 ReversedListIterable(source) { 1803 ReversedListIterable(source) {
1800 this[_source] = source; 1804 this[_source] = source;
1801 super.ListIterable(); 1805 super.ListIterable();
1802 } 1806 }
1803 get [core.$length]() { 1807 get length() {
1804 return this[_source][core.$length]; 1808 return this[_source].length;
1805 } 1809 }
1806 [core.$elementAt](index) { 1810 elementAt(index) {
1807 return this[_source][core.$elementAt](dart.notNull(this[_source][core.$l ength]) - 1 - dart.notNull(index)); 1811 return this[_source][dartx.elementAt](dart.notNull(this[_source].length) - 1 - dart.notNull(index));
1808 } 1812 }
1809 } 1813 }
1810 dart.setSignature(ReversedListIterable, { 1814 dart.setSignature(ReversedListIterable, {
1811 constructors: () => ({ReversedListIterable: [ReversedListIterable$(E), [co re.Iterable$(E)]]}), 1815 constructors: () => ({ReversedListIterable: [ReversedListIterable$(E), [co re.Iterable$(E)]]}),
1812 methods: () => ({[core.$elementAt]: [E, [core.int]]}) 1816 methods: () => ({elementAt: [E, [core.int]]})
1813 }); 1817 });
1814 return ReversedListIterable; 1818 return ReversedListIterable;
1815 }); 1819 });
1816 let ReversedListIterable = ReversedListIterable$(); 1820 let ReversedListIterable = ReversedListIterable$();
1817 class UnmodifiableListError extends core.Object { 1821 class UnmodifiableListError extends core.Object {
1818 static add() { 1822 static add() {
1819 return new core.UnsupportedError("Cannot add to unmodifiable List"); 1823 return new core.UnsupportedError("Cannot add to unmodifiable List");
1820 } 1824 }
1821 static change() { 1825 static change() {
1822 return new core.UnsupportedError("Cannot change the content of an unmodifi able List"); 1826 return new core.UnsupportedError("Cannot change the content of an unmodifi able List");
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1858 }); 1862 });
1859 function makeListFixedLength(growableList) { 1863 function makeListFixedLength(growableList) {
1860 _interceptors.JSArray.markFixedList(growableList); 1864 _interceptors.JSArray.markFixedList(growableList);
1861 return growableList; 1865 return growableList;
1862 } 1866 }
1863 dart.fn(makeListFixedLength, core.List, [core.List]); 1867 dart.fn(makeListFixedLength, core.List, [core.List]);
1864 class Lists extends core.Object { 1868 class Lists extends core.Object {
1865 static copy(src, srcStart, dst, dstStart, count) { 1869 static copy(src, srcStart, dst, dstStart, count) {
1866 if (dart.notNull(srcStart) < dart.notNull(dstStart)) { 1870 if (dart.notNull(srcStart) < dart.notNull(dstStart)) {
1867 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart. notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) { 1871 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart. notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) {
1868 dst[core.$set](j, src[core.$get](i)); 1872 dst[dartx.set](j, src[dartx.get](i));
1869 } 1873 }
1870 } else { 1874 } else {
1871 for (let i = srcStart, j = dstStart; dart.notNull(i) < dart.notNull(srcS tart) + dart.notNull(count); i = dart.notNull(i) + 1, j = dart.notNull(j) + 1) { 1875 for (let i = srcStart, j = dstStart; dart.notNull(i) < dart.notNull(srcS tart) + dart.notNull(count); i = dart.notNull(i) + 1, j = dart.notNull(j) + 1) {
1872 dst[core.$set](j, src[core.$get](i)); 1876 dst[dartx.set](j, src[dartx.get](i));
1873 } 1877 }
1874 } 1878 }
1875 } 1879 }
1876 static areEqual(a, b) { 1880 static areEqual(a, b) {
1877 if (core.identical(a, b)) 1881 if (core.identical(a, b))
1878 return true; 1882 return true;
1879 if (!dart.is(b, core.List)) 1883 if (!dart.is(b, core.List))
1880 return false; 1884 return false;
1881 let length = a[core.$length]; 1885 let length = a.length;
1882 if (!dart.equals(length, dart.dload(b, 'length'))) 1886 if (!dart.equals(length, dart.dload(b, 'length')))
1883 return false; 1887 return false;
1884 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 1888 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
1885 if (!dart.notNull(core.identical(a[core.$get](i), dart.dindex(b, i)))) 1889 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i))))
1886 return false; 1890 return false;
1887 } 1891 }
1888 return true; 1892 return true;
1889 } 1893 }
1890 static indexOf(a, element, startIndex, endIndex) { 1894 static indexOf(a, element, startIndex, endIndex) {
1891 if (dart.notNull(startIndex) >= dart.notNull(a[core.$length])) { 1895 if (dart.notNull(startIndex) >= dart.notNull(a.length)) {
1892 return -1; 1896 return -1;
1893 } 1897 }
1894 if (dart.notNull(startIndex) < 0) { 1898 if (dart.notNull(startIndex) < 0) {
1895 startIndex = 0; 1899 startIndex = 0;
1896 } 1900 }
1897 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar t.notNull(i) + 1) { 1901 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar t.notNull(i) + 1) {
1898 if (dart.equals(a[core.$get](i), element)) { 1902 if (dart.equals(a[dartx.get](i), element)) {
1899 return i; 1903 return i;
1900 } 1904 }
1901 } 1905 }
1902 return -1; 1906 return -1;
1903 } 1907 }
1904 static lastIndexOf(a, element, startIndex) { 1908 static lastIndexOf(a, element, startIndex) {
1905 if (dart.notNull(startIndex) < 0) { 1909 if (dart.notNull(startIndex) < 0) {
1906 return -1; 1910 return -1;
1907 } 1911 }
1908 if (dart.notNull(startIndex) >= dart.notNull(a[core.$length])) { 1912 if (dart.notNull(startIndex) >= dart.notNull(a.length)) {
1909 startIndex = dart.notNull(a[core.$length]) - 1; 1913 startIndex = dart.notNull(a.length) - 1;
1910 } 1914 }
1911 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { 1915 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
1912 if (dart.equals(a[core.$get](i), element)) { 1916 if (dart.equals(a[dartx.get](i), element)) {
1913 return i; 1917 return i;
1914 } 1918 }
1915 } 1919 }
1916 return -1; 1920 return -1;
1917 } 1921 }
1918 static indicesCheck(a, start, end) { 1922 static indicesCheck(a, start, end) {
1919 core.RangeError.checkValidRange(start, end, a[core.$length]); 1923 core.RangeError.checkValidRange(start, end, a.length);
1920 } 1924 }
1921 static rangeCheck(a, start, length) { 1925 static rangeCheck(a, start, length) {
1922 core.RangeError.checkNotNegative(length); 1926 core.RangeError.checkNotNegative(length);
1923 core.RangeError.checkNotNegative(start); 1927 core.RangeError.checkNotNegative(start);
1924 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a[core.$leng th])) { 1928 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a.length)) {
1925 let message = `${start} + ${length} must be in the range [0..${a[core.$l ength]}]`; 1929 let message = `${start} + ${length} must be in the range [0..${a.length} ]`;
1926 throw new core.RangeError.range(length, 0, dart.notNull(a[core.$length]) - dart.notNull(start), "length", message); 1930 throw new core.RangeError.range(length, 0, dart.notNull(a.length) - dart .notNull(start), "length", message);
1927 } 1931 }
1928 } 1932 }
1929 } 1933 }
1930 dart.setSignature(Lists, { 1934 dart.setSignature(Lists, {
1931 statics: () => ({ 1935 statics: () => ({
1932 copy: [dart.void, [core.List, core.int, core.List, core.int, core.int]], 1936 copy: [dart.void, [core.List, core.int, core.List, core.int, core.int]],
1933 areEqual: [core.bool, [core.List, core.Object]], 1937 areEqual: [core.bool, [core.List, core.Object]],
1934 indexOf: [core.int, [core.List, core.Object, core.int, core.int]], 1938 indexOf: [core.int, [core.List, core.Object, core.int, core.int]],
1935 lastIndexOf: [core.int, [core.List, core.Object, core.int]], 1939 lastIndexOf: [core.int, [core.List, core.Object, core.int]],
1936 indicesCheck: [dart.void, [core.List, core.int, core.int]], 1940 indicesCheck: [dart.void, [core.List, core.int, core.int]],
1937 rangeCheck: [dart.void, [core.List, core.int, core.int]] 1941 rangeCheck: [dart.void, [core.List, core.int, core.int]]
1938 }), 1942 }),
1939 names: ['copy', 'areEqual', 'indexOf', 'lastIndexOf', 'indicesCheck', 'range Check'] 1943 names: ['copy', 'areEqual', 'indexOf', 'lastIndexOf', 'indicesCheck', 'range Check']
1940 }); 1944 });
1941 exports.printToZone = null; 1945 exports.printToZone = null;
1942 function printToConsole(line) { 1946 function printToConsole(line) {
1943 _js_primitives.printString(`${line}`); 1947 _js_primitives.printString(`${line}`);
1944 } 1948 }
1945 dart.fn(printToConsole, dart.void, [core.String]); 1949 dart.fn(printToConsole, dart.void, [core.String]);
1946 class Sort extends core.Object { 1950 class Sort extends core.Object {
1947 static sort(a, compare) { 1951 static sort(a, compare) {
1948 Sort._doSort(a, 0, dart.notNull(a[core.$length]) - 1, compare); 1952 Sort._doSort(a, 0, dart.notNull(a.length) - 1, compare);
1949 } 1953 }
1950 static sortRange(a, from, to, compare) { 1954 static sortRange(a, from, to, compare) {
1951 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a[core.$leng th]) || dart.notNull(to) < dart.notNull(from)) { 1955 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a.length) || dart.notNull(to) < dart.notNull(from)) {
1952 throw "OutOfRange"; 1956 throw "OutOfRange";
1953 } 1957 }
1954 Sort._doSort(a, from, dart.notNull(to) - 1, compare); 1958 Sort._doSort(a, from, dart.notNull(to) - 1, compare);
1955 } 1959 }
1956 static _doSort(a, left, right, compare) { 1960 static _doSort(a, left, right, compare) {
1957 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort._INSERTI ON_SORT_THRESHOLD)) { 1961 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort._INSERTI ON_SORT_THRESHOLD)) {
1958 Sort._insertionSort(a, left, right, compare); 1962 Sort._insertionSort(a, left, right, compare);
1959 } else { 1963 } else {
1960 Sort._dualPivotQuicksort(a, left, right, compare); 1964 Sort._dualPivotQuicksort(a, left, right, compare);
1961 } 1965 }
1962 } 1966 }
1963 static _insertionSort(a, left, right, compare) { 1967 static _insertionSort(a, left, right, compare) {
1964 for (let i = dart.notNull(left) + 1; dart.notNull(i) <= dart.notNull(right ); i = dart.notNull(i) + 1) { 1968 for (let i = dart.notNull(left) + 1; dart.notNull(i) <= dart.notNull(right ); i = dart.notNull(i) + 1) {
1965 let el = a[core.$get](i); 1969 let el = a[dartx.get](i);
1966 let j = i; 1970 let j = i;
1967 while (dart.notNull(j) > dart.notNull(left) && dart.notNull(dart.dcall(c ompare, a[core.$get](dart.notNull(j) - 1), el)) > 0) { 1971 while (dart.notNull(j) > dart.notNull(left) && dart.notNull(dart.dcall(c ompare, a[dartx.get](dart.notNull(j) - 1), el)) > 0) {
1968 a[core.$set](j, a[core.$get](dart.notNull(j) - 1)); 1972 a[dartx.set](j, a[dartx.get](dart.notNull(j) - 1));
1969 j = dart.notNull(j) - 1; 1973 j = dart.notNull(j) - 1;
1970 } 1974 }
1971 a[core.$set](j, el); 1975 a[dartx.set](j, el);
1972 } 1976 }
1973 } 1977 }
1974 static _dualPivotQuicksort(a, left, right, compare) { 1978 static _dualPivotQuicksort(a, left, right, compare) {
1975 dart.assert(dart.notNull(right) - dart.notNull(left) > dart.notNull(Sort._ INSERTION_SORT_THRESHOLD)); 1979 dart.assert(dart.notNull(right) - dart.notNull(left) > dart.notNull(Sort._ INSERTION_SORT_THRESHOLD));
1976 let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6).truncate( ); 1980 let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6).truncate( );
1977 let index1 = dart.notNull(left) + dart.notNull(sixth); 1981 let index1 = dart.notNull(left) + dart.notNull(sixth);
1978 let index5 = dart.notNull(right) - dart.notNull(sixth); 1982 let index5 = dart.notNull(right) - dart.notNull(sixth);
1979 let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2).truncate(); 1983 let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2).truncate();
1980 let index2 = dart.notNull(index3) - dart.notNull(sixth); 1984 let index2 = dart.notNull(index3) - dart.notNull(sixth);
1981 let index4 = dart.notNull(index3) + dart.notNull(sixth); 1985 let index4 = dart.notNull(index3) + dart.notNull(sixth);
1982 let el1 = a[core.$get](index1); 1986 let el1 = a[dartx.get](index1);
1983 let el2 = a[core.$get](index2); 1987 let el2 = a[dartx.get](index2);
1984 let el3 = a[core.$get](index3); 1988 let el3 = a[dartx.get](index3);
1985 let el4 = a[core.$get](index4); 1989 let el4 = a[dartx.get](index4);
1986 let el5 = a[core.$get](index5); 1990 let el5 = a[dartx.get](index5);
1987 if (dart.notNull(dart.dcall(compare, el1, el2)) > 0) { 1991 if (dart.notNull(dart.dcall(compare, el1, el2)) > 0) {
1988 let t = el1; 1992 let t = el1;
1989 el1 = el2; 1993 el1 = el2;
1990 el2 = t; 1994 el2 = t;
1991 } 1995 }
1992 if (dart.notNull(dart.dcall(compare, el4, el5)) > 0) { 1996 if (dart.notNull(dart.dcall(compare, el4, el5)) > 0) {
1993 let t = el4; 1997 let t = el4;
1994 el4 = el5; 1998 el4 = el5;
1995 el5 = t; 1999 el5 = t;
1996 } 2000 }
(...skipping 27 matching lines...) Expand all
2024 el2 = el3; 2028 el2 = el3;
2025 el3 = t; 2029 el3 = t;
2026 } 2030 }
2027 if (dart.notNull(dart.dcall(compare, el4, el5)) > 0) { 2031 if (dart.notNull(dart.dcall(compare, el4, el5)) > 0) {
2028 let t = el4; 2032 let t = el4;
2029 el4 = el5; 2033 el4 = el5;
2030 el5 = t; 2034 el5 = t;
2031 } 2035 }
2032 let pivot1 = el2; 2036 let pivot1 = el2;
2033 let pivot2 = el4; 2037 let pivot2 = el4;
2034 a[core.$set](index1, el1); 2038 a[dartx.set](index1, el1);
2035 a[core.$set](index3, el3); 2039 a[dartx.set](index3, el3);
2036 a[core.$set](index5, el5); 2040 a[dartx.set](index5, el5);
2037 a[core.$set](index2, a[core.$get](left)); 2041 a[dartx.set](index2, a[dartx.get](left));
2038 a[core.$set](index4, a[core.$get](right)); 2042 a[dartx.set](index4, a[dartx.get](right));
2039 let less = dart.notNull(left) + 1; 2043 let less = dart.notNull(left) + 1;
2040 let great = dart.notNull(right) - 1; 2044 let great = dart.notNull(right) - 1;
2041 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0; 2045 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0;
2042 if (pivots_are_equal) { 2046 if (pivots_are_equal) {
2043 let pivot = pivot1; 2047 let pivot = pivot1;
2044 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 2048 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
2045 let ak = a[core.$get](k); 2049 let ak = a[dartx.get](k);
2046 let comp = dart.dcall(compare, ak, pivot); 2050 let comp = dart.dcall(compare, ak, pivot);
2047 if (comp == 0) 2051 if (comp == 0)
2048 continue; 2052 continue;
2049 if (dart.notNull(comp) < 0) { 2053 if (dart.notNull(comp) < 0) {
2050 if (k != less) { 2054 if (k != less) {
2051 a[core.$set](k, a[core.$get](less)); 2055 a[dartx.set](k, a[dartx.get](less));
2052 a[core.$set](less, ak); 2056 a[dartx.set](less, ak);
2053 } 2057 }
2054 less = dart.notNull(less) + 1; 2058 less = dart.notNull(less) + 1;
2055 } else { 2059 } else {
2056 while (true) { 2060 while (true) {
2057 comp = dart.dcall(compare, a[core.$get](great), pivot); 2061 comp = dart.dcall(compare, a[dartx.get](great), pivot);
2058 if (dart.notNull(comp) > 0) { 2062 if (dart.notNull(comp) > 0) {
2059 great = dart.notNull(great) - 1; 2063 great = dart.notNull(great) - 1;
2060 continue; 2064 continue;
2061 } else if (dart.notNull(comp) < 0) { 2065 } else if (dart.notNull(comp) < 0) {
2062 a[core.$set](k, a[core.$get](less)); 2066 a[dartx.set](k, a[dartx.get](less));
2063 a[core.$set]((() => { 2067 a[dartx.set]((() => {
2064 let x = less; 2068 let x = less;
2065 less = dart.notNull(x) + 1; 2069 less = dart.notNull(x) + 1;
2066 return x; 2070 return x;
2067 })(), a[core.$get](great)); 2071 })(), a[dartx.get](great));
2068 a[core.$set]((() => { 2072 a[dartx.set]((() => {
2069 let x = great; 2073 let x = great;
2070 great = dart.notNull(x) - 1; 2074 great = dart.notNull(x) - 1;
2071 return x; 2075 return x;
2072 })(), ak); 2076 })(), ak);
2073 break; 2077 break;
2074 } else { 2078 } else {
2075 a[core.$set](k, a[core.$get](great)); 2079 a[dartx.set](k, a[dartx.get](great));
2076 a[core.$set]((() => { 2080 a[dartx.set]((() => {
2077 let x = great; 2081 let x = great;
2078 great = dart.notNull(x) - 1; 2082 great = dart.notNull(x) - 1;
2079 return x; 2083 return x;
2080 })(), ak); 2084 })(), ak);
2081 break; 2085 break;
2082 } 2086 }
2083 } 2087 }
2084 } 2088 }
2085 } 2089 }
2086 } else { 2090 } else {
2087 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 2091 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
2088 let ak = a[core.$get](k); 2092 let ak = a[dartx.get](k);
2089 let comp_pivot1 = dart.dcall(compare, ak, pivot1); 2093 let comp_pivot1 = dart.dcall(compare, ak, pivot1);
2090 if (dart.notNull(comp_pivot1) < 0) { 2094 if (dart.notNull(comp_pivot1) < 0) {
2091 if (k != less) { 2095 if (k != less) {
2092 a[core.$set](k, a[core.$get](less)); 2096 a[dartx.set](k, a[dartx.get](less));
2093 a[core.$set](less, ak); 2097 a[dartx.set](less, ak);
2094 } 2098 }
2095 less = dart.notNull(less) + 1; 2099 less = dart.notNull(less) + 1;
2096 } else { 2100 } else {
2097 let comp_pivot2 = dart.dcall(compare, ak, pivot2); 2101 let comp_pivot2 = dart.dcall(compare, ak, pivot2);
2098 if (dart.notNull(comp_pivot2) > 0) { 2102 if (dart.notNull(comp_pivot2) > 0) {
2099 while (true) { 2103 while (true) {
2100 let comp = dart.dcall(compare, a[core.$get](great), pivot2); 2104 let comp = dart.dcall(compare, a[dartx.get](great), pivot2);
2101 if (dart.notNull(comp) > 0) { 2105 if (dart.notNull(comp) > 0) {
2102 great = dart.notNull(great) - 1; 2106 great = dart.notNull(great) - 1;
2103 if (dart.notNull(great) < dart.notNull(k)) 2107 if (dart.notNull(great) < dart.notNull(k))
2104 break; 2108 break;
2105 continue; 2109 continue;
2106 } else { 2110 } else {
2107 comp = dart.dcall(compare, a[core.$get](great), pivot1); 2111 comp = dart.dcall(compare, a[dartx.get](great), pivot1);
2108 if (dart.notNull(comp) < 0) { 2112 if (dart.notNull(comp) < 0) {
2109 a[core.$set](k, a[core.$get](less)); 2113 a[dartx.set](k, a[dartx.get](less));
2110 a[core.$set]((() => { 2114 a[dartx.set]((() => {
2111 let x = less; 2115 let x = less;
2112 less = dart.notNull(x) + 1; 2116 less = dart.notNull(x) + 1;
2113 return x; 2117 return x;
2114 })(), a[core.$get](great)); 2118 })(), a[dartx.get](great));
2115 a[core.$set]((() => { 2119 a[dartx.set]((() => {
2116 let x = great; 2120 let x = great;
2117 great = dart.notNull(x) - 1; 2121 great = dart.notNull(x) - 1;
2118 return x; 2122 return x;
2119 })(), ak); 2123 })(), ak);
2120 } else { 2124 } else {
2121 a[core.$set](k, a[core.$get](great)); 2125 a[dartx.set](k, a[dartx.get](great));
2122 a[core.$set]((() => { 2126 a[dartx.set]((() => {
2123 let x = great; 2127 let x = great;
2124 great = dart.notNull(x) - 1; 2128 great = dart.notNull(x) - 1;
2125 return x; 2129 return x;
2126 })(), ak); 2130 })(), ak);
2127 } 2131 }
2128 break; 2132 break;
2129 } 2133 }
2130 } 2134 }
2131 } 2135 }
2132 } 2136 }
2133 } 2137 }
2134 } 2138 }
2135 a[core.$set](left, a[core.$get](dart.notNull(less) - 1)); 2139 a[dartx.set](left, a[dartx.get](dart.notNull(less) - 1));
2136 a[core.$set](dart.notNull(less) - 1, pivot1); 2140 a[dartx.set](dart.notNull(less) - 1, pivot1);
2137 a[core.$set](right, a[core.$get](dart.notNull(great) + 1)); 2141 a[dartx.set](right, a[dartx.get](dart.notNull(great) + 1));
2138 a[core.$set](dart.notNull(great) + 1, pivot2); 2142 a[dartx.set](dart.notNull(great) + 1, pivot2);
2139 Sort._doSort(a, left, dart.notNull(less) - 2, compare); 2143 Sort._doSort(a, left, dart.notNull(less) - 2, compare);
2140 Sort._doSort(a, dart.notNull(great) + 2, right, compare); 2144 Sort._doSort(a, dart.notNull(great) + 2, right, compare);
2141 if (pivots_are_equal) { 2145 if (pivots_are_equal) {
2142 return; 2146 return;
2143 } 2147 }
2144 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) { 2148 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) {
2145 while (dart.dcall(compare, a[core.$get](less), pivot1) == 0) { 2149 while (dart.dcall(compare, a[dartx.get](less), pivot1) == 0) {
2146 less = dart.notNull(less) + 1; 2150 less = dart.notNull(less) + 1;
2147 } 2151 }
2148 while (dart.dcall(compare, a[core.$get](great), pivot2) == 0) { 2152 while (dart.dcall(compare, a[dartx.get](great), pivot2) == 0) {
2149 great = dart.notNull(great) - 1; 2153 great = dart.notNull(great) - 1;
2150 } 2154 }
2151 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 2155 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
2152 let ak = a[core.$get](k); 2156 let ak = a[dartx.get](k);
2153 let comp_pivot1 = dart.dcall(compare, ak, pivot1); 2157 let comp_pivot1 = dart.dcall(compare, ak, pivot1);
2154 if (comp_pivot1 == 0) { 2158 if (comp_pivot1 == 0) {
2155 if (k != less) { 2159 if (k != less) {
2156 a[core.$set](k, a[core.$get](less)); 2160 a[dartx.set](k, a[dartx.get](less));
2157 a[core.$set](less, ak); 2161 a[dartx.set](less, ak);
2158 } 2162 }
2159 less = dart.notNull(less) + 1; 2163 less = dart.notNull(less) + 1;
2160 } else { 2164 } else {
2161 let comp_pivot2 = dart.dcall(compare, ak, pivot2); 2165 let comp_pivot2 = dart.dcall(compare, ak, pivot2);
2162 if (comp_pivot2 == 0) { 2166 if (comp_pivot2 == 0) {
2163 while (true) { 2167 while (true) {
2164 let comp = dart.dcall(compare, a[core.$get](great), pivot2); 2168 let comp = dart.dcall(compare, a[dartx.get](great), pivot2);
2165 if (comp == 0) { 2169 if (comp == 0) {
2166 great = dart.notNull(great) - 1; 2170 great = dart.notNull(great) - 1;
2167 if (dart.notNull(great) < dart.notNull(k)) 2171 if (dart.notNull(great) < dart.notNull(k))
2168 break; 2172 break;
2169 continue; 2173 continue;
2170 } else { 2174 } else {
2171 comp = dart.dcall(compare, a[core.$get](great), pivot1); 2175 comp = dart.dcall(compare, a[dartx.get](great), pivot1);
2172 if (dart.notNull(comp) < 0) { 2176 if (dart.notNull(comp) < 0) {
2173 a[core.$set](k, a[core.$get](less)); 2177 a[dartx.set](k, a[dartx.get](less));
2174 a[core.$set]((() => { 2178 a[dartx.set]((() => {
2175 let x = less; 2179 let x = less;
2176 less = dart.notNull(x) + 1; 2180 less = dart.notNull(x) + 1;
2177 return x; 2181 return x;
2178 })(), a[core.$get](great)); 2182 })(), a[dartx.get](great));
2179 a[core.$set]((() => { 2183 a[dartx.set]((() => {
2180 let x = great; 2184 let x = great;
2181 great = dart.notNull(x) - 1; 2185 great = dart.notNull(x) - 1;
2182 return x; 2186 return x;
2183 })(), ak); 2187 })(), ak);
2184 } else { 2188 } else {
2185 a[core.$set](k, a[core.$get](great)); 2189 a[dartx.set](k, a[dartx.get](great));
2186 a[core.$set]((() => { 2190 a[dartx.set]((() => {
2187 let x = great; 2191 let x = great;
2188 great = dart.notNull(x) - 1; 2192 great = dart.notNull(x) - 1;
2189 return x; 2193 return x;
2190 })(), ak); 2194 })(), ak);
2191 } 2195 }
2192 break; 2196 break;
2193 } 2197 }
2194 } 2198 }
2195 } 2199 }
2196 } 2200 }
(...skipping 24 matching lines...) Expand all
2221 this[_name] = name; 2225 this[_name] = name;
2222 } 2226 }
2223 validated(name) { 2227 validated(name) {
2224 this[_name] = Symbol.validatePublicSymbol(name); 2228 this[_name] = Symbol.validatePublicSymbol(name);
2225 } 2229 }
2226 ['=='](other) { 2230 ['=='](other) {
2227 return dart.is(other, Symbol) && this[_name] == other[_name]; 2231 return dart.is(other, Symbol) && this[_name] == other[_name];
2228 } 2232 }
2229 get hashCode() { 2233 get hashCode() {
2230 let arbitraryPrime = 664597; 2234 let arbitraryPrime = 664597;
2231 return 536870911 & dart.notNull(arbitraryPrime) * dart.notNull(dart.hashCo de(this[_name])); 2235 return 536870911 & dart.notNull(arbitraryPrime) * dart.notNull(dart[dartx. hashCode](this[_name]));
2232 } 2236 }
2233 toString() { 2237 toString() {
2234 return `Symbol("${this[_name]}")`; 2238 return `Symbol("${this[_name]}")`;
2235 } 2239 }
2236 static getName(symbol) { 2240 static getName(symbol) {
2237 return symbol[_name]; 2241 return symbol[_name];
2238 } 2242 }
2239 static validatePublicSymbol(name) { 2243 static validatePublicSymbol(name) {
2240 if (dart.notNull(name.isEmpty) || dart.notNull(Symbol.publicSymbolPattern. hasMatch(name))) 2244 if (dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.publicSymbolP attern.hasMatch(name)))
2241 return name; 2245 return name;
2242 if (name.startsWith('_')) { 2246 if (name[dartx.startsWith]('_')) {
2243 throw new core.ArgumentError(`"${name}" is a private identifier`); 2247 throw new core.ArgumentError(`"${name}" is a private identifier`);
2244 } 2248 }
2245 throw new core.ArgumentError(`"${name}" is not a valid (qualified) symbol name`); 2249 throw new core.ArgumentError(`"${name}" is not a valid (qualified) symbol name`);
2246 } 2250 }
2247 static isValidSymbol(name) { 2251 static isValidSymbol(name) {
2248 return dart.notNull(name.isEmpty) || dart.notNull(Symbol.symbolPattern.has Match(name)); 2252 return dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.symbolPatt ern.hasMatch(name));
2249 } 2253 }
2250 } 2254 }
2251 Symbol[dart.implements] = () => [core.Symbol]; 2255 Symbol[dart.implements] = () => [core.Symbol];
2252 dart.defineNamedConstructor(Symbol, 'unvalidated'); 2256 dart.defineNamedConstructor(Symbol, 'unvalidated');
2253 dart.defineNamedConstructor(Symbol, 'validated'); 2257 dart.defineNamedConstructor(Symbol, 'validated');
2254 dart.setSignature(Symbol, { 2258 dart.setSignature(Symbol, {
2255 constructors: () => ({ 2259 constructors: () => ({
2256 Symbol: [Symbol, [core.String]], 2260 Symbol: [Symbol, [core.String]],
2257 unvalidated: [Symbol, [core.String]], 2261 unvalidated: [Symbol, [core.String]],
2258 validated: [Symbol, [core.String]] 2262 validated: [Symbol, [core.String]]
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
2345 exports.ReversedListIterable = ReversedListIterable; 2349 exports.ReversedListIterable = ReversedListIterable;
2346 exports.UnmodifiableListError = UnmodifiableListError; 2350 exports.UnmodifiableListError = UnmodifiableListError;
2347 exports.NonGrowableListError = NonGrowableListError; 2351 exports.NonGrowableListError = NonGrowableListError;
2348 exports.makeListFixedLength = makeListFixedLength; 2352 exports.makeListFixedLength = makeListFixedLength;
2349 exports.Lists = Lists; 2353 exports.Lists = Lists;
2350 exports.printToConsole = printToConsole; 2354 exports.printToConsole = printToConsole;
2351 exports.Sort = Sort; 2355 exports.Sort = Sort;
2352 exports.Symbol = Symbol; 2356 exports.Symbol = Symbol;
2353 exports.POWERS_OF_TEN = POWERS_OF_TEN; 2357 exports.POWERS_OF_TEN = POWERS_OF_TEN;
2354 })(_internal, core, collection, math, _interceptors, _js_primitives); 2358 })(_internal, core, collection, math, _interceptors, _js_primitives);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698