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

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

Issue 977613002: Make int and double nullable by default (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: actually upload changes Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 var _internal; 1 var _internal;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 let POWERS_OF_TEN = /* Unimplemented const */new List.from([1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 10000000.0, 100000000.0, 1000000000.0, 100 00000000.0, 100000000000.0, 1000000000000.0, 10000000000000.0, 100000000000000.0 , 1000000000000000.0, 10000000000000000.0, 100000000000000000.0, 100000000000000 0000.0, 10000000000000000000.0, 100000000000000000000.0, 1e+21, 1e+22]); 4 let POWERS_OF_TEN = /* Unimplemented const */new List.from([1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 10000000.0, 100000000.0, 1000000000.0, 100 00000000.0, 100000000000.0, 1000000000000.0, 10000000000000.0, 100000000000000.0 , 1000000000000000.0, 10000000000000000.0, 100000000000000000.0, 100000000000000 0000.0, 10000000000000000000.0, 100000000000000000000.0, 1e+21, 1e+22]);
5 class EfficientLength extends dart.Object { 5 class EfficientLength extends dart.Object {
6 } 6 }
7 let ListIterable$ = dart.generic(function(E) { 7 let ListIterable$ = dart.generic(function(E) {
8 class ListIterable extends collection.IterableBase$(E) { 8 class ListIterable extends collection.IterableBase$(E) {
9 ListIterable() { 9 ListIterable() {
10 super.IterableBase(); 10 super.IterableBase();
11 } 11 }
12 get iterator() { 12 get iterator() {
13 return new ListIterator(this); 13 return new ListIterator(this);
14 } 14 }
15 forEach(action) { 15 forEach(action) {
16 let length = this.length; 16 let length = this.length;
17 for (let i = 0; i < length; i++) { 17 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
18 action(this.elementAt(i)); 18 action(this.elementAt(i));
19 if (length !== this.length) { 19 if (length !== this.length) {
20 throw new core.ConcurrentModificationError(this); 20 throw new core.ConcurrentModificationError(this);
21 } 21 }
22 } 22 }
23 } 23 }
24 get isEmpty() { 24 get isEmpty() {
25 return this.length === 0; 25 return this.length === 0;
26 } 26 }
27 get first() { 27 get first() {
28 if (this.length === 0) 28 if (this.length === 0)
29 throw IterableElementError.noElement(); 29 throw IterableElementError.noElement();
30 return this.elementAt(0); 30 return this.elementAt(0);
31 } 31 }
32 get last() { 32 get last() {
33 if (this.length === 0) 33 if (this.length === 0)
34 throw IterableElementError.noElement(); 34 throw IterableElementError.noElement();
35 return this.elementAt(this.length - 1); 35 return this.elementAt(dart.notNull(this.length) - 1);
36 } 36 }
37 get single() { 37 get single() {
38 if (this.length === 0) 38 if (this.length === 0)
39 throw IterableElementError.noElement(); 39 throw IterableElementError.noElement();
40 if (this.length > 1) 40 if (dart.notNull(this.length) > 1)
41 throw IterableElementError.tooMany(); 41 throw IterableElementError.tooMany();
42 return this.elementAt(0); 42 return this.elementAt(0);
43 } 43 }
44 contains(element) { 44 contains(element) {
45 let length = this.length; 45 let length = this.length;
46 for (let i = 0; i < length; i++) { 46 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
47 if (dart.equals(this.elementAt(i), element)) 47 if (dart.equals(this.elementAt(i), element))
48 return true; 48 return true;
49 if (length !== this.length) { 49 if (length !== this.length) {
50 throw new core.ConcurrentModificationError(this); 50 throw new core.ConcurrentModificationError(this);
51 } 51 }
52 } 52 }
53 return false; 53 return false;
54 } 54 }
55 every(test) { 55 every(test) {
56 let length = this.length; 56 let length = this.length;
57 for (let i = 0; i < length; i++) { 57 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
58 if (!dart.notNull(test(this.elementAt(i)))) 58 if (!dart.notNull(test(this.elementAt(i))))
59 return false; 59 return false;
60 if (length !== this.length) { 60 if (length !== this.length) {
61 throw new core.ConcurrentModificationError(this); 61 throw new core.ConcurrentModificationError(this);
62 } 62 }
63 } 63 }
64 return true; 64 return true;
65 } 65 }
66 any(test) { 66 any(test) {
67 let length = this.length; 67 let length = this.length;
68 for (let i = 0; i < length; i++) { 68 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
69 if (test(this.elementAt(i))) 69 if (test(this.elementAt(i)))
70 return true; 70 return true;
71 if (length !== this.length) { 71 if (length !== this.length) {
72 throw new core.ConcurrentModificationError(this); 72 throw new core.ConcurrentModificationError(this);
73 } 73 }
74 } 74 }
75 return false; 75 return false;
76 } 76 }
77 firstWhere(test, opt$) { 77 firstWhere(test, opt$) {
78 let orElse = opt$.orElse === void 0 ? null : opt$.orElse; 78 let orElse = opt$.orElse === void 0 ? null : opt$.orElse;
79 let length = this.length; 79 let length = this.length;
80 for (let i = 0; i < length; i++) { 80 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
81 let element = this.elementAt(i); 81 let element = this.elementAt(i);
82 if (test(element)) 82 if (test(element))
83 return element; 83 return element;
84 if (length !== this.length) { 84 if (length !== this.length) {
85 throw new core.ConcurrentModificationError(this); 85 throw new core.ConcurrentModificationError(this);
86 } 86 }
87 } 87 }
88 if (orElse !== null) 88 if (orElse !== null)
89 return orElse(); 89 return orElse();
90 throw IterableElementError.noElement(); 90 throw IterableElementError.noElement();
91 } 91 }
92 lastWhere(test, opt$) { 92 lastWhere(test, opt$) {
93 let orElse = opt$.orElse === void 0 ? null : opt$.orElse; 93 let orElse = opt$.orElse === void 0 ? null : opt$.orElse;
94 let length = this.length; 94 let length = this.length;
95 for (let i = length - 1; i >= 0; i--) { 95 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; dart.notNul l(i)--) {
96 let element = this.elementAt(i); 96 let element = this.elementAt(i);
97 if (test(element)) 97 if (test(element))
98 return element; 98 return element;
99 if (length !== this.length) { 99 if (length !== this.length) {
100 throw new core.ConcurrentModificationError(this); 100 throw new core.ConcurrentModificationError(this);
101 } 101 }
102 } 102 }
103 if (orElse !== null) 103 if (orElse !== null)
104 return orElse(); 104 return orElse();
105 throw IterableElementError.noElement(); 105 throw IterableElementError.noElement();
106 } 106 }
107 singleWhere(test) { 107 singleWhere(test) {
108 let length = this.length; 108 let length = this.length;
109 let match = dart.as(null, E); 109 let match = null;
110 let matchFound = false; 110 let matchFound = false;
111 for (let i = 0; i < length; i++) { 111 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
112 let element = this.elementAt(i); 112 let element = this.elementAt(i);
113 if (test(element)) { 113 if (test(element)) {
114 if (matchFound) { 114 if (matchFound) {
115 throw IterableElementError.tooMany(); 115 throw IterableElementError.tooMany();
116 } 116 }
117 matchFound = true; 117 matchFound = true;
118 match = element; 118 match = element;
119 } 119 }
120 if (length !== this.length) { 120 if (length !== this.length) {
121 throw new core.ConcurrentModificationError(this); 121 throw new core.ConcurrentModificationError(this);
122 } 122 }
123 } 123 }
124 if (matchFound) 124 if (matchFound)
125 return match; 125 return match;
126 throw IterableElementError.noElement(); 126 throw IterableElementError.noElement();
127 } 127 }
128 join(separator) { 128 join(separator) {
129 if (separator === void 0) 129 if (separator === void 0)
130 separator = ""; 130 separator = "";
131 let length = this.length; 131 let length = this.length;
132 if (!dart.notNull(separator.isEmpty)) { 132 if (!dart.notNull(separator.isEmpty)) {
133 if (length === 0) 133 if (length === 0)
134 return ""; 134 return "";
135 let first = `${this.elementAt(0)}`; 135 let first = `${this.elementAt(0)}`;
136 if (length !== this.length) { 136 if (length !== this.length) {
137 throw new core.ConcurrentModificationError(this); 137 throw new core.ConcurrentModificationError(this);
138 } 138 }
139 let buffer = new core.StringBuffer(first); 139 let buffer = new core.StringBuffer(first);
140 for (let i = 1; i < length; i++) { 140 for (let i = 1; dart.notNull(i) < dart.notNull(length); dart.notNull(i )++) {
141 buffer.write(separator); 141 buffer.write(separator);
142 buffer.write(this.elementAt(i)); 142 buffer.write(this.elementAt(i));
143 if (length !== this.length) { 143 if (length !== this.length) {
144 throw new core.ConcurrentModificationError(this); 144 throw new core.ConcurrentModificationError(this);
145 } 145 }
146 } 146 }
147 return buffer.toString(); 147 return buffer.toString();
148 } else { 148 } else {
149 let buffer = new core.StringBuffer(); 149 let buffer = new core.StringBuffer();
150 for (let i = 0; i < length; i++) { 150 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i )++) {
151 buffer.write(this.elementAt(i)); 151 buffer.write(this.elementAt(i));
152 if (length !== this.length) { 152 if (length !== this.length) {
153 throw new core.ConcurrentModificationError(this); 153 throw new core.ConcurrentModificationError(this);
154 } 154 }
155 } 155 }
156 return buffer.toString(); 156 return buffer.toString();
157 } 157 }
158 } 158 }
159 where(test) { 159 where(test) {
160 return super.where(test); 160 return super.where(test);
161 } 161 }
162 map(f) { 162 map(f) {
163 return new MappedListIterable(this, dart.as(f, dart.throw_("Unimplemente d type (dynamic) → dynamic"))); 163 return new MappedListIterable(this, dart.as(f, dart.throw_("Unimplemente d type (dynamic) → dynamic")));
164 } 164 }
165 reduce(combine) { 165 reduce(combine) {
166 let length = this.length; 166 let length = this.length;
167 if (length === 0) 167 if (length === 0)
168 throw IterableElementError.noElement(); 168 throw IterableElementError.noElement();
169 let value = this.elementAt(0); 169 let value = this.elementAt(0);
170 for (let i = 1; i < length; i++) { 170 for (let i = 1; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
171 value = combine(value, this.elementAt(i)); 171 value = combine(value, this.elementAt(i));
172 if (length !== this.length) { 172 if (length !== this.length) {
173 throw new core.ConcurrentModificationError(this); 173 throw new core.ConcurrentModificationError(this);
174 } 174 }
175 } 175 }
176 return value; 176 return value;
177 } 177 }
178 fold(initialValue, combine) { 178 fold(initialValue, combine) {
179 let value = initialValue; 179 let value = initialValue;
180 let length = this.length; 180 let length = this.length;
181 for (let i = 0; i < length; i++) { 181 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
182 value = combine(value, this.elementAt(i)); 182 value = combine(value, this.elementAt(i));
183 if (length !== this.length) { 183 if (length !== this.length) {
184 throw new core.ConcurrentModificationError(this); 184 throw new core.ConcurrentModificationError(this);
185 } 185 }
186 } 186 }
187 return value; 187 return value;
188 } 188 }
189 skip(count) { 189 skip(count) {
190 return new SubListIterable(this, count, dart.as(null, core.int)); 190 return new SubListIterable(this, count, null);
191 } 191 }
192 skipWhile(test) { 192 skipWhile(test) {
193 return super.skipWhile(test); 193 return super.skipWhile(test);
194 } 194 }
195 take(count) { 195 take(count) {
196 return new SubListIterable(this, 0, count); 196 return new SubListIterable(this, 0, count);
197 } 197 }
198 takeWhile(test) { 198 takeWhile(test) {
199 return super.takeWhile(test); 199 return super.takeWhile(test);
200 } 200 }
201 toList(opt$) { 201 toList(opt$) {
202 let growable = opt$.growable === void 0 ? true : opt$.growable; 202 let growable = opt$.growable === void 0 ? true : opt$.growable;
203 let result = null; 203 let result = null;
204 if (growable) { 204 if (growable) {
205 result = ((_) => { 205 result = ((_) => {
206 _.length = this.length; 206 _.length = this.length;
207 return _; 207 return _;
208 }).bind(this)(new core.List()); 208 }).bind(this)(new core.List());
209 } else { 209 } else {
210 result = new core.List(this.length); 210 result = new core.List(this.length);
211 } 211 }
212 for (let i = 0; i < this.length; i++) { 212 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); dart.notNul l(i)++) {
213 result.set(i, this.elementAt(i)); 213 result.set(i, this.elementAt(i));
214 } 214 }
215 return result; 215 return result;
216 } 216 }
217 toSet() { 217 toSet() {
218 let result = new core.Set(); 218 let result = new core.Set();
219 for (let i = 0; i < this.length; i++) { 219 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); dart.notNul l(i)++) {
220 result.add(this.elementAt(i)); 220 result.add(this.elementAt(i));
221 } 221 }
222 return result; 222 return result;
223 } 223 }
224 } 224 }
225 return ListIterable; 225 return ListIterable;
226 }); 226 });
227 let ListIterable = ListIterable$(dynamic); 227 let ListIterable = ListIterable$(dynamic);
228 let _iterable = Symbol('_iterable'); 228 let _iterable = Symbol('_iterable');
229 let _start = Symbol('_start'); 229 let _start = Symbol('_start');
230 let _endOrLength = Symbol('_endOrLength'); 230 let _endOrLength = Symbol('_endOrLength');
231 let _endIndex = Symbol('_endIndex'); 231 let _endIndex = Symbol('_endIndex');
232 let _startIndex = Symbol('_startIndex'); 232 let _startIndex = Symbol('_startIndex');
233 let SubListIterable$ = dart.generic(function(E) { 233 let SubListIterable$ = dart.generic(function(E) {
234 class SubListIterable extends ListIterable$(E) { 234 class SubListIterable extends ListIterable$(E) {
235 SubListIterable($_iterable, $_start, $_endOrLength) { 235 SubListIterable($_iterable, $_start, $_endOrLength) {
236 this[_iterable] = $_iterable; 236 this[_iterable] = $_iterable;
237 this[_start] = $_start; 237 this[_start] = $_start;
238 this[_endOrLength] = $_endOrLength; 238 this[_endOrLength] = $_endOrLength;
239 super.ListIterable(); 239 super.ListIterable();
240 core.RangeError.checkNotNegative(this[_start], "start"); 240 core.RangeError.checkNotNegative(this[_start], "start");
241 if (this[_endOrLength] !== null) { 241 if (this[_endOrLength] !== null) {
242 core.RangeError.checkNotNegative(this[_endOrLength], "end"); 242 core.RangeError.checkNotNegative(this[_endOrLength], "end");
243 if (this[_start] > this[_endOrLength]) { 243 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) {
244 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start"); 244 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start");
245 } 245 }
246 } 246 }
247 } 247 }
248 get [_endIndex]() { 248 get [_endIndex]() {
249 let length = this[_iterable].length; 249 let length = this[_iterable].length;
250 if (dart.notNull(this[_endOrLength] === null) || dart.notNull(this[_endO rLength] > length)) 250 if (this[_endOrLength] === null || dart.notNull(this[_endOrLength]) > da rt.notNull(length))
251 return length; 251 return length;
252 return this[_endOrLength]; 252 return this[_endOrLength];
253 } 253 }
254 get [_startIndex]() { 254 get [_startIndex]() {
255 let length = this[_iterable].length; 255 let length = this[_iterable].length;
256 if (this[_start] > length) 256 if (dart.notNull(this[_start]) > dart.notNull(length))
257 return length; 257 return length;
258 return this[_start]; 258 return this[_start];
259 } 259 }
260 get length() { 260 get length() {
261 let length = this[_iterable].length; 261 let length = this[_iterable].length;
262 if (this[_start] >= length) 262 if (dart.notNull(this[_start]) >= dart.notNull(length))
263 return 0; 263 return 0;
264 if (dart.notNull(this[_endOrLength] === null) || dart.notNull(this[_endO rLength] >= length)) { 264 if (this[_endOrLength] === null || dart.notNull(this[_endOrLength]) >= d art.notNull(length)) {
265 return length - this[_start]; 265 return dart.notNull(length) - dart.notNull(this[_start]);
266 } 266 }
267 return this[_endOrLength] - this[_start]; 267 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]);
268 } 268 }
269 elementAt(index) { 269 elementAt(index) {
270 let realIndex = this[_startIndex] + index; 270 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index);
271 if (dart.notNull(index < 0) || dart.notNull(realIndex >= this[_endIndex] )) { 271 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) {
272 throw new core.RangeError.index(index, this, "index"); 272 throw new core.RangeError.index(index, this, "index");
273 } 273 }
274 return this[_iterable].elementAt(realIndex); 274 return this[_iterable].elementAt(realIndex);
275 } 275 }
276 skip(count) { 276 skip(count) {
277 core.RangeError.checkNotNegative(count, "count"); 277 core.RangeError.checkNotNegative(count, "count");
278 let newStart = this[_start] + count; 278 let newStart = dart.notNull(this[_start]) + dart.notNull(count);
279 if (dart.notNull(this[_endOrLength] !== null) && dart.notNull(newStart > = this[_endOrLength])) { 279 if (this[_endOrLength] !== null && dart.notNull(newStart) >= dart.notNul l(this[_endOrLength])) {
280 return new EmptyIterable(); 280 return new EmptyIterable();
281 } 281 }
282 return new SubListIterable(this[_iterable], newStart, this[_endOrLength] ); 282 return new SubListIterable(this[_iterable], newStart, this[_endOrLength] );
283 } 283 }
284 take(count) { 284 take(count) {
285 core.RangeError.checkNotNegative(count, "count"); 285 core.RangeError.checkNotNegative(count, "count");
286 if (this[_endOrLength] === null) { 286 if (this[_endOrLength] === null) {
287 return new SubListIterable(this[_iterable], this[_start], this[_start] + count); 287 return new SubListIterable(this[_iterable], this[_start], dart.notNull (this[_start]) + dart.notNull(count));
288 } else { 288 } else {
289 let newEnd = this[_start] + count; 289 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
290 if (this[_endOrLength] < newEnd) 290 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd))
291 return this; 291 return this;
292 return new SubListIterable(this[_iterable], this[_start], newEnd); 292 return new SubListIterable(this[_iterable], this[_start], newEnd);
293 } 293 }
294 } 294 }
295 toList(opt$) { 295 toList(opt$) {
296 let growable = opt$.growable === void 0 ? true : opt$.growable; 296 let growable = opt$.growable === void 0 ? true : opt$.growable;
297 let start = this[_start]; 297 let start = this[_start];
298 let end = this[_iterable].length; 298 let end = this[_iterable].length;
299 if (dart.notNull(this[_endOrLength] !== null) && dart.notNull(this[_endO rLength] < end)) 299 if (this[_endOrLength] !== null && dart.notNull(this[_endOrLength]) < da rt.notNull(end))
300 end = this[_endOrLength]; 300 end = this[_endOrLength];
301 let length = end - start; 301 let length = dart.notNull(end) - dart.notNull(start);
302 if (length < 0) 302 if (dart.notNull(length) < 0)
303 length = 0; 303 length = 0;
304 let result = growable ? ((_) => { 304 let result = growable ? ((_) => {
305 _.length = length; 305 _.length = length;
306 return _; 306 return _;
307 }).bind(this)(new core.List()) : new core.List(length); 307 }).bind(this)(new core.List()) : new core.List(length);
308 for (let i = 0; i < length; i++) { 308 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
309 result.set(i, this[_iterable].elementAt(start + i)); 309 result.set(i, this[_iterable].elementAt(dart.notNull(start) + dart.not Null(i)));
310 if (this[_iterable].length < end) 310 if (dart.notNull(this[_iterable].length) < dart.notNull(end))
311 throw new core.ConcurrentModificationError(this); 311 throw new core.ConcurrentModificationError(this);
312 } 312 }
313 return dart.as(result, core.List$(E)); 313 return dart.as(result, core.List$(E));
314 } 314 }
315 } 315 }
316 return SubListIterable; 316 return SubListIterable;
317 }); 317 });
318 let SubListIterable = SubListIterable$(dynamic); 318 let SubListIterable = SubListIterable$(dynamic);
319 let _length = Symbol('_length'); 319 let _length = Symbol('_length');
320 let _index = Symbol('_index'); 320 let _index = Symbol('_index');
321 let _current = Symbol('_current'); 321 let _current = Symbol('_current');
322 let ListIterator$ = dart.generic(function(E) { 322 let ListIterator$ = dart.generic(function(E) {
323 class ListIterator extends dart.Object { 323 class ListIterator extends dart.Object {
324 ListIterator(iterable) { 324 ListIterator(iterable) {
325 this[_iterable] = iterable; 325 this[_iterable] = iterable;
326 this[_length] = iterable.length; 326 this[_length] = iterable.length;
327 this[_index] = 0; 327 this[_index] = 0;
328 this[_current] = dart.as(null, E); 328 this[_current] = null;
329 } 329 }
330 get current() { 330 get current() {
331 return this[_current]; 331 return this[_current];
332 } 332 }
333 moveNext() { 333 moveNext() {
334 let length = this[_iterable].length; 334 let length = this[_iterable].length;
335 if (this[_length] !== length) { 335 if (this[_length] !== length) {
336 throw new core.ConcurrentModificationError(this[_iterable]); 336 throw new core.ConcurrentModificationError(this[_iterable]);
337 } 337 }
338 if (this[_index] >= length) { 338 if (dart.notNull(this[_index]) >= dart.notNull(length)) {
339 this[_current] = dart.as(null, E); 339 this[_current] = null;
340 return false; 340 return false;
341 } 341 }
342 this[_current] = this[_iterable].elementAt(this[_index]); 342 this[_current] = this[_iterable].elementAt(this[_index]);
343 this[_index]++; 343 dart.notNull(this[_index])++;
344 return true; 344 return true;
345 } 345 }
346 } 346 }
347 return ListIterator; 347 return ListIterator;
348 }); 348 });
349 let ListIterator = ListIterator$(dynamic); 349 let ListIterator = ListIterator$(dynamic);
350 let _f = Symbol('_f'); 350 let _f = Symbol('_f');
351 let MappedIterable$ = dart.generic(function(S, T) { 351 let MappedIterable$ = dart.generic(function(S, T) {
352 class MappedIterable extends collection.IterableBase$(T) { 352 class MappedIterable extends collection.IterableBase$(T) {
353 MappedIterable(iterable, function) { 353 MappedIterable(iterable, function) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 } 395 }
396 return EfficientLengthMappedIterable; 396 return EfficientLengthMappedIterable;
397 }); 397 });
398 let EfficientLengthMappedIterable = EfficientLengthMappedIterable$(dynamic, dy namic); 398 let EfficientLengthMappedIterable = EfficientLengthMappedIterable$(dynamic, dy namic);
399 let _iterator = Symbol('_iterator'); 399 let _iterator = Symbol('_iterator');
400 let MappedIterator$ = dart.generic(function(S, T) { 400 let MappedIterator$ = dart.generic(function(S, T) {
401 class MappedIterator extends core.Iterator$(T) { 401 class MappedIterator extends core.Iterator$(T) {
402 MappedIterator($_iterator, $_f) { 402 MappedIterator($_iterator, $_f) {
403 this[_iterator] = $_iterator; 403 this[_iterator] = $_iterator;
404 this[_f] = $_f; 404 this[_f] = $_f;
405 this[_current] = dart.as(null, T); 405 this[_current] = null;
406 super.Iterator(); 406 super.Iterator();
407 } 407 }
408 moveNext() { 408 moveNext() {
409 if (this[_iterator].moveNext()) { 409 if (this[_iterator].moveNext()) {
410 this[_current] = this[_f](this[_iterator].current); 410 this[_current] = this[_f](this[_iterator].current);
411 return true; 411 return true;
412 } 412 }
413 this[_current] = dart.as(null, T); 413 this[_current] = null;
414 return false; 414 return false;
415 } 415 }
416 get current() { 416 get current() {
417 return this[_current]; 417 return this[_current];
418 } 418 }
419 } 419 }
420 return MappedIterator; 420 return MappedIterator;
421 }); 421 });
422 let MappedIterator = MappedIterator$(dynamic, dynamic); 422 let MappedIterator = MappedIterator$(dynamic, dynamic);
423 let _source = Symbol('_source'); 423 let _source = Symbol('_source');
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 }); 489 });
490 let ExpandIterable = ExpandIterable$(dynamic, dynamic); 490 let ExpandIterable = ExpandIterable$(dynamic, dynamic);
491 let _currentExpansion = Symbol('_currentExpansion'); 491 let _currentExpansion = Symbol('_currentExpansion');
492 let _nextExpansion = Symbol('_nextExpansion'); 492 let _nextExpansion = Symbol('_nextExpansion');
493 let ExpandIterator$ = dart.generic(function(S, T) { 493 let ExpandIterator$ = dart.generic(function(S, T) {
494 class ExpandIterator extends dart.Object { 494 class ExpandIterator extends dart.Object {
495 ExpandIterator($_iterator, $_f) { 495 ExpandIterator($_iterator, $_f) {
496 this[_iterator] = $_iterator; 496 this[_iterator] = $_iterator;
497 this[_f] = $_f; 497 this[_f] = $_f;
498 this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T) ); 498 this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T) );
499 this[_current] = dart.as(null, T); 499 this[_current] = null;
500 } 500 }
501 [_nextExpansion]() {} 501 [_nextExpansion]() {}
502 get current() { 502 get current() {
503 return this[_current]; 503 return this[_current];
504 } 504 }
505 moveNext() { 505 moveNext() {
506 if (this[_currentExpansion] === null) 506 if (this[_currentExpansion] === null)
507 return false; 507 return false;
508 while (!dart.notNull(this[_currentExpansion].moveNext())) { 508 while (!dart.notNull(this[_currentExpansion].moveNext())) {
509 this[_current] = dart.as(null, T); 509 this[_current] = null;
510 if (this[_iterator].moveNext()) { 510 if (this[_iterator].moveNext()) {
511 this[_currentExpansion] = null; 511 this[_currentExpansion] = null;
512 this[_currentExpansion] = dart.as(this[_f](this[_iterator].current). iterator, core.Iterator$(T)); 512 this[_currentExpansion] = dart.as(this[_f](this[_iterator].current). iterator, core.Iterator$(T));
513 } else { 513 } else {
514 return false; 514 return false;
515 } 515 }
516 } 516 }
517 this[_current] = this[_currentExpansion].current; 517 this[_current] = this[_currentExpansion].current;
518 return true; 518 return true;
519 } 519 }
520 } 520 }
521 return ExpandIterator; 521 return ExpandIterator;
522 }); 522 });
523 let ExpandIterator = ExpandIterator$(dynamic, dynamic); 523 let ExpandIterator = ExpandIterator$(dynamic, dynamic);
524 let _takeCount = Symbol('_takeCount'); 524 let _takeCount = Symbol('_takeCount');
525 let TakeIterable$ = dart.generic(function(E) { 525 let TakeIterable$ = dart.generic(function(E) {
526 class TakeIterable extends collection.IterableBase$(E) { 526 class TakeIterable extends collection.IterableBase$(E) {
527 TakeIterable(iterable, takeCount) { 527 TakeIterable(iterable, takeCount) {
528 if (dart.notNull(!(typeof takeCount == number)) || dart.notNull(takeCoun t < 0)) { 528 if (dart.notNull(!(typeof takeCount == number)) || dart.notNull(takeCoun t) < 0) {
529 throw new core.ArgumentError(takeCount); 529 throw new core.ArgumentError(takeCount);
530 } 530 }
531 if (dart.is(iterable, EfficientLength)) { 531 if (dart.is(iterable, EfficientLength)) {
532 return new EfficientLengthTakeIterable(iterable, takeCount); 532 return new EfficientLengthTakeIterable(iterable, takeCount);
533 } 533 }
534 return new TakeIterable._(iterable, takeCount); 534 return new TakeIterable._(iterable, takeCount);
535 } 535 }
536 TakeIterable$_($_iterable, $_takeCount) { 536 TakeIterable$_($_iterable, $_takeCount) {
537 this[_iterable] = $_iterable; 537 this[_iterable] = $_iterable;
538 this[_takeCount] = $_takeCount; 538 this[_takeCount] = $_takeCount;
539 super.IterableBase(); 539 super.IterableBase();
540 } 540 }
541 get iterator() { 541 get iterator() {
542 return new TakeIterator(this[_iterable].iterator, this[_takeCount]); 542 return new TakeIterator(this[_iterable].iterator, this[_takeCount]);
543 } 543 }
544 } 544 }
545 dart.defineNamedConstructor(TakeIterable, '_'); 545 dart.defineNamedConstructor(TakeIterable, '_');
546 return TakeIterable; 546 return TakeIterable;
547 }); 547 });
548 let TakeIterable = TakeIterable$(dynamic); 548 let TakeIterable = TakeIterable$(dynamic);
549 let EfficientLengthTakeIterable$ = dart.generic(function(E) { 549 let EfficientLengthTakeIterable$ = dart.generic(function(E) {
550 class EfficientLengthTakeIterable extends TakeIterable$(E) { 550 class EfficientLengthTakeIterable extends TakeIterable$(E) {
551 EfficientLengthTakeIterable(iterable, takeCount) { 551 EfficientLengthTakeIterable(iterable, takeCount) {
552 super.TakeIterable$_(iterable, takeCount); 552 super.TakeIterable$_(iterable, takeCount);
553 } 553 }
554 get length() { 554 get length() {
555 let iterableLength = this[_iterable].length; 555 let iterableLength = this[_iterable].length;
556 if (iterableLength > this[_takeCount]) 556 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount]))
557 return this[_takeCount]; 557 return this[_takeCount];
558 return iterableLength; 558 return iterableLength;
559 } 559 }
560 } 560 }
561 return EfficientLengthTakeIterable; 561 return EfficientLengthTakeIterable;
562 }); 562 });
563 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(dynamic); 563 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(dynamic);
564 let _remaining = Symbol('_remaining'); 564 let _remaining = Symbol('_remaining');
565 let TakeIterator$ = dart.generic(function(E) { 565 let TakeIterator$ = dart.generic(function(E) {
566 class TakeIterator extends core.Iterator$(E) { 566 class TakeIterator extends core.Iterator$(E) {
567 TakeIterator($_iterator, $_remaining) { 567 TakeIterator($_iterator, $_remaining) {
568 this[_iterator] = $_iterator; 568 this[_iterator] = $_iterator;
569 this[_remaining] = $_remaining; 569 this[_remaining] = $_remaining;
570 super.Iterator(); 570 super.Iterator();
571 dart.assert(dart.notNull(typeof this[_remaining] == number) && dart.notN ull(this[_remaining] >= 0)); 571 dart.assert(dart.notNull(typeof this[_remaining] == number) && dart.notN ull(this[_remaining]) >= 0);
572 } 572 }
573 moveNext() { 573 moveNext() {
574 this[_remaining]--; 574 dart.notNull(this[_remaining])--;
575 if (this[_remaining] >= 0) { 575 if (dart.notNull(this[_remaining]) >= 0) {
576 return this[_iterator].moveNext(); 576 return this[_iterator].moveNext();
577 } 577 }
578 this[_remaining] = -1; 578 this[_remaining] = -1;
579 return false; 579 return false;
580 } 580 }
581 get current() { 581 get current() {
582 if (this[_remaining] < 0) 582 if (dart.notNull(this[_remaining]) < 0)
583 return dart.as(null, E); 583 return null;
584 return this[_iterator].current; 584 return this[_iterator].current;
585 } 585 }
586 } 586 }
587 return TakeIterator; 587 return TakeIterator;
588 }); 588 });
589 let TakeIterator = TakeIterator$(dynamic); 589 let TakeIterator = TakeIterator$(dynamic);
590 let TakeWhileIterable$ = dart.generic(function(E) { 590 let TakeWhileIterable$ = dart.generic(function(E) {
591 class TakeWhileIterable extends collection.IterableBase$(E) { 591 class TakeWhileIterable extends collection.IterableBase$(E) {
592 TakeWhileIterable($_iterable, $_f) { 592 TakeWhileIterable($_iterable, $_f) {
593 this[_iterable] = $_iterable; 593 this[_iterable] = $_iterable;
(...skipping 12 matching lines...) Expand all
606 class TakeWhileIterator extends core.Iterator$(E) { 606 class TakeWhileIterator extends core.Iterator$(E) {
607 TakeWhileIterator($_iterator, $_f) { 607 TakeWhileIterator($_iterator, $_f) {
608 this[_iterator] = $_iterator; 608 this[_iterator] = $_iterator;
609 this[_f] = $_f; 609 this[_f] = $_f;
610 this[_isFinished] = false; 610 this[_isFinished] = false;
611 super.Iterator(); 611 super.Iterator();
612 } 612 }
613 moveNext() { 613 moveNext() {
614 if (this[_isFinished]) 614 if (this[_isFinished])
615 return false; 615 return false;
616 if (dart.notNull(!dart.notNull(this[_iterator].moveNext())) || dart.notN ull(!dart.notNull(this[_f](this[_iterator].current)))) { 616 if (!dart.notNull(this[_iterator].moveNext()) || !dart.notNull(this[_f]( this[_iterator].current))) {
617 this[_isFinished] = true; 617 this[_isFinished] = true;
618 return false; 618 return false;
619 } 619 }
620 return true; 620 return true;
621 } 621 }
622 get current() { 622 get current() {
623 if (this[_isFinished]) 623 if (this[_isFinished])
624 return dart.as(null, E); 624 return null;
625 return this[_iterator].current; 625 return this[_iterator].current;
626 } 626 }
627 } 627 }
628 return TakeWhileIterator; 628 return TakeWhileIterator;
629 }); 629 });
630 let TakeWhileIterator = TakeWhileIterator$(dynamic); 630 let TakeWhileIterator = TakeWhileIterator$(dynamic);
631 let _skipCount = Symbol('_skipCount'); 631 let _skipCount = Symbol('_skipCount');
632 let SkipIterable$ = dart.generic(function(E) { 632 let SkipIterable$ = dart.generic(function(E) {
633 class SkipIterable extends collection.IterableBase$(E) { 633 class SkipIterable extends collection.IterableBase$(E) {
634 SkipIterable(iterable, count) { 634 SkipIterable(iterable, count) {
635 if (dart.is(iterable, EfficientLength)) { 635 if (dart.is(iterable, EfficientLength)) {
636 return new EfficientLengthSkipIterable(iterable, count); 636 return new EfficientLengthSkipIterable(iterable, count);
637 } 637 }
638 return new SkipIterable._(iterable, count); 638 return new SkipIterable._(iterable, count);
639 } 639 }
640 SkipIterable$_($_iterable, $_skipCount) { 640 SkipIterable$_($_iterable, $_skipCount) {
641 this[_iterable] = $_iterable; 641 this[_iterable] = $_iterable;
642 this[_skipCount] = $_skipCount; 642 this[_skipCount] = $_skipCount;
643 super.IterableBase(); 643 super.IterableBase();
644 if (!(typeof this[_skipCount] == number)) { 644 if (!(typeof this[_skipCount] == number)) {
645 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer"); 645 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
646 } 646 }
647 core.RangeError.checkNotNegative(this[_skipCount], "count"); 647 core.RangeError.checkNotNegative(this[_skipCount], "count");
648 } 648 }
649 skip(count) { 649 skip(count) {
650 if (!(typeof this[_skipCount] == number)) { 650 if (!(typeof this[_skipCount] == number)) {
651 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer"); 651 throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
652 } 652 }
653 core.RangeError.checkNotNegative(this[_skipCount], "count"); 653 core.RangeError.checkNotNegative(this[_skipCount], "count");
654 return new SkipIterable._(this[_iterable], this[_skipCount] + count); 654 return new SkipIterable._(this[_iterable], dart.notNull(this[_skipCount] ) + dart.notNull(count));
655 } 655 }
656 get iterator() { 656 get iterator() {
657 return new SkipIterator(this[_iterable].iterator, this[_skipCount]); 657 return new SkipIterator(this[_iterable].iterator, this[_skipCount]);
658 } 658 }
659 } 659 }
660 dart.defineNamedConstructor(SkipIterable, '_'); 660 dart.defineNamedConstructor(SkipIterable, '_');
661 return SkipIterable; 661 return SkipIterable;
662 }); 662 });
663 let SkipIterable = SkipIterable$(dynamic); 663 let SkipIterable = SkipIterable$(dynamic);
664 let EfficientLengthSkipIterable$ = dart.generic(function(E) { 664 let EfficientLengthSkipIterable$ = dart.generic(function(E) {
665 class EfficientLengthSkipIterable extends SkipIterable$(E) { 665 class EfficientLengthSkipIterable extends SkipIterable$(E) {
666 EfficientLengthSkipIterable(iterable, skipCount) { 666 EfficientLengthSkipIterable(iterable, skipCount) {
667 super.SkipIterable$_(iterable, skipCount); 667 super.SkipIterable$_(iterable, skipCount);
668 } 668 }
669 get length() { 669 get length() {
670 let length = this[_iterable].length - this[_skipCount]; 670 let length = dart.notNull(this[_iterable].length) - dart.notNull(this[_s kipCount]);
671 if (length >= 0) 671 if (dart.notNull(length) >= 0)
672 return length; 672 return length;
673 return 0; 673 return 0;
674 } 674 }
675 } 675 }
676 return EfficientLengthSkipIterable; 676 return EfficientLengthSkipIterable;
677 }); 677 });
678 let EfficientLengthSkipIterable = EfficientLengthSkipIterable$(dynamic); 678 let EfficientLengthSkipIterable = EfficientLengthSkipIterable$(dynamic);
679 let SkipIterator$ = dart.generic(function(E) { 679 let SkipIterator$ = dart.generic(function(E) {
680 class SkipIterator extends core.Iterator$(E) { 680 class SkipIterator extends core.Iterator$(E) {
681 SkipIterator($_iterator, $_skipCount) { 681 SkipIterator($_iterator, $_skipCount) {
682 this[_iterator] = $_iterator; 682 this[_iterator] = $_iterator;
683 this[_skipCount] = $_skipCount; 683 this[_skipCount] = $_skipCount;
684 super.Iterator(); 684 super.Iterator();
685 dart.assert(dart.notNull(typeof this[_skipCount] == number) && dart.notN ull(this[_skipCount] >= 0)); 685 dart.assert(dart.notNull(typeof this[_skipCount] == number) && dart.notN ull(this[_skipCount]) >= 0);
686 } 686 }
687 moveNext() { 687 moveNext() {
688 for (let i = 0; i < this[_skipCount]; i++) 688 for (let i = 0; dart.notNull(i) < dart.notNull(this[_skipCount]); dart.n otNull(i)++)
689 this[_iterator].moveNext(); 689 this[_iterator].moveNext();
690 this[_skipCount] = 0; 690 this[_skipCount] = 0;
691 return this[_iterator].moveNext(); 691 return this[_iterator].moveNext();
692 } 692 }
693 get current() { 693 get current() {
694 return this[_iterator].current; 694 return this[_iterator].current;
695 } 695 }
696 } 696 }
697 return SkipIterator; 697 return SkipIterator;
698 }); 698 });
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 }); 834 });
835 let EmptyIterable = EmptyIterable$(dynamic); 835 let EmptyIterable = EmptyIterable$(dynamic);
836 let EmptyIterator$ = dart.generic(function(E) { 836 let EmptyIterator$ = dart.generic(function(E) {
837 class EmptyIterator extends dart.Object { 837 class EmptyIterator extends dart.Object {
838 EmptyIterator() { 838 EmptyIterator() {
839 } 839 }
840 moveNext() { 840 moveNext() {
841 return false; 841 return false;
842 } 842 }
843 get current() { 843 get current() {
844 return dart.as(null, E); 844 return null;
845 } 845 }
846 } 846 }
847 return EmptyIterator; 847 return EmptyIterator;
848 }); 848 });
849 let EmptyIterator = EmptyIterator$(dynamic); 849 let EmptyIterator = EmptyIterator$(dynamic);
850 let BidirectionalIterator$ = dart.generic(function(T) { 850 let BidirectionalIterator$ = dart.generic(function(T) {
851 class BidirectionalIterator extends dart.Object { 851 class BidirectionalIterator extends dart.Object {
852 } 852 }
853 return BidirectionalIterator; 853 return BidirectionalIterator;
854 }); 854 });
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 } 894 }
895 static fold(iterable, initialValue, combine) { 895 static fold(iterable, initialValue, combine) {
896 for (let element of iterable) { 896 for (let element of iterable) {
897 initialValue = combine(initialValue, element); 897 initialValue = combine(initialValue, element);
898 } 898 }
899 return initialValue; 899 return initialValue;
900 } 900 }
901 static removeWhereList(list, test) { 901 static removeWhereList(list, test) {
902 let retained = new List.from([]); 902 let retained = new List.from([]);
903 let length = list.length; 903 let length = list.length;
904 for (let i = 0; i < length; i++) { 904 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
905 let element = list.get(i); 905 let element = list.get(i);
906 if (!dart.notNull(test(element))) { 906 if (!dart.notNull(test(element))) {
907 retained.add(element); 907 retained.add(element);
908 } 908 }
909 if (length !== list.length) { 909 if (length !== list.length) {
910 throw new core.ConcurrentModificationError(list); 910 throw new core.ConcurrentModificationError(list);
911 } 911 }
912 } 912 }
913 if (retained.length === length) 913 if (retained.length === length)
914 return; 914 return;
915 list.length = retained.length; 915 list.length = retained.length;
916 for (let i = 0; i < retained.length; i++) { 916 for (let i = 0; dart.notNull(i) < dart.notNull(retained.length); dart.no tNull(i)++) {
917 list.set(i, retained.get(i)); 917 list.set(i, retained.get(i));
918 } 918 }
919 } 919 }
920 static isEmpty(iterable) { 920 static isEmpty(iterable) {
921 return !dart.notNull(iterable.iterator.moveNext()); 921 return !dart.notNull(iterable.iterator.moveNext());
922 } 922 }
923 static first(iterable) { 923 static first(iterable) {
924 let it = iterable.iterator; 924 let it = iterable.iterator;
925 if (!dart.notNull(it.moveNext())) { 925 if (!dart.notNull(it.moveNext())) {
926 throw IterableElementError.noElement(); 926 throw IterableElementError.noElement();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 foundMatching = true; 965 foundMatching = true;
966 } 966 }
967 } 967 }
968 if (foundMatching) 968 if (foundMatching)
969 return result; 969 return result;
970 if (orElse !== null) 970 if (orElse !== null)
971 return orElse(); 971 return orElse();
972 throw IterableElementError.noElement(); 972 throw IterableElementError.noElement();
973 } 973 }
974 static lastWhereList(list, test, orElse) { 974 static lastWhereList(list, test, orElse) {
975 for (let i = list.length - 1; i >= 0; i--) { 975 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; dart.n otNull(i)--) {
976 let element = list.get(i); 976 let element = list.get(i);
977 if (test(element)) 977 if (test(element))
978 return element; 978 return element;
979 } 979 }
980 if (orElse !== null) 980 if (orElse !== null)
981 return orElse(); 981 return orElse();
982 throw IterableElementError.noElement(); 982 throw IterableElementError.noElement();
983 } 983 }
984 static singleWhere(iterable, test) { 984 static singleWhere(iterable, test) {
985 let result = null; 985 let result = null;
(...skipping 12 matching lines...) Expand all
998 throw IterableElementError.noElement(); 998 throw IterableElementError.noElement();
999 } 999 }
1000 static elementAt(iterable, index) { 1000 static elementAt(iterable, index) {
1001 if (!(typeof index == number)) 1001 if (!(typeof index == number))
1002 throw new core.ArgumentError.notNull("index"); 1002 throw new core.ArgumentError.notNull("index");
1003 core.RangeError.checkNotNegative(index, "index"); 1003 core.RangeError.checkNotNegative(index, "index");
1004 let elementIndex = 0; 1004 let elementIndex = 0;
1005 for (let element of iterable) { 1005 for (let element of iterable) {
1006 if (index === elementIndex) 1006 if (index === elementIndex)
1007 return element; 1007 return element;
1008 elementIndex++; 1008 dart.notNull(elementIndex)++;
1009 } 1009 }
1010 throw new core.RangeError.index(index, iterable, "index", null, elementI ndex); 1010 throw new core.RangeError.index(index, iterable, "index", null, elementI ndex);
1011 } 1011 }
1012 static join(iterable, separator) { 1012 static join(iterable, separator) {
1013 if (separator === void 0) 1013 if (separator === void 0)
1014 separator = null; 1014 separator = null;
1015 let buffer = new core.StringBuffer(); 1015 let buffer = new core.StringBuffer();
1016 buffer.writeAll(iterable, separator); 1016 buffer.writeAll(iterable, separator);
1017 return buffer.toString(); 1017 return buffer.toString();
1018 } 1018 }
1019 static joinList(list, separator) { 1019 static joinList(list, separator) {
1020 if (separator === void 0) 1020 if (separator === void 0)
1021 separator = null; 1021 separator = null;
1022 if (list.isEmpty) 1022 if (list.isEmpty)
1023 return ""; 1023 return "";
1024 if (list.length === 1) 1024 if (list.length === 1)
1025 return `${list.get(0)}`; 1025 return `${list.get(0)}`;
1026 let buffer = new core.StringBuffer(); 1026 let buffer = new core.StringBuffer();
1027 if (separator.isEmpty) { 1027 if (separator.isEmpty) {
1028 for (let i = 0; i < list.length; i++) { 1028 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); dart.notN ull(i)++) {
1029 buffer.write(list.get(i)); 1029 buffer.write(list.get(i));
1030 } 1030 }
1031 } else { 1031 } else {
1032 buffer.write(list.get(0)); 1032 buffer.write(list.get(0));
1033 for (let i = 1; i < list.length; i++) { 1033 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); dart.notN ull(i)++) {
1034 buffer.write(separator); 1034 buffer.write(separator);
1035 buffer.write(list.get(i)); 1035 buffer.write(list.get(i));
1036 } 1036 }
1037 } 1037 }
1038 return buffer.toString(); 1038 return buffer.toString();
1039 } 1039 }
1040 where(iterable, f) { 1040 where(iterable, f) {
1041 return new WhereIterable(dart.as(iterable, core.Iterable$(T)), f); 1041 return new WhereIterable(dart.as(iterable, core.Iterable$(T)), f);
1042 } 1042 }
1043 static map(iterable, f) { 1043 static map(iterable, f) {
1044 return new MappedIterable(iterable, f); 1044 return new MappedIterable(iterable, f);
1045 } 1045 }
1046 static mapList(list, f) { 1046 static mapList(list, f) {
1047 return new MappedListIterable(list, f); 1047 return new MappedListIterable(list, f);
1048 } 1048 }
1049 static expand(iterable, f) { 1049 static expand(iterable, f) {
1050 return new ExpandIterable(iterable, f); 1050 return new ExpandIterable(iterable, f);
1051 } 1051 }
1052 takeList(list, n) { 1052 takeList(list, n) {
1053 return new SubListIterable(dart.as(list, core.Iterable$(T)), 0, n); 1053 return new SubListIterable(dart.as(list, core.Iterable$(T)), 0, n);
1054 } 1054 }
1055 takeWhile(iterable, test) { 1055 takeWhile(iterable, test) {
1056 return new TakeWhileIterable(dart.as(iterable, core.Iterable$(T)), test) ; 1056 return new TakeWhileIterable(dart.as(iterable, core.Iterable$(T)), test) ;
1057 } 1057 }
1058 skipList(list, n) { 1058 skipList(list, n) {
1059 return new SubListIterable(dart.as(list, core.Iterable$(T)), n, dart.as( null, core.int)); 1059 return new SubListIterable(dart.as(list, core.Iterable$(T)), n, null);
1060 } 1060 }
1061 skipWhile(iterable, test) { 1061 skipWhile(iterable, test) {
1062 return new SkipWhileIterable(dart.as(iterable, core.Iterable$(T)), test) ; 1062 return new SkipWhileIterable(dart.as(iterable, core.Iterable$(T)), test) ;
1063 } 1063 }
1064 reversedList(list) { 1064 reversedList(list) {
1065 return new ReversedListIterable(dart.as(list, core.Iterable$(T))); 1065 return new ReversedListIterable(dart.as(list, core.Iterable$(T)));
1066 } 1066 }
1067 static sortList(list, compare) { 1067 static sortList(list, compare) {
1068 if (compare === null) 1068 if (compare === null)
1069 compare = dart.as(core.Comparable.compare, dart.throw_("Unimplemented type (dynamic, dynamic) → int")); 1069 compare = dart.as(core.Comparable.compare, dart.throw_("Unimplemented type (dynamic, dynamic) → int"));
1070 Sort.sort(list, compare); 1070 Sort.sort(list, compare);
1071 } 1071 }
1072 static shuffleList(list, random) { 1072 static shuffleList(list, random) {
1073 if (random === null) 1073 if (random === null)
1074 random = new math.Random(); 1074 random = new math.Random();
1075 let length = list.length; 1075 let length = list.length;
1076 while (length > 1) { 1076 while (dart.notNull(length) > 1) {
1077 let pos = random.nextInt(length); 1077 let pos = random.nextInt(length);
1078 length = 1; 1078 length = 1;
1079 let tmp = list.get(length); 1079 let tmp = list.get(length);
1080 list.set(length, list.get(pos)); 1080 list.set(length, list.get(pos));
1081 list.set(pos, tmp); 1081 list.set(pos, tmp);
1082 } 1082 }
1083 } 1083 }
1084 static indexOfList(list, element, start) { 1084 static indexOfList(list, element, start) {
1085 return Lists.indexOf(list, element, start, list.length); 1085 return Lists.indexOf(list, element, start, list.length);
1086 } 1086 }
1087 static lastIndexOfList(list, element, start) { 1087 static lastIndexOfList(list, element, start) {
1088 if (start === null) 1088 if (start === null)
1089 start = list.length - 1; 1089 start = dart.notNull(list.length) - 1;
1090 return Lists.lastIndexOf(list, element, start); 1090 return Lists.lastIndexOf(list, element, start);
1091 } 1091 }
1092 static [_rangeCheck](list, start, end) { 1092 static [_rangeCheck](list, start, end) {
1093 core.RangeError.checkValidRange(start, end, list.length); 1093 core.RangeError.checkValidRange(start, end, list.length);
1094 } 1094 }
1095 getRangeList(list, start, end) { 1095 getRangeList(list, start, end) {
1096 _rangeCheck(list, start, end); 1096 _rangeCheck(list, start, end);
1097 return new SubListIterable(dart.as(list, core.Iterable$(T)), start, end) ; 1097 return new SubListIterable(dart.as(list, core.Iterable$(T)), start, end) ;
1098 } 1098 }
1099 static setRangeList(list, start, end, from, skipCount) { 1099 static setRangeList(list, start, end, from, skipCount) {
1100 _rangeCheck(list, start, end); 1100 _rangeCheck(list, start, end);
1101 let length = end - start; 1101 let length = dart.notNull(end) - dart.notNull(start);
1102 if (length === 0) 1102 if (length === 0)
1103 return; 1103 return;
1104 if (skipCount < 0) 1104 if (dart.notNull(skipCount) < 0)
1105 throw new core.ArgumentError(skipCount); 1105 throw new core.ArgumentError(skipCount);
1106 let otherList = null; 1106 let otherList = null;
1107 let otherStart = null; 1107 let otherStart = null;
1108 if (dart.is(from, core.List)) { 1108 if (dart.is(from, core.List)) {
1109 otherList = from; 1109 otherList = from;
1110 otherStart = skipCount; 1110 otherStart = skipCount;
1111 } else { 1111 } else {
1112 otherList = from.skip(skipCount).toList({growable: false}); 1112 otherList = from.skip(skipCount).toList({growable: false});
1113 otherStart = 0; 1113 otherStart = 0;
1114 } 1114 }
1115 if (otherStart + length > otherList.length) { 1115 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List.length)) {
1116 throw IterableElementError.tooFew(); 1116 throw IterableElementError.tooFew();
1117 } 1117 }
1118 Lists.copy(otherList, otherStart, list, start, length); 1118 Lists.copy(otherList, otherStart, list, start, length);
1119 } 1119 }
1120 static replaceRangeList(list, start, end, iterable) { 1120 static replaceRangeList(list, start, end, iterable) {
1121 _rangeCheck(list, start, end); 1121 _rangeCheck(list, start, end);
1122 if (!dart.is(iterable, EfficientLength)) { 1122 if (!dart.is(iterable, EfficientLength)) {
1123 iterable = iterable.toList(); 1123 iterable = iterable.toList();
1124 } 1124 }
1125 let removeLength = end - start; 1125 let removeLength = dart.notNull(end) - dart.notNull(start);
1126 let insertLength = iterable.length; 1126 let insertLength = iterable.length;
1127 if (removeLength >= insertLength) { 1127 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) {
1128 let delta = removeLength - insertLength; 1128 let delta = dart.notNull(removeLength) - dart.notNull(insertLength);
1129 let insertEnd = start + insertLength; 1129 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1130 let newEnd = list.length - delta; 1130 let newEnd = dart.notNull(list.length) - dart.notNull(delta);
1131 list.setRange(start, insertEnd, iterable); 1131 list.setRange(start, insertEnd, iterable);
1132 if (delta !== 0) { 1132 if (delta !== 0) {
1133 list.setRange(insertEnd, newEnd, list, end); 1133 list.setRange(insertEnd, newEnd, list, end);
1134 list.length = newEnd; 1134 list.length = newEnd;
1135 } 1135 }
1136 } else { 1136 } else {
1137 let delta = insertLength - removeLength; 1137 let delta = dart.notNull(insertLength) - dart.notNull(removeLength);
1138 let newLength = list.length + delta; 1138 let newLength = dart.notNull(list.length) + dart.notNull(delta);
1139 let insertEnd = start + insertLength; 1139 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1140 list.length = newLength; 1140 list.length = newLength;
1141 list.setRange(insertEnd, newLength, list, end); 1141 list.setRange(insertEnd, newLength, list, end);
1142 list.setRange(start, insertEnd, iterable); 1142 list.setRange(start, insertEnd, iterable);
1143 } 1143 }
1144 } 1144 }
1145 static fillRangeList(list, start, end, fillValue) { 1145 static fillRangeList(list, start, end, fillValue) {
1146 _rangeCheck(list, start, end); 1146 _rangeCheck(list, start, end);
1147 for (let i = start; i < end; i++) { 1147 for (let i = start; dart.notNull(i) < dart.notNull(end); dart.notNull(i) ++) {
1148 list.set(i, fillValue); 1148 list.set(i, fillValue);
1149 } 1149 }
1150 } 1150 }
1151 static insertAllList(list, index, iterable) { 1151 static insertAllList(list, index, iterable) {
1152 core.RangeError.checkValueInInterval(index, 0, list.length, "index"); 1152 core.RangeError.checkValueInInterval(index, 0, list.length, "index");
1153 if (!dart.is(iterable, EfficientLength)) { 1153 if (!dart.is(iterable, EfficientLength)) {
1154 iterable = iterable.toList({growable: false}); 1154 iterable = iterable.toList({growable: false});
1155 } 1155 }
1156 let insertionLength = iterable.length; 1156 let insertionLength = iterable.length;
1157 list.length = insertionLength; 1157 list.length = insertionLength;
1158 list.setRange(index + insertionLength, list.length, list, index); 1158 list.setRange(dart.notNull(index) + dart.notNull(insertionLength), list. length, list, index);
1159 for (let element of iterable) { 1159 for (let element of iterable) {
1160 list.set(index++, element); 1160 list.set(dart.notNull(index)++, element);
1161 } 1161 }
1162 } 1162 }
1163 static setAllList(list, index, iterable) { 1163 static setAllList(list, index, iterable) {
1164 core.RangeError.checkValueInInterval(index, 0, list.length, "index"); 1164 core.RangeError.checkValueInInterval(index, 0, list.length, "index");
1165 for (let element of iterable) { 1165 for (let element of iterable) {
1166 list.set(index++, element); 1166 list.set(dart.notNull(index)++, element);
1167 } 1167 }
1168 } 1168 }
1169 asMapList(l) { 1169 asMapList(l) {
1170 return new ListMapView(dart.as(l, core.List$(T))); 1170 return new ListMapView(dart.as(l, core.List$(T)));
1171 } 1171 }
1172 static setContainsAll(set, other) { 1172 static setContainsAll(set, other) {
1173 for (let element of other) { 1173 for (let element of other) {
1174 if (!dart.notNull(set.contains(element))) 1174 if (!dart.notNull(set.contains(element)))
1175 return false; 1175 return false;
1176 } 1176 }
1177 return true; 1177 return true;
1178 } 1178 }
1179 static setIntersection(set, other, result) { 1179 static setIntersection(set, other, result) {
1180 let smaller = null; 1180 let smaller = null;
1181 let larger = null; 1181 let larger = null;
1182 if (set.length < other.length) { 1182 if (dart.notNull(set.length) < dart.notNull(other.length)) {
1183 smaller = set; 1183 smaller = set;
1184 larger = other; 1184 larger = other;
1185 } else { 1185 } else {
1186 smaller = other; 1186 smaller = other;
1187 larger = set; 1187 larger = set;
1188 } 1188 }
1189 for (let element of smaller) { 1189 for (let element of smaller) {
1190 if (larger.contains(element)) { 1190 if (larger.contains(element)) {
1191 result.add(element); 1191 result.add(element);
1192 } 1192 }
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1369 ListMapView($_values) { 1369 ListMapView($_values) {
1370 this[_values] = $_values; 1370 this[_values] = $_values;
1371 } 1371 }
1372 get(key) { 1372 get(key) {
1373 return dart.as(this.containsKey(key) ? this[_values].get(key) : null, E) ; 1373 return dart.as(this.containsKey(key) ? this[_values].get(key) : null, E) ;
1374 } 1374 }
1375 get length() { 1375 get length() {
1376 return this[_values].length; 1376 return this[_values].length;
1377 } 1377 }
1378 get values() { 1378 get values() {
1379 return new SubListIterable(this[_values], 0, dart.as(null, core.int)); 1379 return new SubListIterable(this[_values], 0, null);
1380 } 1380 }
1381 get keys() { 1381 get keys() {
1382 return new _ListIndicesIterable(this[_values]); 1382 return new _ListIndicesIterable(this[_values]);
1383 } 1383 }
1384 get isEmpty() { 1384 get isEmpty() {
1385 return this[_values].isEmpty; 1385 return this[_values].isEmpty;
1386 } 1386 }
1387 get isNotEmpty() { 1387 get isNotEmpty() {
1388 return this[_values].isNotEmpty; 1388 return this[_values].isNotEmpty;
1389 } 1389 }
1390 containsValue(value) { 1390 containsValue(value) {
1391 return this[_values].contains(value); 1391 return this[_values].contains(value);
1392 } 1392 }
1393 containsKey(key) { 1393 containsKey(key) {
1394 return dart.notNull(dart.notNull(typeof key == number) && dart.notNull(k ey >= 0)) && dart.notNull(key < this.length); 1394 return dart.notNull(typeof key == number) && dart.notNull(key) >= 0 && d art.notNull(key) < dart.notNull(this.length);
1395 } 1395 }
1396 forEach(f) { 1396 forEach(f) {
1397 let length = this[_values].length; 1397 let length = this[_values].length;
1398 for (let i = 0; i < length; i++) { 1398 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) {
1399 f(i, this[_values].get(i)); 1399 f(i, this[_values].get(i));
1400 if (length !== this[_values].length) { 1400 if (length !== this[_values].length) {
1401 throw new core.ConcurrentModificationError(this[_values]); 1401 throw new core.ConcurrentModificationError(this[_values]);
1402 } 1402 }
1403 } 1403 }
1404 } 1404 }
1405 set(key, value) { 1405 set(key, value) {
1406 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1406 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1407 } 1407 }
1408 putIfAbsent(key, ifAbsent) { 1408 putIfAbsent(key, ifAbsent) {
(...skipping 18 matching lines...) Expand all
1427 let ReversedListIterable$ = dart.generic(function(E) { 1427 let ReversedListIterable$ = dart.generic(function(E) {
1428 class ReversedListIterable extends ListIterable$(E) { 1428 class ReversedListIterable extends ListIterable$(E) {
1429 ReversedListIterable($_source) { 1429 ReversedListIterable($_source) {
1430 this[_source] = $_source; 1430 this[_source] = $_source;
1431 super.ListIterable(); 1431 super.ListIterable();
1432 } 1432 }
1433 get length() { 1433 get length() {
1434 return this[_source].length; 1434 return this[_source].length;
1435 } 1435 }
1436 elementAt(index) { 1436 elementAt(index) {
1437 return this[_source].elementAt(this[_source].length - 1 - index); 1437 return this[_source].elementAt(dart.notNull(this[_source].length) - 1 - dart.notNull(index));
1438 } 1438 }
1439 } 1439 }
1440 return ReversedListIterable; 1440 return ReversedListIterable;
1441 }); 1441 });
1442 let ReversedListIterable = ReversedListIterable$(dynamic); 1442 let ReversedListIterable = ReversedListIterable$(dynamic);
1443 class UnmodifiableListError extends dart.Object { 1443 class UnmodifiableListError extends dart.Object {
1444 static add() { 1444 static add() {
1445 return new core.UnsupportedError("Cannot add to unmodifiable List"); 1445 return new core.UnsupportedError("Cannot add to unmodifiable List");
1446 } 1446 }
1447 static change() { 1447 static change() {
(...skipping 17 matching lines...) Expand all
1465 return new core.UnsupportedError("Cannot remove from non-growable List"); 1465 return new core.UnsupportedError("Cannot remove from non-growable List");
1466 } 1466 }
1467 } 1467 }
1468 // Function makeListFixedLength: (List<dynamic>) → List 1468 // Function makeListFixedLength: (List<dynamic>) → List
1469 function makeListFixedLength(growableList) { 1469 function makeListFixedLength(growableList) {
1470 _interceptors.JSArray.markFixedList(growableList); 1470 _interceptors.JSArray.markFixedList(growableList);
1471 return growableList; 1471 return growableList;
1472 } 1472 }
1473 class Lists extends dart.Object { 1473 class Lists extends dart.Object {
1474 static copy(src, srcStart, dst, dstStart, count) { 1474 static copy(src, srcStart, dst, dstStart, count) {
1475 if (srcStart < dstStart) { 1475 if (dart.notNull(srcStart) < dart.notNull(dstStart)) {
1476 for (let i = srcStart + count - 1, j = dstStart + count - 1; i >= srcSta rt; i--, j--) { 1476 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); dart.notNull(i)--, dart.notNull(j)--) {
1477 dst.set(j, src.get(i)); 1477 dst.set(j, src.get(i));
1478 } 1478 }
1479 } else { 1479 } else {
1480 for (let i = srcStart, j = dstStart; i < srcStart + count; i++, j++) { 1480 for (let i = srcStart, j = dstStart; dart.notNull(i) < dart.notNull(srcS tart) + dart.notNull(count); dart.notNull(i)++, dart.notNull(j)++) {
1481 dst.set(j, src.get(i)); 1481 dst.set(j, src.get(i));
1482 } 1482 }
1483 } 1483 }
1484 } 1484 }
1485 static areEqual(a, b) { 1485 static areEqual(a, b) {
1486 if (core.identical(a, b)) 1486 if (core.identical(a, b))
1487 return true; 1487 return true;
1488 if (!dart.notNull(dart.is(b, core.List))) 1488 if (!dart.notNull(dart.is(b, core.List)))
1489 return false; 1489 return false;
1490 let length = a.length; 1490 let length = a.length;
1491 if (length !== dart.dload(b, 'length')) 1491 if (length !== dart.dload(b, 'length'))
1492 return false; 1492 return false;
1493 for (let i = 0; i < length; i++) { 1493 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)++) {
1494 if (!dart.notNull(core.identical(a.get(i), dart.dindex(b, i)))) 1494 if (!dart.notNull(core.identical(a.get(i), dart.dindex(b, i))))
1495 return false; 1495 return false;
1496 } 1496 }
1497 return true; 1497 return true;
1498 } 1498 }
1499 static indexOf(a, element, startIndex, endIndex) { 1499 static indexOf(a, element, startIndex, endIndex) {
1500 if (startIndex >= a.length) { 1500 if (dart.notNull(startIndex) >= dart.notNull(a.length)) {
1501 return -1; 1501 return -1;
1502 } 1502 }
1503 if (startIndex < 0) { 1503 if (dart.notNull(startIndex) < 0) {
1504 startIndex = 0; 1504 startIndex = 0;
1505 } 1505 }
1506 for (let i = startIndex; i < endIndex; i++) { 1506 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); dart.no tNull(i)++) {
1507 if (dart.equals(a.get(i), element)) { 1507 if (dart.equals(a.get(i), element)) {
1508 return i; 1508 return i;
1509 } 1509 }
1510 } 1510 }
1511 return -1; 1511 return -1;
1512 } 1512 }
1513 static lastIndexOf(a, element, startIndex) { 1513 static lastIndexOf(a, element, startIndex) {
1514 if (startIndex < 0) { 1514 if (dart.notNull(startIndex) < 0) {
1515 return -1; 1515 return -1;
1516 } 1516 }
1517 if (startIndex >= a.length) { 1517 if (dart.notNull(startIndex) >= dart.notNull(a.length)) {
1518 startIndex = a.length - 1; 1518 startIndex = dart.notNull(a.length) - 1;
1519 } 1519 }
1520 for (let i = startIndex; i >= 0; i--) { 1520 for (let i = startIndex; dart.notNull(i) >= 0; dart.notNull(i)--) {
1521 if (dart.equals(a.get(i), element)) { 1521 if (dart.equals(a.get(i), element)) {
1522 return i; 1522 return i;
1523 } 1523 }
1524 } 1524 }
1525 return -1; 1525 return -1;
1526 } 1526 }
1527 static indicesCheck(a, start, end) { 1527 static indicesCheck(a, start, end) {
1528 core.RangeError.checkValidRange(start, end, a.length); 1528 core.RangeError.checkValidRange(start, end, a.length);
1529 } 1529 }
1530 static rangeCheck(a, start, length) { 1530 static rangeCheck(a, start, length) {
1531 core.RangeError.checkNotNegative(length); 1531 core.RangeError.checkNotNegative(length);
1532 core.RangeError.checkNotNegative(start); 1532 core.RangeError.checkNotNegative(start);
1533 if (start + length > a.length) { 1533 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a.length)) {
1534 let message = `${start} + ${length} must be in the range [0..${a.length} ]`; 1534 let message = `${start} + ${length} must be in the range [0..${a.length} ]`;
1535 throw new core.RangeError.range(length, 0, a.length - start, "length", m essage); 1535 throw new core.RangeError.range(length, 0, dart.notNull(a.length) - dart .notNull(start), "length", message);
1536 } 1536 }
1537 } 1537 }
1538 } 1538 }
1539 exports.printToZone = null; 1539 exports.printToZone = null;
1540 // Function printToConsole: (String) → void 1540 // Function printToConsole: (String) → void
1541 function printToConsole(line) { 1541 function printToConsole(line) {
1542 _js_primitives.printString(`${line}`); 1542 _js_primitives.printString(`${line}`);
1543 } 1543 }
1544 let _doSort = Symbol('_doSort'); 1544 let _doSort = Symbol('_doSort');
1545 let _insertionSort = Symbol('_insertionSort'); 1545 let _insertionSort = Symbol('_insertionSort');
1546 let _dualPivotQuicksort = Symbol('_dualPivotQuicksort'); 1546 let _dualPivotQuicksort = Symbol('_dualPivotQuicksort');
1547 class Sort extends dart.Object { 1547 class Sort extends dart.Object {
1548 static sort(a, compare) { 1548 static sort(a, compare) {
1549 _doSort(a, 0, a.length - 1, compare); 1549 _doSort(a, 0, dart.notNull(a.length) - 1, compare);
1550 } 1550 }
1551 static sortRange(a, from, to, compare) { 1551 static sortRange(a, from, to, compare) {
1552 if (dart.notNull(dart.notNull(from < 0) || dart.notNull(to > a.length)) || dart.notNull(to < from)) { 1552 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a.length) || dart.notNull(to) < dart.notNull(from)) {
1553 throw "OutOfRange"; 1553 throw "OutOfRange";
1554 } 1554 }
1555 _doSort(a, from, to - 1, compare); 1555 _doSort(a, from, dart.notNull(to) - 1, compare);
1556 } 1556 }
1557 static [_doSort](a, left, right, compare) { 1557 static [_doSort](a, left, right, compare) {
1558 if (right - left <= _INSERTION_SORT_THRESHOLD) { 1558 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(_INSERTION_SO RT_THRESHOLD)) {
1559 _insertionSort(a, left, right, compare); 1559 _insertionSort(a, left, right, compare);
1560 } else { 1560 } else {
1561 _dualPivotQuicksort(a, left, right, compare); 1561 _dualPivotQuicksort(a, left, right, compare);
1562 } 1562 }
1563 } 1563 }
1564 static [_insertionSort](a, left, right, compare) { 1564 static [_insertionSort](a, left, right, compare) {
1565 for (let i = left + 1; i <= right; i++) { 1565 for (let i = dart.notNull(left) + 1; dart.notNull(i) <= dart.notNull(right ); dart.notNull(i)++) {
1566 let el = a.get(i); 1566 let el = a.get(i);
1567 let j = i; 1567 let j = i;
1568 while (dart.notNull(j > left) && dart.notNull(compare(a.get(j - 1), el) > 0)) { 1568 while (dart.notNull(j) > dart.notNull(left) && dart.notNull(compare(a.ge t(dart.notNull(j) - 1), el)) > 0) {
1569 a.set(j, a.get(j - 1)); 1569 a.set(j, a.get(dart.notNull(j) - 1));
1570 j--; 1570 dart.notNull(j)--;
1571 } 1571 }
1572 a.set(j, el); 1572 a.set(j, el);
1573 } 1573 }
1574 } 1574 }
1575 static [_dualPivotQuicksort](a, left, right, compare) { 1575 static [_dualPivotQuicksort](a, left, right, compare) {
1576 dart.assert(right - left > _INSERTION_SORT_THRESHOLD); 1576 dart.assert(dart.notNull(right) - dart.notNull(left) > dart.notNull(_INSER TION_SORT_THRESHOLD));
1577 let sixth = ((right - left + 1) / 6).truncate(); 1577 let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6).truncate( );
1578 let index1 = left + sixth; 1578 let index1 = dart.notNull(left) + dart.notNull(sixth);
1579 let index5 = right - sixth; 1579 let index5 = dart.notNull(right) - dart.notNull(sixth);
1580 let index3 = ((left + right) / 2).truncate(); 1580 let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2).truncate();
1581 let index2 = index3 - sixth; 1581 let index2 = dart.notNull(index3) - dart.notNull(sixth);
1582 let index4 = index3 + sixth; 1582 let index4 = dart.notNull(index3) + dart.notNull(sixth);
1583 let el1 = a.get(index1); 1583 let el1 = a.get(index1);
1584 let el2 = a.get(index2); 1584 let el2 = a.get(index2);
1585 let el3 = a.get(index3); 1585 let el3 = a.get(index3);
1586 let el4 = a.get(index4); 1586 let el4 = a.get(index4);
1587 let el5 = a.get(index5); 1587 let el5 = a.get(index5);
1588 if (compare(el1, el2) > 0) { 1588 if (dart.notNull(compare(el1, el2)) > 0) {
1589 let t = el1; 1589 let t = el1;
1590 el1 = el2; 1590 el1 = el2;
1591 el2 = t; 1591 el2 = t;
1592 } 1592 }
1593 if (compare(el4, el5) > 0) { 1593 if (dart.notNull(compare(el4, el5)) > 0) {
1594 let t = el4; 1594 let t = el4;
1595 el4 = el5; 1595 el4 = el5;
1596 el5 = t; 1596 el5 = t;
1597 } 1597 }
1598 if (compare(el1, el3) > 0) { 1598 if (dart.notNull(compare(el1, el3)) > 0) {
1599 let t = el1; 1599 let t = el1;
1600 el1 = el3; 1600 el1 = el3;
1601 el3 = t; 1601 el3 = t;
1602 } 1602 }
1603 if (compare(el2, el3) > 0) { 1603 if (dart.notNull(compare(el2, el3)) > 0) {
1604 let t = el2; 1604 let t = el2;
1605 el2 = el3; 1605 el2 = el3;
1606 el3 = t; 1606 el3 = t;
1607 } 1607 }
1608 if (compare(el1, el4) > 0) { 1608 if (dart.notNull(compare(el1, el4)) > 0) {
1609 let t = el1; 1609 let t = el1;
1610 el1 = el4; 1610 el1 = el4;
1611 el4 = t; 1611 el4 = t;
1612 } 1612 }
1613 if (compare(el3, el4) > 0) { 1613 if (dart.notNull(compare(el3, el4)) > 0) {
1614 let t = el3; 1614 let t = el3;
1615 el3 = el4; 1615 el3 = el4;
1616 el4 = t; 1616 el4 = t;
1617 } 1617 }
1618 if (compare(el2, el5) > 0) { 1618 if (dart.notNull(compare(el2, el5)) > 0) {
1619 let t = el2; 1619 let t = el2;
1620 el2 = el5; 1620 el2 = el5;
1621 el5 = t; 1621 el5 = t;
1622 } 1622 }
1623 if (compare(el2, el3) > 0) { 1623 if (dart.notNull(compare(el2, el3)) > 0) {
1624 let t = el2; 1624 let t = el2;
1625 el2 = el3; 1625 el2 = el3;
1626 el3 = t; 1626 el3 = t;
1627 } 1627 }
1628 if (compare(el4, el5) > 0) { 1628 if (dart.notNull(compare(el4, el5)) > 0) {
1629 let t = el4; 1629 let t = el4;
1630 el4 = el5; 1630 el4 = el5;
1631 el5 = t; 1631 el5 = t;
1632 } 1632 }
1633 let pivot1 = el2; 1633 let pivot1 = el2;
1634 let pivot2 = el4; 1634 let pivot2 = el4;
1635 a.set(index1, el1); 1635 a.set(index1, el1);
1636 a.set(index3, el3); 1636 a.set(index3, el3);
1637 a.set(index5, el5); 1637 a.set(index5, el5);
1638 a.set(index2, a.get(left)); 1638 a.set(index2, a.get(left));
1639 a.set(index4, a.get(right)); 1639 a.set(index4, a.get(right));
1640 let less = left + 1; 1640 let less = dart.notNull(left) + 1;
1641 let great = right - 1; 1641 let great = dart.notNull(right) - 1;
1642 let pivots_are_equal = compare(pivot1, pivot2) === 0; 1642 let pivots_are_equal = compare(pivot1, pivot2) === 0;
1643 if (pivots_are_equal) { 1643 if (pivots_are_equal) {
1644 let pivot = pivot1; 1644 let pivot = pivot1;
1645 for (let k = less; k <= great; k++) { 1645 for (let k = less; dart.notNull(k) <= dart.notNull(great); dart.notNull( k)++) {
1646 let ak = a.get(k); 1646 let ak = a.get(k);
1647 let comp = compare(ak, pivot); 1647 let comp = compare(ak, pivot);
1648 if (comp === 0) 1648 if (comp === 0)
1649 continue; 1649 continue;
1650 if (comp < 0) { 1650 if (dart.notNull(comp) < 0) {
1651 if (k !== less) { 1651 if (k !== less) {
1652 a.set(k, a.get(less)); 1652 a.set(k, a.get(less));
1653 a.set(less, ak); 1653 a.set(less, ak);
1654 } 1654 }
1655 less++; 1655 dart.notNull(less)++;
1656 } else { 1656 } else {
1657 while (true) { 1657 while (true) {
1658 comp = compare(a.get(great), pivot); 1658 comp = compare(a.get(great), pivot);
1659 if (comp > 0) { 1659 if (dart.notNull(comp) > 0) {
1660 great--; 1660 dart.notNull(great)--;
1661 continue; 1661 continue;
1662 } else if (comp < 0) { 1662 } else if (dart.notNull(comp) < 0) {
1663 a.set(k, a.get(less)); 1663 a.set(k, a.get(less));
1664 a.set(less++, a.get(great)); 1664 a.set(dart.notNull(less)++, a.get(great));
1665 a.set(great--, ak); 1665 a.set(dart.notNull(great)--, ak);
1666 break; 1666 break;
1667 } else { 1667 } else {
1668 a.set(k, a.get(great)); 1668 a.set(k, a.get(great));
1669 a.set(great--, ak); 1669 a.set(dart.notNull(great)--, ak);
1670 break; 1670 break;
1671 } 1671 }
1672 } 1672 }
1673 } 1673 }
1674 } 1674 }
1675 } else { 1675 } else {
1676 for (let k = less; k <= great; k++) { 1676 for (let k = less; dart.notNull(k) <= dart.notNull(great); dart.notNull( k)++) {
1677 let ak = a.get(k); 1677 let ak = a.get(k);
1678 let comp_pivot1 = compare(ak, pivot1); 1678 let comp_pivot1 = compare(ak, pivot1);
1679 if (comp_pivot1 < 0) { 1679 if (dart.notNull(comp_pivot1) < 0) {
1680 if (k !== less) { 1680 if (k !== less) {
1681 a.set(k, a.get(less)); 1681 a.set(k, a.get(less));
1682 a.set(less, ak); 1682 a.set(less, ak);
1683 } 1683 }
1684 less++; 1684 dart.notNull(less)++;
1685 } else { 1685 } else {
1686 let comp_pivot2 = compare(ak, pivot2); 1686 let comp_pivot2 = compare(ak, pivot2);
1687 if (comp_pivot2 > 0) { 1687 if (dart.notNull(comp_pivot2) > 0) {
1688 while (true) { 1688 while (true) {
1689 let comp = compare(a.get(great), pivot2); 1689 let comp = compare(a.get(great), pivot2);
1690 if (comp > 0) { 1690 if (dart.notNull(comp) > 0) {
1691 great--; 1691 dart.notNull(great)--;
1692 if (great < k) 1692 if (dart.notNull(great) < dart.notNull(k))
1693 break; 1693 break;
1694 continue; 1694 continue;
1695 } else { 1695 } else {
1696 comp = compare(a.get(great), pivot1); 1696 comp = compare(a.get(great), pivot1);
1697 if (comp < 0) { 1697 if (dart.notNull(comp) < 0) {
1698 a.set(k, a.get(less)); 1698 a.set(k, a.get(less));
1699 a.set(less++, a.get(great)); 1699 a.set(dart.notNull(less)++, a.get(great));
1700 a.set(great--, ak); 1700 a.set(dart.notNull(great)--, ak);
1701 } else { 1701 } else {
1702 a.set(k, a.get(great)); 1702 a.set(k, a.get(great));
1703 a.set(great--, ak); 1703 a.set(dart.notNull(great)--, ak);
1704 } 1704 }
1705 break; 1705 break;
1706 } 1706 }
1707 } 1707 }
1708 } 1708 }
1709 } 1709 }
1710 } 1710 }
1711 } 1711 }
1712 a.set(left, a.get(less - 1)); 1712 a.set(left, a.get(dart.notNull(less) - 1));
1713 a.set(less - 1, pivot1); 1713 a.set(dart.notNull(less) - 1, pivot1);
1714 a.set(right, a.get(great + 1)); 1714 a.set(right, a.get(dart.notNull(great) + 1));
1715 a.set(great + 1, pivot2); 1715 a.set(dart.notNull(great) + 1, pivot2);
1716 _doSort(a, left, less - 2, compare); 1716 _doSort(a, left, dart.notNull(less) - 2, compare);
1717 _doSort(a, great + 2, right, compare); 1717 _doSort(a, dart.notNull(great) + 2, right, compare);
1718 if (pivots_are_equal) { 1718 if (pivots_are_equal) {
1719 return; 1719 return;
1720 } 1720 }
1721 if (dart.notNull(less < index1) && dart.notNull(great > index5)) { 1721 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) {
1722 while (compare(a.get(less), pivot1) === 0) { 1722 while (compare(a.get(less), pivot1) === 0) {
1723 less++; 1723 dart.notNull(less)++;
1724 } 1724 }
1725 while (compare(a.get(great), pivot2) === 0) { 1725 while (compare(a.get(great), pivot2) === 0) {
1726 great--; 1726 dart.notNull(great)--;
1727 } 1727 }
1728 for (let k = less; k <= great; k++) { 1728 for (let k = less; dart.notNull(k) <= dart.notNull(great); dart.notNull( k)++) {
1729 let ak = a.get(k); 1729 let ak = a.get(k);
1730 let comp_pivot1 = compare(ak, pivot1); 1730 let comp_pivot1 = compare(ak, pivot1);
1731 if (comp_pivot1 === 0) { 1731 if (comp_pivot1 === 0) {
1732 if (k !== less) { 1732 if (k !== less) {
1733 a.set(k, a.get(less)); 1733 a.set(k, a.get(less));
1734 a.set(less, ak); 1734 a.set(less, ak);
1735 } 1735 }
1736 less++; 1736 dart.notNull(less)++;
1737 } else { 1737 } else {
1738 let comp_pivot2 = compare(ak, pivot2); 1738 let comp_pivot2 = compare(ak, pivot2);
1739 if (comp_pivot2 === 0) { 1739 if (comp_pivot2 === 0) {
1740 while (true) { 1740 while (true) {
1741 let comp = compare(a.get(great), pivot2); 1741 let comp = compare(a.get(great), pivot2);
1742 if (comp === 0) { 1742 if (comp === 0) {
1743 great--; 1743 dart.notNull(great)--;
1744 if (great < k) 1744 if (dart.notNull(great) < dart.notNull(k))
1745 break; 1745 break;
1746 continue; 1746 continue;
1747 } else { 1747 } else {
1748 comp = compare(a.get(great), pivot1); 1748 comp = compare(a.get(great), pivot1);
1749 if (comp < 0) { 1749 if (dart.notNull(comp) < 0) {
1750 a.set(k, a.get(less)); 1750 a.set(k, a.get(less));
1751 a.set(less++, a.get(great)); 1751 a.set(dart.notNull(less)++, a.get(great));
1752 a.set(great--, ak); 1752 a.set(dart.notNull(great)--, ak);
1753 } else { 1753 } else {
1754 a.set(k, a.get(great)); 1754 a.set(k, a.get(great));
1755 a.set(great--, ak); 1755 a.set(dart.notNull(great)--, ak);
1756 } 1756 }
1757 break; 1757 break;
1758 } 1758 }
1759 } 1759 }
1760 } 1760 }
1761 } 1761 }
1762 } 1762 }
1763 _doSort(a, less, great, compare); 1763 _doSort(a, less, great, compare);
1764 } else { 1764 } else {
1765 _doSort(a, less, great, compare); 1765 _doSort(a, less, great, compare);
(...skipping 10 matching lines...) Expand all
1776 this[_name] = $_name; 1776 this[_name] = $_name;
1777 } 1777 }
1778 Symbol$validated(name) { 1778 Symbol$validated(name) {
1779 this[_name] = validatePublicSymbol(name); 1779 this[_name] = validatePublicSymbol(name);
1780 } 1780 }
1781 ['=='](other) { 1781 ['=='](other) {
1782 return dart.notNull(dart.is(other, Symbol)) && dart.notNull(dart.equals(th is[_name], dart.dload(other, '_name'))); 1782 return dart.notNull(dart.is(other, Symbol)) && dart.notNull(dart.equals(th is[_name], dart.dload(other, '_name')));
1783 } 1783 }
1784 get hashCode() { 1784 get hashCode() {
1785 let arbitraryPrime = 664597; 1785 let arbitraryPrime = 664597;
1786 return 536870911 & arbitraryPrime * this[_name].hashCode; 1786 return 536870911 & dart.notNull(arbitraryPrime) * dart.notNull(this[_name] .hashCode);
1787 } 1787 }
1788 toString() { 1788 toString() {
1789 return `Symbol("${this[_name]}")`; 1789 return `Symbol("${this[_name]}")`;
1790 } 1790 }
1791 static getName(symbol) { 1791 static getName(symbol) {
1792 return symbol[_name]; 1792 return symbol[_name];
1793 } 1793 }
1794 static validatePublicSymbol(name) { 1794 static validatePublicSymbol(name) {
1795 if (dart.notNull(name.isEmpty) || dart.notNull(publicSymbolPattern.hasMatc h(name))) 1795 if (dart.notNull(name.isEmpty) || dart.notNull(publicSymbolPattern.hasMatc h(name)))
1796 return name; 1796 return name;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
1884 exports.ReversedListIterable = ReversedListIterable; 1884 exports.ReversedListIterable = ReversedListIterable;
1885 exports.ReversedListIterable$ = ReversedListIterable$; 1885 exports.ReversedListIterable$ = ReversedListIterable$;
1886 exports.UnmodifiableListError = UnmodifiableListError; 1886 exports.UnmodifiableListError = UnmodifiableListError;
1887 exports.NonGrowableListError = NonGrowableListError; 1887 exports.NonGrowableListError = NonGrowableListError;
1888 exports.makeListFixedLength = makeListFixedLength; 1888 exports.makeListFixedLength = makeListFixedLength;
1889 exports.Lists = Lists; 1889 exports.Lists = Lists;
1890 exports.printToConsole = printToConsole; 1890 exports.printToConsole = printToConsole;
1891 exports.Sort = Sort; 1891 exports.Sort = Sort;
1892 exports.Symbol = Symbol; 1892 exports.Symbol = Symbol;
1893 })(_internal || (_internal = {})); 1893 })(_internal || (_internal = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698