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

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

Issue 1178523004: fixes #215, removes special case for length (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 dart.library('dart/_internal', null, /* Imports */[ 1 dart.library('dart/_internal', null, /* Imports */[
2 'dart/core', 2 'dart/core',
3 'dart/collection' 3 'dart/collection'
4 ], /* Lazy imports */[ 4 ], /* Lazy imports */[
5 'dart/math', 5 'dart/math',
6 'dart/_interceptors', 6 'dart/_interceptors',
7 'dart/_js_primitives' 7 'dart/_js_primitives'
8 ], function(exports, core, collection, math, _interceptors, _js_primitives) { 8 ], function(exports, core, collection, math, _interceptors, _js_primitives) {
9 'use strict'; 9 'use strict';
10 class EfficientLength extends core.Object {} 10 class EfficientLength extends core.Object {}
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 } 214 }
215 takeWhile(test) { 215 takeWhile(test) {
216 dart.as(test, dart.functionType(core.bool, [E])); 216 dart.as(test, dart.functionType(core.bool, [E]));
217 return super.takeWhile(test); 217 return super.takeWhile(test);
218 } 218 }
219 toList(opts) { 219 toList(opts) {
220 let growable = opts && 'growable' in opts ? opts.growable : true; 220 let growable = opts && 'growable' in opts ? opts.growable : true;
221 let result = null; 221 let result = null;
222 if (dart.notNull(growable)) { 222 if (dart.notNull(growable)) {
223 result = core.List$(E).new(); 223 result = core.List$(E).new();
224 result.length = this.length; 224 result[dartx.length] = this.length;
225 } else { 225 } else {
226 result = core.List$(E).new(this.length); 226 result = core.List$(E).new(this.length);
227 } 227 }
228 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) { 228 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
229 result[dartx.set](i, this.elementAt(i)); 229 result[dartx.set](i, this.elementAt(i));
230 } 230 }
231 return result; 231 return result;
232 } 232 }
233 toSet() { 233 toSet() {
234 let result = core.Set$(E).new(); 234 let result = core.Set$(E).new();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 super.ListIterable(); 302 super.ListIterable();
303 core.RangeError.checkNotNegative(this[_start], "start"); 303 core.RangeError.checkNotNegative(this[_start], "start");
304 if (this[_endOrLength] != null) { 304 if (this[_endOrLength] != null) {
305 core.RangeError.checkNotNegative(this[_endOrLength], "end"); 305 core.RangeError.checkNotNegative(this[_endOrLength], "end");
306 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { 306 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) {
307 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start"); 307 throw new core.RangeError.range(this[_start], 0, this[_endOrLength], "start");
308 } 308 }
309 } 309 }
310 } 310 }
311 get [_endIndex]() { 311 get [_endIndex]() {
312 let length = this[_iterable].length; 312 let length = this[_iterable][dartx.length];
313 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length)) 313 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar t.notNull(length))
314 return length; 314 return length;
315 return this[_endOrLength]; 315 return this[_endOrLength];
316 } 316 }
317 get [_startIndex]() { 317 get [_startIndex]() {
318 let length = this[_iterable].length; 318 let length = this[_iterable][dartx.length];
319 if (dart.notNull(this[_start]) > dart.notNull(length)) 319 if (dart.notNull(this[_start]) > dart.notNull(length))
320 return length; 320 return length;
321 return this[_start]; 321 return this[_start];
322 } 322 }
323 get length() { 323 get length() {
324 let length = this[_iterable].length; 324 let length = this[_iterable][dartx.length];
325 if (dart.notNull(this[_start]) >= dart.notNull(length)) 325 if (dart.notNull(this[_start]) >= dart.notNull(length))
326 return 0; 326 return 0;
327 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) { 327 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da rt.notNull(length)) {
328 return dart.notNull(length) - dart.notNull(this[_start]); 328 return dart.notNull(length) - dart.notNull(this[_start]);
329 } 329 }
330 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); 330 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]);
331 } 331 }
332 elementAt(index) { 332 elementAt(index) {
333 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); 333 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index);
334 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) { 334 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t his[_endIndex])) {
(...skipping 16 matching lines...) Expand all
351 } else { 351 } else {
352 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 352 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
353 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) 353 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd))
354 return this; 354 return this;
355 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd ); 355 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd );
356 } 356 }
357 } 357 }
358 toList(opts) { 358 toList(opts) {
359 let growable = opts && 'growable' in opts ? opts.growable : true; 359 let growable = opts && 'growable' in opts ? opts.growable : true;
360 let start = this[_start]; 360 let start = this[_start];
361 let end = this[_iterable].length; 361 let end = this[_iterable][dartx.length];
362 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end)) 362 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end))
363 end = this[_endOrLength]; 363 end = this[_endOrLength];
364 let length = dart.notNull(end) - dart.notNull(start); 364 let length = dart.notNull(end) - dart.notNull(start);
365 if (dart.notNull(length) < 0) 365 if (dart.notNull(length) < 0)
366 length = 0; 366 length = 0;
367 let result = dart.notNull(growable) ? (() => { 367 let result = dart.notNull(growable) ? (() => {
368 let _ = core.List$(E).new(); 368 let _ = core.List$(E).new();
369 _.length = length; 369 _[dartx.length] = length;
370 return _; 370 return _;
371 })() : core.List$(E).new(length); 371 })() : core.List$(E).new(length);
372 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 372 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
373 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta rt) + dart.notNull(i))); 373 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta rt) + dart.notNull(i)));
374 if (dart.notNull(this[_iterable].length) < dart.notNull(end)) 374 if (dart.notNull(this[_iterable][dartx.length]) < dart.notNull(end))
375 throw new core.ConcurrentModificationError(this); 375 throw new core.ConcurrentModificationError(this);
376 } 376 }
377 return dart.as(result, core.List$(E)); 377 return dart.as(result, core.List$(E));
378 } 378 }
379 } 379 }
380 dart.setSignature(SubListIterable, { 380 dart.setSignature(SubListIterable, {
381 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl e$(E), core.int, core.int]]}), 381 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl e$(E), core.int, core.int]]}),
382 methods: () => ({ 382 methods: () => ({
383 elementAt: [E, [core.int]], 383 elementAt: [E, [core.int]],
384 skip: [core.Iterable$(E), [core.int]], 384 skip: [core.Iterable$(E), [core.int]],
(...skipping 11 matching lines...) Expand all
396 return SubListIterable; 396 return SubListIterable;
397 }); 397 });
398 let SubListIterable = SubListIterable$(); 398 let SubListIterable = SubListIterable$();
399 let _length = dart.JsSymbol('_length'); 399 let _length = dart.JsSymbol('_length');
400 let _index = dart.JsSymbol('_index'); 400 let _index = dart.JsSymbol('_index');
401 let _current = dart.JsSymbol('_current'); 401 let _current = dart.JsSymbol('_current');
402 let ListIterator$ = dart.generic(function(E) { 402 let ListIterator$ = dart.generic(function(E) {
403 class ListIterator extends core.Object { 403 class ListIterator extends core.Object {
404 ListIterator(iterable) { 404 ListIterator(iterable) {
405 this[_iterable] = iterable; 405 this[_iterable] = iterable;
406 this[_length] = iterable.length; 406 this[_length] = iterable[dartx.length];
407 this[_index] = 0; 407 this[_index] = 0;
408 this[_current] = null; 408 this[_current] = null;
409 } 409 }
410 get current() { 410 get current() {
411 return this[_current]; 411 return this[_current];
412 } 412 }
413 moveNext() { 413 moveNext() {
414 let length = this[_iterable].length; 414 let length = this[_iterable][dartx.length];
415 if (this[_length] != length) { 415 if (this[_length] != length) {
416 throw new core.ConcurrentModificationError(this[_iterable]); 416 throw new core.ConcurrentModificationError(this[_iterable]);
417 } 417 }
418 if (dart.notNull(this[_index]) >= dart.notNull(length)) { 418 if (dart.notNull(this[_index]) >= dart.notNull(length)) {
419 this[_current] = null; 419 this[_current] = null;
420 return false; 420 return false;
421 } 421 }
422 this[_current] = this[_iterable][dartx.elementAt](this[_index]); 422 this[_current] = this[_iterable][dartx.elementAt](this[_index]);
423 this[_index] = dart.notNull(this[_index]) + 1; 423 this[_index] = dart.notNull(this[_index]) + 1;
424 return true; 424 return true;
(...skipping 23 matching lines...) Expand all
448 } 448 }
449 _(iterable, f) { 449 _(iterable, f) {
450 this[_iterable] = iterable; 450 this[_iterable] = iterable;
451 this[_f] = f; 451 this[_f] = f;
452 super.IterableBase(); 452 super.IterableBase();
453 } 453 }
454 get iterator() { 454 get iterator() {
455 return new (MappedIterator$(S, T))(this[_iterable][dartx.iterator], this [_f]); 455 return new (MappedIterator$(S, T))(this[_iterable][dartx.iterator], this [_f]);
456 } 456 }
457 get length() { 457 get length() {
458 return this[_iterable].length; 458 return this[_iterable][dartx.length];
459 } 459 }
460 get isEmpty() { 460 get isEmpty() {
461 return this[_iterable][dartx.isEmpty]; 461 return this[_iterable][dartx.isEmpty];
462 } 462 }
463 get first() { 463 get first() {
464 return this[_f](this[_iterable][dartx.first]); 464 return this[_f](this[_iterable][dartx.first]);
465 } 465 }
466 get last() { 466 get last() {
467 return this[_f](this[_iterable][dartx.last]); 467 return this[_f](this[_iterable][dartx.last]);
468 } 468 }
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 let MappedIterator = MappedIterator$(); 535 let MappedIterator = MappedIterator$();
536 let _source = dart.JsSymbol('_source'); 536 let _source = dart.JsSymbol('_source');
537 let MappedListIterable$ = dart.generic(function(S, T) { 537 let MappedListIterable$ = dart.generic(function(S, T) {
538 class MappedListIterable extends ListIterable$(T) { 538 class MappedListIterable extends ListIterable$(T) {
539 MappedListIterable(source, f) { 539 MappedListIterable(source, f) {
540 this[_source] = source; 540 this[_source] = source;
541 this[_f] = f; 541 this[_f] = f;
542 super.ListIterable(); 542 super.ListIterable();
543 } 543 }
544 get length() { 544 get length() {
545 return this[_source].length; 545 return this[_source][dartx.length];
546 } 546 }
547 elementAt(index) { 547 elementAt(index) {
548 return this[_f](this[_source][dartx.elementAt](index)); 548 return this[_f](this[_source][dartx.elementAt](index));
549 } 549 }
550 } 550 }
551 MappedListIterable[dart.implements] = () => [EfficientLength]; 551 MappedListIterable[dart.implements] = () => [EfficientLength];
552 dart.setSignature(MappedListIterable, { 552 dart.setSignature(MappedListIterable, {
553 constructors: () => ({MappedListIterable: [MappedListIterable$(S, T), [cor e.Iterable$(S), dart.functionType(T, [S])]]}), 553 constructors: () => ({MappedListIterable: [MappedListIterable$(S, T), [cor e.Iterable$(S), dart.functionType(T, [S])]]}),
554 methods: () => ({elementAt: [T, [core.int]]}) 554 methods: () => ({elementAt: [T, [core.int]]})
555 }); 555 });
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 dart.defineExtensionMembers(TakeIterable, ['iterator']); 700 dart.defineExtensionMembers(TakeIterable, ['iterator']);
701 return TakeIterable; 701 return TakeIterable;
702 }); 702 });
703 let TakeIterable = TakeIterable$(); 703 let TakeIterable = TakeIterable$();
704 let EfficientLengthTakeIterable$ = dart.generic(function(E) { 704 let EfficientLengthTakeIterable$ = dart.generic(function(E) {
705 class EfficientLengthTakeIterable extends TakeIterable$(E) { 705 class EfficientLengthTakeIterable extends TakeIterable$(E) {
706 EfficientLengthTakeIterable(iterable, takeCount) { 706 EfficientLengthTakeIterable(iterable, takeCount) {
707 super._(iterable, takeCount); 707 super._(iterable, takeCount);
708 } 708 }
709 get length() { 709 get length() {
710 let iterableLength = this[_iterable].length; 710 let iterableLength = this[_iterable][dartx.length];
711 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount])) 711 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount]))
712 return this[_takeCount]; 712 return this[_takeCount];
713 return iterableLength; 713 return iterableLength;
714 } 714 }
715 } 715 }
716 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength]; 716 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength];
717 dart.setSignature(EfficientLengthTakeIterable, { 717 dart.setSignature(EfficientLengthTakeIterable, {
718 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte rable$(E), [core.Iterable$(E), core.int]]}) 718 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte rable$(E), [core.Iterable$(E), core.int]]})
719 }); 719 });
720 dart.defineExtensionMembers(EfficientLengthTakeIterable, ['length']); 720 dart.defineExtensionMembers(EfficientLengthTakeIterable, ['length']);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 dart.defineExtensionMembers(SkipIterable, ['skip', 'iterator']); 838 dart.defineExtensionMembers(SkipIterable, ['skip', 'iterator']);
839 return SkipIterable; 839 return SkipIterable;
840 }); 840 });
841 let SkipIterable = SkipIterable$(); 841 let SkipIterable = SkipIterable$();
842 let EfficientLengthSkipIterable$ = dart.generic(function(E) { 842 let EfficientLengthSkipIterable$ = dart.generic(function(E) {
843 class EfficientLengthSkipIterable extends SkipIterable$(E) { 843 class EfficientLengthSkipIterable extends SkipIterable$(E) {
844 EfficientLengthSkipIterable(iterable, skipCount) { 844 EfficientLengthSkipIterable(iterable, skipCount) {
845 super._(iterable, skipCount); 845 super._(iterable, skipCount);
846 } 846 }
847 get length() { 847 get length() {
848 let length = dart.notNull(this[_iterable].length) - dart.notNull(this[_s kipCount]); 848 let length = dart.notNull(this[_iterable][dartx.length]) - dart.notNull( this[_skipCount]);
849 if (dart.notNull(length) >= 0) 849 if (dart.notNull(length) >= 0)
850 return length; 850 return length;
851 return 0; 851 return 0;
852 } 852 }
853 } 853 }
854 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength]; 854 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength];
855 dart.setSignature(EfficientLengthSkipIterable, { 855 dart.setSignature(EfficientLengthSkipIterable, {
856 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte rable$(E), [core.Iterable$(E), core.int]]}) 856 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte rable$(E), [core.Iterable$(E), core.int]]})
857 }); 857 });
858 dart.defineExtensionMembers(EfficientLengthSkipIterable, ['length']); 858 dart.defineExtensionMembers(EfficientLengthSkipIterable, ['length']);
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
1162 static fold(iterable, initialValue, combine) { 1162 static fold(iterable, initialValue, combine) {
1163 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m])); 1163 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m]));
1164 for (let element of iterable) { 1164 for (let element of iterable) {
1165 initialValue = dart.dcall(combine, initialValue, element); 1165 initialValue = dart.dcall(combine, initialValue, element);
1166 } 1166 }
1167 return initialValue; 1167 return initialValue;
1168 } 1168 }
1169 static removeWhereList(list, test) { 1169 static removeWhereList(list, test) {
1170 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1170 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1171 let retained = []; 1171 let retained = [];
1172 let length = list.length; 1172 let length = list[dartx.length];
1173 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1173 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1174 let element = list[dartx.get](i); 1174 let element = list[dartx.get](i);
1175 if (!dart.notNull(dart.dcall(test, element))) { 1175 if (!dart.notNull(dart.dcall(test, element))) {
1176 retained[dartx.add](element); 1176 retained[dartx.add](element);
1177 } 1177 }
1178 if (length != list.length) { 1178 if (length != list[dartx.length]) {
1179 throw new core.ConcurrentModificationError(list); 1179 throw new core.ConcurrentModificationError(list);
1180 } 1180 }
1181 } 1181 }
1182 if (retained.length == length) 1182 if (retained[dartx.length] == length)
1183 return; 1183 return;
1184 list.length = retained.length; 1184 list[dartx.length] = retained[dartx.length];
1185 for (let i = 0; dart.notNull(i) < dart.notNull(retained.length); i = dar t.notNull(i) + 1) { 1185 for (let i = 0; dart.notNull(i) < dart.notNull(retained[dartx.length]); i = dart.notNull(i) + 1) {
1186 list[dartx.set](i, retained[dartx.get](i)); 1186 list[dartx.set](i, retained[dartx.get](i));
1187 } 1187 }
1188 } 1188 }
1189 static isEmpty(iterable) { 1189 static isEmpty(iterable) {
1190 return !dart.notNull(iterable[dartx.iterator].moveNext()); 1190 return !dart.notNull(iterable[dartx.iterator].moveNext());
1191 } 1191 }
1192 static first(iterable) { 1192 static first(iterable) {
1193 let it = iterable[dartx.iterator]; 1193 let it = iterable[dartx.iterator];
1194 if (!dart.notNull(it.moveNext())) { 1194 if (!dart.notNull(it.moveNext())) {
1195 throw IterableElementError.noElement(); 1195 throw IterableElementError.noElement();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 } 1240 }
1241 if (dart.notNull(foundMatching)) 1241 if (dart.notNull(foundMatching))
1242 return result; 1242 return result;
1243 if (orElse != null) 1243 if (orElse != null)
1244 return orElse(); 1244 return orElse();
1245 throw IterableElementError.noElement(); 1245 throw IterableElementError.noElement();
1246 } 1246 }
1247 static lastWhereList(list, test, orElse) { 1247 static lastWhereList(list, test, orElse) {
1248 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1248 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1249 dart.as(orElse, dart.functionType(core.Object, [])); 1249 dart.as(orElse, dart.functionType(core.Object, []));
1250 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) { 1250 for (let i = dart.notNull(list[dartx.length]) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
1251 let element = list[dartx.get](i); 1251 let element = list[dartx.get](i);
1252 if (dart.notNull(dart.dcall(test, element))) 1252 if (dart.notNull(dart.dcall(test, element)))
1253 return element; 1253 return element;
1254 } 1254 }
1255 if (orElse != null) 1255 if (orElse != null)
1256 return orElse(); 1256 return orElse();
1257 throw IterableElementError.noElement(); 1257 throw IterableElementError.noElement();
1258 } 1258 }
1259 static singleWhere(iterable, test) { 1259 static singleWhere(iterable, test) {
1260 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1260 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
(...skipping 29 matching lines...) Expand all
1290 separator = null; 1290 separator = null;
1291 let buffer = new core.StringBuffer(); 1291 let buffer = new core.StringBuffer();
1292 buffer.writeAll(iterable, separator); 1292 buffer.writeAll(iterable, separator);
1293 return dart.toString(buffer); 1293 return dart.toString(buffer);
1294 } 1294 }
1295 static joinList(list, separator) { 1295 static joinList(list, separator) {
1296 if (separator === void 0) 1296 if (separator === void 0)
1297 separator = null; 1297 separator = null;
1298 if (dart.notNull(list[dartx.isEmpty])) 1298 if (dart.notNull(list[dartx.isEmpty]))
1299 return ""; 1299 return "";
1300 if (list.length == 1) 1300 if (list[dartx.length] == 1)
1301 return `${list[dartx.get](0)}`; 1301 return `${list[dartx.get](0)}`;
1302 let buffer = new core.StringBuffer(); 1302 let buffer = new core.StringBuffer();
1303 if (dart.notNull(separator[dartx.isEmpty])) { 1303 if (dart.notNull(separator[dartx.isEmpty])) {
1304 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1304 for (let i = 0; dart.notNull(i) < dart.notNull(list[dartx.length]); i = dart.notNull(i) + 1) {
1305 buffer.write(list[dartx.get](i)); 1305 buffer.write(list[dartx.get](i));
1306 } 1306 }
1307 } else { 1307 } else {
1308 buffer.write(list[dartx.get](0)); 1308 buffer.write(list[dartx.get](0));
1309 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1309 for (let i = 1; dart.notNull(i) < dart.notNull(list[dartx.length]); i = dart.notNull(i) + 1) {
1310 buffer.write(separator); 1310 buffer.write(separator);
1311 buffer.write(list[dartx.get](i)); 1311 buffer.write(list[dartx.get](i));
1312 } 1312 }
1313 } 1313 }
1314 return dart.toString(buffer); 1314 return dart.toString(buffer);
1315 } 1315 }
1316 where(iterable, f) { 1316 where(iterable, f) {
1317 dart.as(f, dart.functionType(core.bool, [dart.bottom])); 1317 dart.as(f, dart.functionType(core.bool, [dart.bottom]));
1318 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar t.as(f, __CastType6)); 1318 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar t.as(f, __CastType6));
1319 } 1319 }
(...skipping 28 matching lines...) Expand all
1348 } 1348 }
1349 static sortList(list, compare) { 1349 static sortList(list, compare) {
1350 dart.as(compare, dart.functionType(core.int, [dart.bottom, dart.bottom]) ); 1350 dart.as(compare, dart.functionType(core.int, [dart.bottom, dart.bottom]) );
1351 if (compare == null) 1351 if (compare == null)
1352 compare = core.Comparable.compare; 1352 compare = core.Comparable.compare;
1353 Sort.sort(list, compare); 1353 Sort.sort(list, compare);
1354 } 1354 }
1355 static shuffleList(list, random) { 1355 static shuffleList(list, random) {
1356 if (random == null) 1356 if (random == null)
1357 random = math.Random.new(); 1357 random = math.Random.new();
1358 let length = list.length; 1358 let length = list[dartx.length];
1359 while (dart.notNull(length) > 1) { 1359 while (dart.notNull(length) > 1) {
1360 let pos = random.nextInt(length); 1360 let pos = random.nextInt(length);
1361 length = dart.notNull(length) - 1; 1361 length = dart.notNull(length) - 1;
1362 let tmp = list[dartx.get](length); 1362 let tmp = list[dartx.get](length);
1363 list[dartx.set](length, list[dartx.get](pos)); 1363 list[dartx.set](length, list[dartx.get](pos));
1364 list[dartx.set](pos, tmp); 1364 list[dartx.set](pos, tmp);
1365 } 1365 }
1366 } 1366 }
1367 static indexOfList(list, element, start) { 1367 static indexOfList(list, element, start) {
1368 return Lists.indexOf(list, element, start, list.length); 1368 return Lists.indexOf(list, element, start, list[dartx.length]);
1369 } 1369 }
1370 static lastIndexOfList(list, element, start) { 1370 static lastIndexOfList(list, element, start) {
1371 if (start == null) 1371 if (start == null)
1372 start = dart.notNull(list.length) - 1; 1372 start = dart.notNull(list[dartx.length]) - 1;
1373 return Lists.lastIndexOf(list, element, start); 1373 return Lists.lastIndexOf(list, element, start);
1374 } 1374 }
1375 static _rangeCheck(list, start, end) { 1375 static _rangeCheck(list, start, end) {
1376 core.RangeError.checkValidRange(start, end, list.length); 1376 core.RangeError.checkValidRange(start, end, list[dartx.length]);
1377 } 1377 }
1378 getRangeList(list, start, end) { 1378 getRangeList(list, start, end) {
1379 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1379 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1380 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start , end); 1380 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start , end);
1381 } 1381 }
1382 static setRangeList(list, start, end, from, skipCount) { 1382 static setRangeList(list, start, end, from, skipCount) {
1383 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1383 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1384 let length = dart.notNull(end) - dart.notNull(start); 1384 let length = dart.notNull(end) - dart.notNull(start);
1385 if (length == 0) 1385 if (length == 0)
1386 return; 1386 return;
1387 if (dart.notNull(skipCount) < 0) 1387 if (dart.notNull(skipCount) < 0)
1388 throw new core.ArgumentError(skipCount); 1388 throw new core.ArgumentError(skipCount);
1389 let otherList = null; 1389 let otherList = null;
1390 let otherStart = null; 1390 let otherStart = null;
1391 if (dart.is(from, core.List)) { 1391 if (dart.is(from, core.List)) {
1392 otherList = from; 1392 otherList = from;
1393 otherStart = skipCount; 1393 otherStart = skipCount;
1394 } else { 1394 } else {
1395 otherList = from[dartx.skip](skipCount)[dartx.toList]({growable: false }); 1395 otherList = from[dartx.skip](skipCount)[dartx.toList]({growable: false });
1396 otherStart = 0; 1396 otherStart = 0;
1397 } 1397 }
1398 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List.length)) { 1398 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other List[dartx.length])) {
1399 throw IterableElementError.tooFew(); 1399 throw IterableElementError.tooFew();
1400 } 1400 }
1401 Lists.copy(otherList, otherStart, list, start, length); 1401 Lists.copy(otherList, otherStart, list, start, length);
1402 } 1402 }
1403 static replaceRangeList(list, start, end, iterable) { 1403 static replaceRangeList(list, start, end, iterable) {
1404 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1404 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1405 if (!dart.is(iterable, EfficientLength)) { 1405 if (!dart.is(iterable, EfficientLength)) {
1406 iterable = iterable[dartx.toList](); 1406 iterable = iterable[dartx.toList]();
1407 } 1407 }
1408 let removeLength = dart.notNull(end) - dart.notNull(start); 1408 let removeLength = dart.notNull(end) - dart.notNull(start);
1409 let insertLength = iterable.length; 1409 let insertLength = iterable[dartx.length];
1410 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { 1410 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) {
1411 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); 1411 let delta = dart.notNull(removeLength) - dart.notNull(insertLength);
1412 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1412 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1413 let newEnd = dart.notNull(list.length) - dart.notNull(delta); 1413 let newEnd = dart.notNull(list[dartx.length]) - dart.notNull(delta);
1414 list[dartx.setRange](start, insertEnd, iterable); 1414 list[dartx.setRange](start, insertEnd, iterable);
1415 if (delta != 0) { 1415 if (delta != 0) {
1416 list[dartx.setRange](insertEnd, newEnd, list, end); 1416 list[dartx.setRange](insertEnd, newEnd, list, end);
1417 list.length = newEnd; 1417 list[dartx.length] = newEnd;
1418 } 1418 }
1419 } else { 1419 } else {
1420 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); 1420 let delta = dart.notNull(insertLength) - dart.notNull(removeLength);
1421 let newLength = dart.notNull(list.length) + dart.notNull(delta); 1421 let newLength = dart.notNull(list[dartx.length]) + dart.notNull(delta) ;
1422 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); 1422 let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
1423 list.length = newLength; 1423 list[dartx.length] = newLength;
1424 list[dartx.setRange](insertEnd, newLength, list, end); 1424 list[dartx.setRange](insertEnd, newLength, list, end);
1425 list[dartx.setRange](start, insertEnd, iterable); 1425 list[dartx.setRange](start, insertEnd, iterable);
1426 } 1426 }
1427 } 1427 }
1428 static fillRangeList(list, start, end, fillValue) { 1428 static fillRangeList(list, start, end, fillValue) {
1429 IterableMixinWorkaround$()._rangeCheck(list, start, end); 1429 IterableMixinWorkaround$()._rangeCheck(list, start, end);
1430 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 1430 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
1431 list[dartx.set](i, fillValue); 1431 list[dartx.set](i, fillValue);
1432 } 1432 }
1433 } 1433 }
1434 static insertAllList(list, index, iterable) { 1434 static insertAllList(list, index, iterable) {
1435 core.RangeError.checkValueInInterval(index, 0, list.length, "index"); 1435 core.RangeError.checkValueInInterval(index, 0, list[dartx.length], "inde x");
1436 if (!dart.is(iterable, EfficientLength)) { 1436 if (!dart.is(iterable, EfficientLength)) {
1437 iterable = iterable[dartx.toList]({growable: false}); 1437 iterable = iterable[dartx.toList]({growable: false});
1438 } 1438 }
1439 let insertionLength = iterable.length; 1439 let insertionLength = iterable[dartx.length];
1440 list.length = dart.notNull(list.length) + dart.notNull(insertionLength); 1440 list[dartx.length] = dart.notNull(list[dartx.length]) + dart.notNull(ins ertionLength);
1441 list[dartx.setRange](dart.notNull(index) + dart.notNull(insertionLength) , list.length, list, index); 1441 list[dartx.setRange](dart.notNull(index) + dart.notNull(insertionLength) , list[dartx.length], list, index);
1442 for (let element of iterable) { 1442 for (let element of iterable) {
1443 list[dartx.set]((() => { 1443 list[dartx.set]((() => {
1444 let x = index; 1444 let x = index;
1445 index = dart.notNull(x) + 1; 1445 index = dart.notNull(x) + 1;
1446 return x; 1446 return x;
1447 })(), element); 1447 })(), element);
1448 } 1448 }
1449 } 1449 }
1450 static setAllList(list, index, iterable) { 1450 static setAllList(list, index, iterable) {
1451 core.RangeError.checkValueInInterval(index, 0, list.length, "index"); 1451 core.RangeError.checkValueInInterval(index, 0, list[dartx.length], "inde x");
1452 for (let element of iterable) { 1452 for (let element of iterable) {
1453 list[dartx.set]((() => { 1453 list[dartx.set]((() => {
1454 let x = index; 1454 let x = index;
1455 index = dart.notNull(x) + 1; 1455 index = dart.notNull(x) + 1;
1456 return x; 1456 return x;
1457 })(), element); 1457 })(), element);
1458 } 1458 }
1459 } 1459 }
1460 asMapList(l) { 1460 asMapList(l) {
1461 return new (ListMapView$(T))(dart.as(l, core.List$(T))); 1461 return new (ListMapView$(T))(dart.as(l, core.List$(T)));
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
1795 return UnmodifiableListBase; 1795 return UnmodifiableListBase;
1796 }); 1796 });
1797 let UnmodifiableListBase = UnmodifiableListBase$(); 1797 let UnmodifiableListBase = UnmodifiableListBase$();
1798 let _backedList = dart.JsSymbol('_backedList'); 1798 let _backedList = dart.JsSymbol('_backedList');
1799 class _ListIndicesIterable extends ListIterable$(core.int) { 1799 class _ListIndicesIterable extends ListIterable$(core.int) {
1800 _ListIndicesIterable(backedList) { 1800 _ListIndicesIterable(backedList) {
1801 this[_backedList] = backedList; 1801 this[_backedList] = backedList;
1802 super.ListIterable(); 1802 super.ListIterable();
1803 } 1803 }
1804 get length() { 1804 get length() {
1805 return this[_backedList].length; 1805 return this[_backedList][dartx.length];
1806 } 1806 }
1807 elementAt(index) { 1807 elementAt(index) {
1808 core.RangeError.checkValidIndex(index, this); 1808 core.RangeError.checkValidIndex(index, this);
1809 return index; 1809 return index;
1810 } 1810 }
1811 } 1811 }
1812 dart.setSignature(_ListIndicesIterable, { 1812 dart.setSignature(_ListIndicesIterable, {
1813 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis t]]}), 1813 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis t]]}),
1814 methods: () => ({elementAt: [core.int, [core.int]]}) 1814 methods: () => ({elementAt: [core.int, [core.int]]})
1815 }); 1815 });
1816 dart.defineExtensionMembers(_ListIndicesIterable, ['elementAt', 'length']); 1816 dart.defineExtensionMembers(_ListIndicesIterable, ['elementAt', 'length']);
1817 let _values = dart.JsSymbol('_values'); 1817 let _values = dart.JsSymbol('_values');
1818 let ListMapView$ = dart.generic(function(E) { 1818 let ListMapView$ = dart.generic(function(E) {
1819 class ListMapView extends core.Object { 1819 class ListMapView extends core.Object {
1820 ListMapView(values) { 1820 ListMapView(values) {
1821 this[_values] = values; 1821 this[_values] = values;
1822 } 1822 }
1823 get(key) { 1823 get(key) {
1824 return dart.notNull(this.containsKey(key)) ? this[_values][dartx.get](da rt.as(key, core.int)) : null; 1824 return dart.notNull(this.containsKey(key)) ? this[_values][dartx.get](da rt.as(key, core.int)) : null;
1825 } 1825 }
1826 get length() { 1826 get length() {
1827 return this[_values].length; 1827 return this[_values][dartx.length];
1828 } 1828 }
1829 get values() { 1829 get values() {
1830 return new (SubListIterable$(E))(this[_values], 0, null); 1830 return new (SubListIterable$(E))(this[_values], 0, null);
1831 } 1831 }
1832 get keys() { 1832 get keys() {
1833 return new _ListIndicesIterable(this[_values]); 1833 return new _ListIndicesIterable(this[_values]);
1834 } 1834 }
1835 get isEmpty() { 1835 get isEmpty() {
1836 return this[_values][dartx.isEmpty]; 1836 return this[_values][dartx.isEmpty];
1837 } 1837 }
1838 get isNotEmpty() { 1838 get isNotEmpty() {
1839 return this[_values][dartx.isNotEmpty]; 1839 return this[_values][dartx.isNotEmpty];
1840 } 1840 }
1841 containsValue(value) { 1841 containsValue(value) {
1842 return this[_values][dartx.contains](value); 1842 return this[_values][dartx.contains](value);
1843 } 1843 }
1844 containsKey(key) { 1844 containsKey(key) {
1845 return typeof key == 'number' && dart.notNull(key) >= 0 && dart.notNull( key) < dart.notNull(this.length); 1845 return typeof key == 'number' && dart.notNull(key) >= 0 && dart.notNull( key) < dart.notNull(this.length);
1846 } 1846 }
1847 forEach(f) { 1847 forEach(f) {
1848 dart.as(f, dart.functionType(dart.void, [core.int, E])); 1848 dart.as(f, dart.functionType(dart.void, [core.int, E]));
1849 let length = this[_values].length; 1849 let length = this[_values][dartx.length];
1850 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1850 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1851 f(i, this[_values][dartx.get](i)); 1851 f(i, this[_values][dartx.get](i));
1852 if (length != this[_values].length) { 1852 if (length != this[_values][dartx.length]) {
1853 throw new core.ConcurrentModificationError(this[_values]); 1853 throw new core.ConcurrentModificationError(this[_values]);
1854 } 1854 }
1855 } 1855 }
1856 } 1856 }
1857 set(key, value) { 1857 set(key, value) {
1858 dart.as(value, E); 1858 dart.as(value, E);
1859 throw new core.UnsupportedError("Cannot modify an unmodifiable map"); 1859 throw new core.UnsupportedError("Cannot modify an unmodifiable map");
1860 } 1860 }
1861 putIfAbsent(key, ifAbsent) { 1861 putIfAbsent(key, ifAbsent) {
1862 dart.as(ifAbsent, dart.functionType(E, [])); 1862 dart.as(ifAbsent, dart.functionType(E, []));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1894 return ListMapView; 1894 return ListMapView;
1895 }); 1895 });
1896 let ListMapView = ListMapView$(); 1896 let ListMapView = ListMapView$();
1897 let ReversedListIterable$ = dart.generic(function(E) { 1897 let ReversedListIterable$ = dart.generic(function(E) {
1898 class ReversedListIterable extends ListIterable$(E) { 1898 class ReversedListIterable extends ListIterable$(E) {
1899 ReversedListIterable(source) { 1899 ReversedListIterable(source) {
1900 this[_source] = source; 1900 this[_source] = source;
1901 super.ListIterable(); 1901 super.ListIterable();
1902 } 1902 }
1903 get length() { 1903 get length() {
1904 return this[_source].length; 1904 return this[_source][dartx.length];
1905 } 1905 }
1906 elementAt(index) { 1906 elementAt(index) {
1907 return this[_source][dartx.elementAt](dart.notNull(this[_source].length) - 1 - dart.notNull(index)); 1907 return this[_source][dartx.elementAt](dart.notNull(this[_source][dartx.l ength]) - 1 - dart.notNull(index));
1908 } 1908 }
1909 } 1909 }
1910 dart.setSignature(ReversedListIterable, { 1910 dart.setSignature(ReversedListIterable, {
1911 constructors: () => ({ReversedListIterable: [ReversedListIterable$(E), [co re.Iterable$(E)]]}), 1911 constructors: () => ({ReversedListIterable: [ReversedListIterable$(E), [co re.Iterable$(E)]]}),
1912 methods: () => ({elementAt: [E, [core.int]]}) 1912 methods: () => ({elementAt: [E, [core.int]]})
1913 }); 1913 });
1914 dart.defineExtensionMembers(ReversedListIterable, ['elementAt', 'length']); 1914 dart.defineExtensionMembers(ReversedListIterable, ['elementAt', 'length']);
1915 return ReversedListIterable; 1915 return ReversedListIterable;
1916 }); 1916 });
1917 let ReversedListIterable = ReversedListIterable$(); 1917 let ReversedListIterable = ReversedListIterable$();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 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) { 1972 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) {
1973 dst[dartx.set](j, src[dartx.get](i)); 1973 dst[dartx.set](j, src[dartx.get](i));
1974 } 1974 }
1975 } 1975 }
1976 } 1976 }
1977 static areEqual(a, b) { 1977 static areEqual(a, b) {
1978 if (dart.notNull(core.identical(a, b))) 1978 if (dart.notNull(core.identical(a, b)))
1979 return true; 1979 return true;
1980 if (!dart.is(b, core.List)) 1980 if (!dart.is(b, core.List))
1981 return false; 1981 return false;
1982 let length = a.length; 1982 let length = a[dartx.length];
1983 if (!dart.equals(length, dart.dload(b, 'length'))) 1983 if (!dart.equals(length, dart.dload(b, 'length')))
1984 return false; 1984 return false;
1985 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 1985 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
1986 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i)))) 1986 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i))))
1987 return false; 1987 return false;
1988 } 1988 }
1989 return true; 1989 return true;
1990 } 1990 }
1991 static indexOf(a, element, startIndex, endIndex) { 1991 static indexOf(a, element, startIndex, endIndex) {
1992 if (dart.notNull(startIndex) >= dart.notNull(a.length)) { 1992 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) {
1993 return -1; 1993 return -1;
1994 } 1994 }
1995 if (dart.notNull(startIndex) < 0) { 1995 if (dart.notNull(startIndex) < 0) {
1996 startIndex = 0; 1996 startIndex = 0;
1997 } 1997 }
1998 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar t.notNull(i) + 1) { 1998 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar t.notNull(i) + 1) {
1999 if (dart.equals(a[dartx.get](i), element)) { 1999 if (dart.equals(a[dartx.get](i), element)) {
2000 return i; 2000 return i;
2001 } 2001 }
2002 } 2002 }
2003 return -1; 2003 return -1;
2004 } 2004 }
2005 static lastIndexOf(a, element, startIndex) { 2005 static lastIndexOf(a, element, startIndex) {
2006 if (dart.notNull(startIndex) < 0) { 2006 if (dart.notNull(startIndex) < 0) {
2007 return -1; 2007 return -1;
2008 } 2008 }
2009 if (dart.notNull(startIndex) >= dart.notNull(a.length)) { 2009 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) {
2010 startIndex = dart.notNull(a.length) - 1; 2010 startIndex = dart.notNull(a[dartx.length]) - 1;
2011 } 2011 }
2012 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { 2012 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
2013 if (dart.equals(a[dartx.get](i), element)) { 2013 if (dart.equals(a[dartx.get](i), element)) {
2014 return i; 2014 return i;
2015 } 2015 }
2016 } 2016 }
2017 return -1; 2017 return -1;
2018 } 2018 }
2019 static indicesCheck(a, start, end) { 2019 static indicesCheck(a, start, end) {
2020 core.RangeError.checkValidRange(start, end, a.length); 2020 core.RangeError.checkValidRange(start, end, a[dartx.length]);
2021 } 2021 }
2022 static rangeCheck(a, start, length) { 2022 static rangeCheck(a, start, length) {
2023 core.RangeError.checkNotNegative(length); 2023 core.RangeError.checkNotNegative(length);
2024 core.RangeError.checkNotNegative(start); 2024 core.RangeError.checkNotNegative(start);
2025 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a.length)) { 2025 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a[dartx.leng th])) {
2026 let message = `${start} + ${length} must be in the range [0..${a.length} ]`; 2026 let message = `${start} + ${length} must be in the range [0..${a[dartx.l ength]}]`;
2027 throw new core.RangeError.range(length, 0, dart.notNull(a.length) - dart .notNull(start), "length", message); 2027 throw new core.RangeError.range(length, 0, dart.notNull(a[dartx.length]) - dart.notNull(start), "length", message);
2028 } 2028 }
2029 } 2029 }
2030 } 2030 }
2031 dart.setSignature(Lists, { 2031 dart.setSignature(Lists, {
2032 statics: () => ({ 2032 statics: () => ({
2033 copy: [dart.void, [core.List, core.int, core.List, core.int, core.int]], 2033 copy: [dart.void, [core.List, core.int, core.List, core.int, core.int]],
2034 areEqual: [core.bool, [core.List, core.Object]], 2034 areEqual: [core.bool, [core.List, core.Object]],
2035 indexOf: [core.int, [core.List, core.Object, core.int, core.int]], 2035 indexOf: [core.int, [core.List, core.Object, core.int, core.int]],
2036 lastIndexOf: [core.int, [core.List, core.Object, core.int]], 2036 lastIndexOf: [core.int, [core.List, core.Object, core.int]],
2037 indicesCheck: [dart.void, [core.List, core.int, core.int]], 2037 indicesCheck: [dart.void, [core.List, core.int, core.int]],
2038 rangeCheck: [dart.void, [core.List, core.int, core.int]] 2038 rangeCheck: [dart.void, [core.List, core.int, core.int]]
2039 }), 2039 }),
2040 names: ['copy', 'areEqual', 'indexOf', 'lastIndexOf', 'indicesCheck', 'range Check'] 2040 names: ['copy', 'areEqual', 'indexOf', 'lastIndexOf', 'indicesCheck', 'range Check']
2041 }); 2041 });
2042 exports.printToZone = null; 2042 exports.printToZone = null;
2043 function printToConsole(line) { 2043 function printToConsole(line) {
2044 _js_primitives.printString(`${line}`); 2044 _js_primitives.printString(`${line}`);
2045 } 2045 }
2046 dart.fn(printToConsole, dart.void, [core.String]); 2046 dart.fn(printToConsole, dart.void, [core.String]);
2047 class Sort extends core.Object { 2047 class Sort extends core.Object {
2048 static sort(a, compare) { 2048 static sort(a, compare) {
2049 Sort._doSort(a, 0, dart.notNull(a.length) - 1, compare); 2049 Sort._doSort(a, 0, dart.notNull(a[dartx.length]) - 1, compare);
2050 } 2050 }
2051 static sortRange(a, from, to, compare) { 2051 static sortRange(a, from, to, compare) {
2052 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a.length) || dart.notNull(to) < dart.notNull(from)) { 2052 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a[dartx.leng th]) || dart.notNull(to) < dart.notNull(from)) {
2053 throw "OutOfRange"; 2053 throw "OutOfRange";
2054 } 2054 }
2055 Sort._doSort(a, from, dart.notNull(to) - 1, compare); 2055 Sort._doSort(a, from, dart.notNull(to) - 1, compare);
2056 } 2056 }
2057 static _doSort(a, left, right, compare) { 2057 static _doSort(a, left, right, compare) {
2058 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort._INSERTI ON_SORT_THRESHOLD)) { 2058 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort._INSERTI ON_SORT_THRESHOLD)) {
2059 Sort._insertionSort(a, left, right, compare); 2059 Sort._insertionSort(a, left, right, compare);
2060 } else { 2060 } else {
2061 Sort._dualPivotQuicksort(a, left, right, compare); 2061 Sort._dualPivotQuicksort(a, left, right, compare);
2062 } 2062 }
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
2446 exports.ReversedListIterable = ReversedListIterable; 2446 exports.ReversedListIterable = ReversedListIterable;
2447 exports.UnmodifiableListError = UnmodifiableListError; 2447 exports.UnmodifiableListError = UnmodifiableListError;
2448 exports.NonGrowableListError = NonGrowableListError; 2448 exports.NonGrowableListError = NonGrowableListError;
2449 exports.makeListFixedLength = makeListFixedLength; 2449 exports.makeListFixedLength = makeListFixedLength;
2450 exports.Lists = Lists; 2450 exports.Lists = Lists;
2451 exports.printToConsole = printToConsole; 2451 exports.printToConsole = printToConsole;
2452 exports.Sort = Sort; 2452 exports.Sort = Sort;
2453 exports.Symbol = Symbol; 2453 exports.Symbol = Symbol;
2454 exports.POWERS_OF_TEN = POWERS_OF_TEN; 2454 exports.POWERS_OF_TEN = POWERS_OF_TEN;
2455 }); 2455 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698