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

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

Issue 1147143007: fixes #206, add checking for unary ops (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: merged 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
« no previous file with comments | « lib/runtime/dart/_interceptors.js ('k') | lib/runtime/dart/_isolate_helper.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var _internal = dart.defineLibrary(_internal, {}); 1 var _internal = dart.defineLibrary(_internal, {});
2 var core = dart.import(core); 2 var core = dart.import(core);
3 var collection = dart.import(collection); 3 var collection = dart.import(collection);
4 var math = dart.lazyImport(math); 4 var math = dart.lazyImport(math);
5 var _interceptors = dart.lazyImport(_interceptors); 5 var _interceptors = dart.lazyImport(_interceptors);
6 var _js_primitives = dart.lazyImport(_js_primitives); 6 var _js_primitives = dart.lazyImport(_js_primitives);
7 (function(exports, core, collection, math, _interceptors, _js_primitives) { 7 (function(exports, core, collection, math, _interceptors, _js_primitives) {
8 'use strict'; 8 'use strict';
9 class EfficientLength extends core.Object {} 9 class EfficientLength extends core.Object {}
10 let ListIterable$ = dart.generic(function(E) { 10 let ListIterable$ = dart.generic(function(E) {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 if (length != this.length) { 65 if (length != this.length) {
66 throw new core.ConcurrentModificationError(this); 66 throw new core.ConcurrentModificationError(this);
67 } 67 }
68 } 68 }
69 return true; 69 return true;
70 } 70 }
71 any(test) { 71 any(test) {
72 dart.as(test, dart.functionType(core.bool, [E])); 72 dart.as(test, dart.functionType(core.bool, [E]));
73 let length = this.length; 73 let length = this.length;
74 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 74 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
75 if (test(this.elementAt(i))) 75 if (dart.notNull(test(this.elementAt(i))))
76 return true; 76 return true;
77 if (length != this.length) { 77 if (length != this.length) {
78 throw new core.ConcurrentModificationError(this); 78 throw new core.ConcurrentModificationError(this);
79 } 79 }
80 } 80 }
81 return false; 81 return false;
82 } 82 }
83 firstWhere(test, opts) { 83 firstWhere(test, opts) {
84 dart.as(test, dart.functionType(core.bool, [E])); 84 dart.as(test, dart.functionType(core.bool, [E]));
85 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 85 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
86 dart.as(orElse, dart.functionType(E, [])); 86 dart.as(orElse, dart.functionType(E, []));
87 let length = this.length; 87 let length = this.length;
88 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 88 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
89 let element = this.elementAt(i); 89 let element = this.elementAt(i);
90 if (test(element)) 90 if (dart.notNull(test(element)))
91 return element; 91 return element;
92 if (length != this.length) { 92 if (length != this.length) {
93 throw new core.ConcurrentModificationError(this); 93 throw new core.ConcurrentModificationError(this);
94 } 94 }
95 } 95 }
96 if (orElse != null) 96 if (orElse != null)
97 return orElse(); 97 return orElse();
98 throw IterableElementError.noElement(); 98 throw IterableElementError.noElement();
99 } 99 }
100 lastWhere(test, opts) { 100 lastWhere(test, opts) {
101 dart.as(test, dart.functionType(core.bool, [E])); 101 dart.as(test, dart.functionType(core.bool, [E]));
102 let orElse = opts && 'orElse' in opts ? opts.orElse : null; 102 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
103 dart.as(orElse, dart.functionType(E, [])); 103 dart.as(orElse, dart.functionType(E, []));
104 let length = this.length; 104 let length = this.length;
105 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) { 105 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no tNull(i) - 1) {
106 let element = this.elementAt(i); 106 let element = this.elementAt(i);
107 if (test(element)) 107 if (dart.notNull(test(element)))
108 return element; 108 return element;
109 if (length != this.length) { 109 if (length != this.length) {
110 throw new core.ConcurrentModificationError(this); 110 throw new core.ConcurrentModificationError(this);
111 } 111 }
112 } 112 }
113 if (orElse != null) 113 if (orElse != null)
114 return orElse(); 114 return orElse();
115 throw IterableElementError.noElement(); 115 throw IterableElementError.noElement();
116 } 116 }
117 singleWhere(test) { 117 singleWhere(test) {
118 dart.as(test, dart.functionType(core.bool, [E])); 118 dart.as(test, dart.functionType(core.bool, [E]));
119 let length = this.length; 119 let length = this.length;
120 let match = null; 120 let match = null;
121 let matchFound = false; 121 let matchFound = false;
122 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 122 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
123 let element = this.elementAt(i); 123 let element = this.elementAt(i);
124 if (test(element)) { 124 if (dart.notNull(test(element))) {
125 if (matchFound) { 125 if (dart.notNull(matchFound)) {
126 throw IterableElementError.tooMany(); 126 throw IterableElementError.tooMany();
127 } 127 }
128 matchFound = true; 128 matchFound = true;
129 match = element; 129 match = element;
130 } 130 }
131 if (length != this.length) { 131 if (length != this.length) {
132 throw new core.ConcurrentModificationError(this); 132 throw new core.ConcurrentModificationError(this);
133 } 133 }
134 } 134 }
135 if (matchFound) 135 if (dart.notNull(matchFound))
136 return match; 136 return match;
137 throw IterableElementError.noElement(); 137 throw IterableElementError.noElement();
138 } 138 }
139 join(separator) { 139 join(separator) {
140 if (separator === void 0) 140 if (separator === void 0)
141 separator = ""; 141 separator = "";
142 let length = this.length; 142 let length = this.length;
143 if (!dart.notNull(separator[dartx.isEmpty])) { 143 if (!dart.notNull(separator[dartx.isEmpty])) {
144 if (length == 0) 144 if (length == 0)
145 return ""; 145 return "";
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 take(count) { 211 take(count) {
212 return new (SubListIterable$(E))(this, 0, count); 212 return new (SubListIterable$(E))(this, 0, count);
213 } 213 }
214 takeWhile(test) { 214 takeWhile(test) {
215 dart.as(test, dart.functionType(core.bool, [E])); 215 dart.as(test, dart.functionType(core.bool, [E]));
216 return super.takeWhile(test); 216 return super.takeWhile(test);
217 } 217 }
218 toList(opts) { 218 toList(opts) {
219 let growable = opts && 'growable' in opts ? opts.growable : true; 219 let growable = opts && 'growable' in opts ? opts.growable : true;
220 let result = null; 220 let result = null;
221 if (growable) { 221 if (dart.notNull(growable)) {
222 result = core.List$(E).new(); 222 result = core.List$(E).new();
223 result.length = this.length; 223 result.length = this.length;
224 } else { 224 } else {
225 result = core.List$(E).new(this.length); 225 result = core.List$(E).new(this.length);
226 } 226 }
227 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) { 227 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no tNull(i) + 1) {
228 result[dartx.set](i, this.elementAt(i)); 228 result[dartx.set](i, this.elementAt(i));
229 } 229 }
230 return result; 230 return result;
231 } 231 }
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 } 356 }
357 toList(opts) { 357 toList(opts) {
358 let growable = opts && 'growable' in opts ? opts.growable : true; 358 let growable = opts && 'growable' in opts ? opts.growable : true;
359 let start = this[_start]; 359 let start = this[_start];
360 let end = this[_iterable].length; 360 let end = this[_iterable].length;
361 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end)) 361 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar t.notNull(end))
362 end = this[_endOrLength]; 362 end = this[_endOrLength];
363 let length = dart.notNull(end) - dart.notNull(start); 363 let length = dart.notNull(end) - dart.notNull(start);
364 if (dart.notNull(length) < 0) 364 if (dart.notNull(length) < 0)
365 length = 0; 365 length = 0;
366 let result = growable ? (() => { 366 let result = dart.notNull(growable) ? (() => {
367 let _ = core.List$(E).new(); 367 let _ = core.List$(E).new();
368 _.length = length; 368 _.length = length;
369 return _; 369 return _;
370 })() : core.List$(E).new(length); 370 })() : core.List$(E).new(length);
371 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 371 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
372 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta rt) + dart.notNull(i))); 372 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta rt) + dart.notNull(i)));
373 if (dart.notNull(this[_iterable].length) < dart.notNull(end)) 373 if (dart.notNull(this[_iterable].length) < dart.notNull(end))
374 throw new core.ConcurrentModificationError(this); 374 throw new core.ConcurrentModificationError(this);
375 } 375 }
376 return dart.as(result, core.List$(E)); 376 return dart.as(result, core.List$(E));
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 let EfficientLengthMappedIterable = EfficientLengthMappedIterable$(); 491 let EfficientLengthMappedIterable = EfficientLengthMappedIterable$();
492 let _iterator = dart.JsSymbol('_iterator'); 492 let _iterator = dart.JsSymbol('_iterator');
493 let MappedIterator$ = dart.generic(function(S, T) { 493 let MappedIterator$ = dart.generic(function(S, T) {
494 class MappedIterator extends core.Iterator$(T) { 494 class MappedIterator extends core.Iterator$(T) {
495 MappedIterator(iterator, f) { 495 MappedIterator(iterator, f) {
496 this[_iterator] = iterator; 496 this[_iterator] = iterator;
497 this[_f] = f; 497 this[_f] = f;
498 this[_current] = null; 498 this[_current] = null;
499 } 499 }
500 moveNext() { 500 moveNext() {
501 if (this[_iterator].moveNext()) { 501 if (dart.notNull(this[_iterator].moveNext())) {
502 this[_current] = this[_f](this[_iterator].current); 502 this[_current] = this[_f](this[_iterator].current);
503 return true; 503 return true;
504 } 504 }
505 this[_current] = null; 505 this[_current] = null;
506 return false; 506 return false;
507 } 507 }
508 get current() { 508 get current() {
509 return this[_current]; 509 return this[_current];
510 } 510 }
511 } 511 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 return WhereIterable; 562 return WhereIterable;
563 }); 563 });
564 let WhereIterable = WhereIterable$(); 564 let WhereIterable = WhereIterable$();
565 let WhereIterator$ = dart.generic(function(E) { 565 let WhereIterator$ = dart.generic(function(E) {
566 class WhereIterator extends core.Iterator$(E) { 566 class WhereIterator extends core.Iterator$(E) {
567 WhereIterator(iterator, f) { 567 WhereIterator(iterator, f) {
568 this[_iterator] = iterator; 568 this[_iterator] = iterator;
569 this[_f] = f; 569 this[_f] = f;
570 } 570 }
571 moveNext() { 571 moveNext() {
572 while (this[_iterator].moveNext()) { 572 while (dart.notNull(this[_iterator].moveNext())) {
573 if (this[_f](this[_iterator].current)) { 573 if (dart.notNull(this[_f](this[_iterator].current))) {
574 return true; 574 return true;
575 } 575 }
576 } 576 }
577 return false; 577 return false;
578 } 578 }
579 get current() { 579 get current() {
580 return this[_iterator].current; 580 return this[_iterator].current;
581 } 581 }
582 } 582 }
583 dart.setSignature(WhereIterator, { 583 dart.setSignature(WhereIterator, {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 } 621 }
622 [_nextExpansion]() {} 622 [_nextExpansion]() {}
623 get current() { 623 get current() {
624 return this[_current]; 624 return this[_current];
625 } 625 }
626 moveNext() { 626 moveNext() {
627 if (this[_currentExpansion] == null) 627 if (this[_currentExpansion] == null)
628 return false; 628 return false;
629 while (!dart.notNull(this[_currentExpansion].moveNext())) { 629 while (!dart.notNull(this[_currentExpansion].moveNext())) {
630 this[_current] = null; 630 this[_current] = null;
631 if (this[_iterator].moveNext()) { 631 if (dart.notNull(this[_iterator].moveNext())) {
632 this[_currentExpansion] = null; 632 this[_currentExpansion] = null;
633 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato r].current)[dartx.iterator], core.Iterator$(T)); 633 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato r].current)[dartx.iterator], core.Iterator$(T));
634 } else { 634 } else {
635 return false; 635 return false;
636 } 636 }
637 } 637 }
638 this[_current] = this[_currentExpansion].current; 638 this[_current] = this[_currentExpansion].current;
639 return true; 639 return true;
640 } 640 }
641 } 641 }
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 let TakeWhileIterable = TakeWhileIterable$(); 749 let TakeWhileIterable = TakeWhileIterable$();
750 let _isFinished = dart.JsSymbol('_isFinished'); 750 let _isFinished = dart.JsSymbol('_isFinished');
751 let TakeWhileIterator$ = dart.generic(function(E) { 751 let TakeWhileIterator$ = dart.generic(function(E) {
752 class TakeWhileIterator extends core.Iterator$(E) { 752 class TakeWhileIterator extends core.Iterator$(E) {
753 TakeWhileIterator(iterator, f) { 753 TakeWhileIterator(iterator, f) {
754 this[_iterator] = iterator; 754 this[_iterator] = iterator;
755 this[_f] = f; 755 this[_f] = f;
756 this[_isFinished] = false; 756 this[_isFinished] = false;
757 } 757 }
758 moveNext() { 758 moveNext() {
759 if (this[_isFinished]) 759 if (dart.notNull(this[_isFinished]))
760 return false; 760 return false;
761 if (!dart.notNull(this[_iterator].moveNext()) || !dart.notNull(dart.dcal l(this[_f], this[_iterator].current))) { 761 if (!dart.notNull(this[_iterator].moveNext()) || !dart.notNull(dart.dcal l(this[_f], this[_iterator].current))) {
762 this[_isFinished] = true; 762 this[_isFinished] = true;
763 return false; 763 return false;
764 } 764 }
765 return true; 765 return true;
766 } 766 }
767 get current() { 767 get current() {
768 if (this[_isFinished]) 768 if (dart.notNull(this[_isFinished]))
769 return null; 769 return null;
770 return this[_iterator].current; 770 return this[_iterator].current;
771 } 771 }
772 } 772 }
773 dart.setSignature(TakeWhileIterator, { 773 dart.setSignature(TakeWhileIterator, {
774 constructors: () => ({TakeWhileIterator: [TakeWhileIterator$(E), [core.Ite rator$(E), dart.functionType(core.bool, [E])]]}), 774 constructors: () => ({TakeWhileIterator: [TakeWhileIterator$(E), [core.Ite rator$(E), dart.functionType(core.bool, [E])]]}),
775 methods: () => ({moveNext: [core.bool, []]}) 775 methods: () => ({moveNext: [core.bool, []]})
776 }); 776 });
777 return TakeWhileIterator; 777 return TakeWhileIterator;
778 }); 778 });
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
882 let SkipWhileIterator$ = dart.generic(function(E) { 882 let SkipWhileIterator$ = dart.generic(function(E) {
883 class SkipWhileIterator extends core.Iterator$(E) { 883 class SkipWhileIterator extends core.Iterator$(E) {
884 SkipWhileIterator(iterator, f) { 884 SkipWhileIterator(iterator, f) {
885 this[_iterator] = iterator; 885 this[_iterator] = iterator;
886 this[_f] = f; 886 this[_f] = f;
887 this[_hasSkipped] = false; 887 this[_hasSkipped] = false;
888 } 888 }
889 moveNext() { 889 moveNext() {
890 if (!dart.notNull(this[_hasSkipped])) { 890 if (!dart.notNull(this[_hasSkipped])) {
891 this[_hasSkipped] = true; 891 this[_hasSkipped] = true;
892 while (this[_iterator].moveNext()) { 892 while (dart.notNull(this[_iterator].moveNext())) {
893 if (!dart.notNull(dart.dcall(this[_f], this[_iterator].current))) 893 if (!dart.notNull(dart.dcall(this[_f], this[_iterator].current)))
894 return true; 894 return true;
895 } 895 }
896 } 896 }
897 return this[_iterator].moveNext(); 897 return this[_iterator].moveNext();
898 } 898 }
899 get current() { 899 get current() {
900 return this[_iterator].current; 900 return this[_iterator].current;
901 } 901 }
902 } 902 }
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 take(count) { 1003 take(count) {
1004 core.RangeError.checkNotNegative(count, "count"); 1004 core.RangeError.checkNotNegative(count, "count");
1005 return this; 1005 return this;
1006 } 1006 }
1007 takeWhile(test) { 1007 takeWhile(test) {
1008 dart.as(test, dart.functionType(core.bool, [E])); 1008 dart.as(test, dart.functionType(core.bool, [E]));
1009 return this; 1009 return this;
1010 } 1010 }
1011 toList(opts) { 1011 toList(opts) {
1012 let growable = opts && 'growable' in opts ? opts.growable : true; 1012 let growable = opts && 'growable' in opts ? opts.growable : true;
1013 return growable ? dart.list([], E) : core.List$(E).new(0); 1013 return dart.notNull(growable) ? dart.list([], E) : core.List$(E).new(0);
1014 } 1014 }
1015 toSet() { 1015 toSet() {
1016 return core.Set$(E).new(); 1016 return core.Set$(E).new();
1017 } 1017 }
1018 } 1018 }
1019 EmptyIterable[dart.implements] = () => [EfficientLength]; 1019 EmptyIterable[dart.implements] = () => [EfficientLength];
1020 dart.defineExtensionMembers(EmptyIterable, [ 1020 dart.defineExtensionMembers(EmptyIterable, [
1021 'forEach', 1021 'forEach',
1022 'elementAt', 1022 'elementAt',
1023 'contains', 1023 'contains',
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1105 } 1105 }
1106 static forEach(iterable, f) { 1106 static forEach(iterable, f) {
1107 dart.as(f, dart.functionType(dart.void, [dart.bottom])); 1107 dart.as(f, dart.functionType(dart.void, [dart.bottom]));
1108 for (let e of iterable) { 1108 for (let e of iterable) {
1109 dart.dcall(f, e); 1109 dart.dcall(f, e);
1110 } 1110 }
1111 } 1111 }
1112 static any(iterable, f) { 1112 static any(iterable, f) {
1113 dart.as(f, dart.functionType(core.bool, [dart.bottom])); 1113 dart.as(f, dart.functionType(core.bool, [dart.bottom]));
1114 for (let e of iterable) { 1114 for (let e of iterable) {
1115 if (dart.dcall(f, e)) 1115 if (dart.notNull(dart.dcall(f, e)))
1116 return true; 1116 return true;
1117 } 1117 }
1118 return false; 1118 return false;
1119 } 1119 }
1120 static every(iterable, f) { 1120 static every(iterable, f) {
1121 dart.as(f, dart.functionType(core.bool, [dart.bottom])); 1121 dart.as(f, dart.functionType(core.bool, [dart.bottom]));
1122 for (let e of iterable) { 1122 for (let e of iterable) {
1123 if (!dart.notNull(dart.dcall(f, e))) 1123 if (!dart.notNull(dart.dcall(f, e)))
1124 return false; 1124 return false;
1125 } 1125 }
1126 return true; 1126 return true;
1127 } 1127 }
1128 static reduce(iterable, combine) { 1128 static reduce(iterable, combine) {
1129 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m])); 1129 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m]));
1130 let iterator = iterable[dartx.iterator]; 1130 let iterator = iterable[dartx.iterator];
1131 if (!dart.notNull(iterator.moveNext())) 1131 if (!dart.notNull(iterator.moveNext()))
1132 throw IterableElementError.noElement(); 1132 throw IterableElementError.noElement();
1133 let value = iterator.current; 1133 let value = iterator.current;
1134 while (iterator.moveNext()) { 1134 while (dart.notNull(iterator.moveNext())) {
1135 value = dart.dcall(combine, value, iterator.current); 1135 value = dart.dcall(combine, value, iterator.current);
1136 } 1136 }
1137 return value; 1137 return value;
1138 } 1138 }
1139 static fold(iterable, initialValue, combine) { 1139 static fold(iterable, initialValue, combine) {
1140 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m])); 1140 dart.as(combine, dart.functionType(core.Object, [dart.bottom, dart.botto m]));
1141 for (let element of iterable) { 1141 for (let element of iterable) {
1142 initialValue = dart.dcall(combine, initialValue, element); 1142 initialValue = dart.dcall(combine, initialValue, element);
1143 } 1143 }
1144 return initialValue; 1144 return initialValue;
(...skipping 29 matching lines...) Expand all
1174 return it.current; 1174 return it.current;
1175 } 1175 }
1176 static last(iterable) { 1176 static last(iterable) {
1177 let it = iterable[dartx.iterator]; 1177 let it = iterable[dartx.iterator];
1178 if (!dart.notNull(it.moveNext())) { 1178 if (!dart.notNull(it.moveNext())) {
1179 throw IterableElementError.noElement(); 1179 throw IterableElementError.noElement();
1180 } 1180 }
1181 let result = null; 1181 let result = null;
1182 do { 1182 do {
1183 result = it.current; 1183 result = it.current;
1184 } while (it.moveNext()); 1184 } while (dart.notNull(it.moveNext()));
1185 return result; 1185 return result;
1186 } 1186 }
1187 static single(iterable) { 1187 static single(iterable) {
1188 let it = iterable[dartx.iterator]; 1188 let it = iterable[dartx.iterator];
1189 if (!dart.notNull(it.moveNext())) 1189 if (!dart.notNull(it.moveNext()))
1190 throw IterableElementError.noElement(); 1190 throw IterableElementError.noElement();
1191 let result = it.current; 1191 let result = it.current;
1192 if (it.moveNext()) 1192 if (dart.notNull(it.moveNext()))
1193 throw IterableElementError.tooMany(); 1193 throw IterableElementError.tooMany();
1194 return result; 1194 return result;
1195 } 1195 }
1196 static firstWhere(iterable, test, orElse) { 1196 static firstWhere(iterable, test, orElse) {
1197 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1197 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1198 dart.as(orElse, dart.functionType(core.Object, [])); 1198 dart.as(orElse, dart.functionType(core.Object, []));
1199 for (let element of iterable) { 1199 for (let element of iterable) {
1200 if (dart.dcall(test, element)) 1200 if (dart.notNull(dart.dcall(test, element)))
1201 return element; 1201 return element;
1202 } 1202 }
1203 if (orElse != null) 1203 if (orElse != null)
1204 return orElse(); 1204 return orElse();
1205 throw IterableElementError.noElement(); 1205 throw IterableElementError.noElement();
1206 } 1206 }
1207 static lastWhere(iterable, test, orElse) { 1207 static lastWhere(iterable, test, orElse) {
1208 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1208 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1209 dart.as(orElse, dart.functionType(core.Object, [])); 1209 dart.as(orElse, dart.functionType(core.Object, []));
1210 let result = null; 1210 let result = null;
1211 let foundMatching = false; 1211 let foundMatching = false;
1212 for (let element of iterable) { 1212 for (let element of iterable) {
1213 if (dart.dcall(test, element)) { 1213 if (dart.notNull(dart.dcall(test, element))) {
1214 result = element; 1214 result = element;
1215 foundMatching = true; 1215 foundMatching = true;
1216 } 1216 }
1217 } 1217 }
1218 if (foundMatching) 1218 if (dart.notNull(foundMatching))
1219 return result; 1219 return result;
1220 if (orElse != null) 1220 if (orElse != null)
1221 return orElse(); 1221 return orElse();
1222 throw IterableElementError.noElement(); 1222 throw IterableElementError.noElement();
1223 } 1223 }
1224 static lastWhereList(list, test, orElse) { 1224 static lastWhereList(list, test, orElse) {
1225 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1225 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1226 dart.as(orElse, dart.functionType(core.Object, [])); 1226 dart.as(orElse, dart.functionType(core.Object, []));
1227 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) { 1227 for (let i = dart.notNull(list.length) - 1; dart.notNull(i) >= 0; i = da rt.notNull(i) - 1) {
1228 let element = list[dartx.get](i); 1228 let element = list[dartx.get](i);
1229 if (dart.dcall(test, element)) 1229 if (dart.notNull(dart.dcall(test, element)))
1230 return element; 1230 return element;
1231 } 1231 }
1232 if (orElse != null) 1232 if (orElse != null)
1233 return orElse(); 1233 return orElse();
1234 throw IterableElementError.noElement(); 1234 throw IterableElementError.noElement();
1235 } 1235 }
1236 static singleWhere(iterable, test) { 1236 static singleWhere(iterable, test) {
1237 dart.as(test, dart.functionType(core.bool, [dart.bottom])); 1237 dart.as(test, dart.functionType(core.bool, [dart.bottom]));
1238 let result = null; 1238 let result = null;
1239 let foundMatching = false; 1239 let foundMatching = false;
1240 for (let element of iterable) { 1240 for (let element of iterable) {
1241 if (dart.dcall(test, element)) { 1241 if (dart.notNull(dart.dcall(test, element))) {
1242 if (foundMatching) { 1242 if (dart.notNull(foundMatching)) {
1243 throw IterableElementError.tooMany(); 1243 throw IterableElementError.tooMany();
1244 } 1244 }
1245 result = element; 1245 result = element;
1246 foundMatching = true; 1246 foundMatching = true;
1247 } 1247 }
1248 } 1248 }
1249 if (foundMatching) 1249 if (dart.notNull(foundMatching))
1250 return result; 1250 return result;
1251 throw IterableElementError.noElement(); 1251 throw IterableElementError.noElement();
1252 } 1252 }
1253 static elementAt(iterable, index) { 1253 static elementAt(iterable, index) {
1254 if (!(typeof index == 'number')) 1254 if (!(typeof index == 'number'))
1255 throw new core.ArgumentError.notNull("index"); 1255 throw new core.ArgumentError.notNull("index");
1256 core.RangeError.checkNotNegative(index, "index"); 1256 core.RangeError.checkNotNegative(index, "index");
1257 let elementIndex = 0; 1257 let elementIndex = 0;
1258 for (let element of iterable) { 1258 for (let element of iterable) {
1259 if (index == elementIndex) 1259 if (index == elementIndex)
1260 return element; 1260 return element;
1261 elementIndex = dart.notNull(elementIndex) + 1; 1261 elementIndex = dart.notNull(elementIndex) + 1;
1262 } 1262 }
1263 throw core.RangeError.index(index, iterable, "index", null, elementIndex ); 1263 throw core.RangeError.index(index, iterable, "index", null, elementIndex );
1264 } 1264 }
1265 static join(iterable, separator) { 1265 static join(iterable, separator) {
1266 if (separator === void 0) 1266 if (separator === void 0)
1267 separator = null; 1267 separator = null;
1268 let buffer = new core.StringBuffer(); 1268 let buffer = new core.StringBuffer();
1269 buffer.writeAll(iterable, separator); 1269 buffer.writeAll(iterable, separator);
1270 return dart.toString(buffer); 1270 return dart.toString(buffer);
1271 } 1271 }
1272 static joinList(list, separator) { 1272 static joinList(list, separator) {
1273 if (separator === void 0) 1273 if (separator === void 0)
1274 separator = null; 1274 separator = null;
1275 if (list[dartx.isEmpty]) 1275 if (dart.notNull(list[dartx.isEmpty]))
1276 return ""; 1276 return "";
1277 if (list.length == 1) 1277 if (list.length == 1)
1278 return `${list[dartx.get](0)}`; 1278 return `${list[dartx.get](0)}`;
1279 let buffer = new core.StringBuffer(); 1279 let buffer = new core.StringBuffer();
1280 if (separator[dartx.isEmpty]) { 1280 if (dart.notNull(separator[dartx.isEmpty])) {
1281 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1281 for (let i = 0; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) {
1282 buffer.write(list[dartx.get](i)); 1282 buffer.write(list[dartx.get](i));
1283 } 1283 }
1284 } else { 1284 } else {
1285 buffer.write(list[dartx.get](0)); 1285 buffer.write(list[dartx.get](0));
1286 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) { 1286 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart. notNull(i) + 1) {
1287 buffer.write(separator); 1287 buffer.write(separator);
1288 buffer.write(list[dartx.get](i)); 1288 buffer.write(list[dartx.get](i));
1289 } 1289 }
1290 } 1290 }
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1448 let smaller = null; 1448 let smaller = null;
1449 let larger = null; 1449 let larger = null;
1450 if (dart.notNull(set.length) < dart.notNull(other.length)) { 1450 if (dart.notNull(set.length) < dart.notNull(other.length)) {
1451 smaller = set; 1451 smaller = set;
1452 larger = other; 1452 larger = other;
1453 } else { 1453 } else {
1454 smaller = other; 1454 smaller = other;
1455 larger = set; 1455 larger = set;
1456 } 1456 }
1457 for (let element of smaller) { 1457 for (let element of smaller) {
1458 if (larger.contains(element)) { 1458 if (dart.notNull(larger.contains(element))) {
1459 result.add(element); 1459 result.add(element);
1460 } 1460 }
1461 } 1461 }
1462 return result; 1462 return result;
1463 } 1463 }
1464 static setUnion(set, other, result) { 1464 static setUnion(set, other, result) {
1465 result.addAll(set); 1465 result.addAll(set);
1466 result.addAll(other); 1466 result.addAll(other);
1467 return result; 1467 return result;
1468 } 1468 }
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
1790 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis t]]}), 1790 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis t]]}),
1791 methods: () => ({elementAt: [core.int, [core.int]]}) 1791 methods: () => ({elementAt: [core.int, [core.int]]})
1792 }); 1792 });
1793 let _values = dart.JsSymbol('_values'); 1793 let _values = dart.JsSymbol('_values');
1794 let ListMapView$ = dart.generic(function(E) { 1794 let ListMapView$ = dart.generic(function(E) {
1795 class ListMapView extends core.Object { 1795 class ListMapView extends core.Object {
1796 ListMapView(values) { 1796 ListMapView(values) {
1797 this[_values] = values; 1797 this[_values] = values;
1798 } 1798 }
1799 get(key) { 1799 get(key) {
1800 return this.containsKey(key) ? this[_values][dartx.get](dart.as(key, cor e.int)) : null; 1800 return dart.notNull(this.containsKey(key)) ? this[_values][dartx.get](da rt.as(key, core.int)) : null;
1801 } 1801 }
1802 get length() { 1802 get length() {
1803 return this[_values].length; 1803 return this[_values].length;
1804 } 1804 }
1805 get values() { 1805 get values() {
1806 return new (SubListIterable$(E))(this[_values], 0, null); 1806 return new (SubListIterable$(E))(this[_values], 0, null);
1807 } 1807 }
1808 get keys() { 1808 get keys() {
1809 return new _ListIndicesIterable(this[_values]); 1809 return new _ListIndicesIterable(this[_values]);
1810 } 1810 }
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1943 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart. notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) { 1943 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart. notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) {
1944 dst[dartx.set](j, src[dartx.get](i)); 1944 dst[dartx.set](j, src[dartx.get](i));
1945 } 1945 }
1946 } else { 1946 } else {
1947 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) { 1947 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) {
1948 dst[dartx.set](j, src[dartx.get](i)); 1948 dst[dartx.set](j, src[dartx.get](i));
1949 } 1949 }
1950 } 1950 }
1951 } 1951 }
1952 static areEqual(a, b) { 1952 static areEqual(a, b) {
1953 if (core.identical(a, b)) 1953 if (dart.notNull(core.identical(a, b)))
1954 return true; 1954 return true;
1955 if (!dart.is(b, core.List)) 1955 if (!dart.is(b, core.List))
1956 return false; 1956 return false;
1957 let length = a.length; 1957 let length = a.length;
1958 if (!dart.equals(length, dart.dload(b, 'length'))) 1958 if (!dart.equals(length, dart.dload(b, 'length')))
1959 return false; 1959 return false;
1960 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 1960 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
1961 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i)))) 1961 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i))))
1962 return false; 1962 return false;
1963 } 1963 }
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
2108 let pivot1 = el2; 2108 let pivot1 = el2;
2109 let pivot2 = el4; 2109 let pivot2 = el4;
2110 a[dartx.set](index1, el1); 2110 a[dartx.set](index1, el1);
2111 a[dartx.set](index3, el3); 2111 a[dartx.set](index3, el3);
2112 a[dartx.set](index5, el5); 2112 a[dartx.set](index5, el5);
2113 a[dartx.set](index2, a[dartx.get](left)); 2113 a[dartx.set](index2, a[dartx.get](left));
2114 a[dartx.set](index4, a[dartx.get](right)); 2114 a[dartx.set](index4, a[dartx.get](right));
2115 let less = dart.notNull(left) + 1; 2115 let less = dart.notNull(left) + 1;
2116 let great = dart.notNull(right) - 1; 2116 let great = dart.notNull(right) - 1;
2117 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0; 2117 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0;
2118 if (pivots_are_equal) { 2118 if (dart.notNull(pivots_are_equal)) {
2119 let pivot = pivot1; 2119 let pivot = pivot1;
2120 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 2120 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
2121 let ak = a[dartx.get](k); 2121 let ak = a[dartx.get](k);
2122 let comp = dart.dcall(compare, ak, pivot); 2122 let comp = dart.dcall(compare, ak, pivot);
2123 if (comp == 0) 2123 if (comp == 0)
2124 continue; 2124 continue;
2125 if (dart.notNull(comp) < 0) { 2125 if (dart.notNull(comp) < 0) {
2126 if (k != less) { 2126 if (k != less) {
2127 a[dartx.set](k, a[dartx.get](less)); 2127 a[dartx.set](k, a[dartx.get](less));
2128 a[dartx.set](less, ak); 2128 a[dartx.set](less, ak);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
2207 } 2207 }
2208 } 2208 }
2209 } 2209 }
2210 } 2210 }
2211 a[dartx.set](left, a[dartx.get](dart.notNull(less) - 1)); 2211 a[dartx.set](left, a[dartx.get](dart.notNull(less) - 1));
2212 a[dartx.set](dart.notNull(less) - 1, pivot1); 2212 a[dartx.set](dart.notNull(less) - 1, pivot1);
2213 a[dartx.set](right, a[dartx.get](dart.notNull(great) + 1)); 2213 a[dartx.set](right, a[dartx.get](dart.notNull(great) + 1));
2214 a[dartx.set](dart.notNull(great) + 1, pivot2); 2214 a[dartx.set](dart.notNull(great) + 1, pivot2);
2215 Sort._doSort(a, left, dart.notNull(less) - 2, compare); 2215 Sort._doSort(a, left, dart.notNull(less) - 2, compare);
2216 Sort._doSort(a, dart.notNull(great) + 2, right, compare); 2216 Sort._doSort(a, dart.notNull(great) + 2, right, compare);
2217 if (pivots_are_equal) { 2217 if (dart.notNull(pivots_are_equal)) {
2218 return; 2218 return;
2219 } 2219 }
2220 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) { 2220 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar t.notNull(index5)) {
2221 while (dart.dcall(compare, a[dartx.get](less), pivot1) == 0) { 2221 while (dart.dcall(compare, a[dartx.get](less), pivot1) == 0) {
2222 less = dart.notNull(less) + 1; 2222 less = dart.notNull(less) + 1;
2223 } 2223 }
2224 while (dart.dcall(compare, a[dartx.get](great), pivot2) == 0) { 2224 while (dart.dcall(compare, a[dartx.get](great), pivot2) == 0) {
2225 great = dart.notNull(great) - 1; 2225 great = dart.notNull(great) - 1;
2226 } 2226 }
2227 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) { 2227 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN ull(k) + 1) {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
2308 } 2308 }
2309 toString() { 2309 toString() {
2310 return `Symbol("${this[_name]}")`; 2310 return `Symbol("${this[_name]}")`;
2311 } 2311 }
2312 static getName(symbol) { 2312 static getName(symbol) {
2313 return symbol[_name]; 2313 return symbol[_name];
2314 } 2314 }
2315 static validatePublicSymbol(name) { 2315 static validatePublicSymbol(name) {
2316 if (dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.publicSymbolP attern.hasMatch(name))) 2316 if (dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.publicSymbolP attern.hasMatch(name)))
2317 return name; 2317 return name;
2318 if (name[dartx.startsWith]('_')) { 2318 if (dart.notNull(name[dartx.startsWith]('_'))) {
2319 throw new core.ArgumentError(`"${name}" is a private identifier`); 2319 throw new core.ArgumentError(`"${name}" is a private identifier`);
2320 } 2320 }
2321 throw new core.ArgumentError(`"${name}" is not a valid (qualified) symbol name`); 2321 throw new core.ArgumentError(`"${name}" is not a valid (qualified) symbol name`);
2322 } 2322 }
2323 static isValidSymbol(name) { 2323 static isValidSymbol(name) {
2324 return dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.symbolPatt ern.hasMatch(name)); 2324 return dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.symbolPatt ern.hasMatch(name));
2325 } 2325 }
2326 } 2326 }
2327 Symbol[dart.implements] = () => [core.Symbol]; 2327 Symbol[dart.implements] = () => [core.Symbol];
2328 dart.defineNamedConstructor(Symbol, 'unvalidated'); 2328 dart.defineNamedConstructor(Symbol, 'unvalidated');
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
2421 exports.ReversedListIterable = ReversedListIterable; 2421 exports.ReversedListIterable = ReversedListIterable;
2422 exports.UnmodifiableListError = UnmodifiableListError; 2422 exports.UnmodifiableListError = UnmodifiableListError;
2423 exports.NonGrowableListError = NonGrowableListError; 2423 exports.NonGrowableListError = NonGrowableListError;
2424 exports.makeListFixedLength = makeListFixedLength; 2424 exports.makeListFixedLength = makeListFixedLength;
2425 exports.Lists = Lists; 2425 exports.Lists = Lists;
2426 exports.printToConsole = printToConsole; 2426 exports.printToConsole = printToConsole;
2427 exports.Sort = Sort; 2427 exports.Sort = Sort;
2428 exports.Symbol = Symbol; 2428 exports.Symbol = Symbol;
2429 exports.POWERS_OF_TEN = POWERS_OF_TEN; 2429 exports.POWERS_OF_TEN = POWERS_OF_TEN;
2430 })(_internal, core, collection, math, _interceptors, _js_primitives); 2430 })(_internal, core, collection, math, _interceptors, _js_primitives);
OLDNEW
« no previous file with comments | « lib/runtime/dart/_interceptors.js ('k') | lib/runtime/dart/_isolate_helper.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698