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

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

Issue 1126713002: fixes #130, accept anything with `iterator` in for loops (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: fix iterator Created 5 years, 7 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 | « no previous file | lib/runtime/dart/core.js » ('j') | lib/src/codegen/js_codegen.dart » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var collection; 1 var collection;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 let _source = Symbol('_source'); 4 let _source = Symbol('_source');
5 let UnmodifiableListView$ = dart.generic(function(E) { 5 let UnmodifiableListView$ = dart.generic(function(E) {
6 class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) { 6 class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) {
7 UnmodifiableListView(source) { 7 UnmodifiableListView(source) {
8 this[_source] = source; 8 this[_source] = source;
9 } 9 }
10 get [core.$length]() { 10 get [core.$length]() {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 }); 102 });
103 let __CastType0 = __CastType0$(); 103 let __CastType0 = __CastType0$();
104 let __CastType2$ = dart.generic(function(K) { 104 let __CastType2$ = dart.generic(function(K) {
105 let __CastType2 = dart.typedef('__CastType2', () => dart.functionType(core.b ool, [K, K])); 105 let __CastType2 = dart.typedef('__CastType2', () => dart.functionType(core.b ool, [K, K]));
106 return __CastType2; 106 return __CastType2;
107 }); 107 });
108 let __CastType2 = __CastType2$(); 108 let __CastType2 = __CastType2$();
109 let _newSet = Symbol('_newSet'); 109 let _newSet = Symbol('_newSet');
110 let SetMixin$ = dart.generic(function(E) { 110 let SetMixin$ = dart.generic(function(E) {
111 class SetMixin extends core.Object { 111 class SetMixin extends core.Object {
112 [Symbol.iterator]() {
113 return new dart.JsIterator(this[core.$iterator]);
114 }
112 get [core.$isEmpty]() { 115 get [core.$isEmpty]() {
113 return this[core.$length] == 0; 116 return this[core.$length] == 0;
114 } 117 }
115 get [core.$isNotEmpty]() { 118 get [core.$isNotEmpty]() {
116 return this[core.$length] != 0; 119 return this[core.$length] != 0;
117 } 120 }
118 clear() { 121 clear() {
119 this.removeAll(this[core.$toList]()); 122 this.removeAll(this[core.$toList]());
120 } 123 }
121 addAll(elements) { 124 addAll(elements) {
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 } 450 }
448 identity() { 451 identity() {
449 return new (_IdentityHashSet$(E))(); 452 return new (_IdentityHashSet$(E))();
450 } 453 }
451 from(elements) { 454 from(elements) {
452 let result = new (HashSet$(E))(); 455 let result = new (HashSet$(E))();
453 for (let e of dart.as(elements, core.Iterable$(E))) 456 for (let e of dart.as(elements, core.Iterable$(E)))
454 result.add(e); 457 result.add(e);
455 return result; 458 return result;
456 } 459 }
460 [Symbol.iterator]() {
461 return new dart.JsIterator(this[core.$iterator]);
462 }
457 } 463 }
458 HashSet[dart.implements] = () => [core.Set$(E)]; 464 HashSet[dart.implements] = () => [core.Set$(E)];
459 dart.defineNamedConstructor(HashSet, 'identity'); 465 dart.defineNamedConstructor(HashSet, 'identity');
460 dart.defineNamedConstructor(HashSet, 'from'); 466 dart.defineNamedConstructor(HashSet, 'from');
461 return HashSet; 467 return HashSet;
462 }); 468 });
463 let HashSet = HashSet$(); 469 let HashSet = HashSet$();
464 let __CastType5$ = dart.generic(function(E) { 470 let __CastType5$ = dart.generic(function(E) {
465 let __CastType5 = dart.typedef('__CastType5', () => dart.functionType(core.i nt, [E])); 471 let __CastType5 = dart.typedef('__CastType5', () => dart.functionType(core.i nt, [E]));
466 return __CastType5; 472 return __CastType5;
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 for (let element of this) { 676 for (let element of this) {
671 if (index == elementIndex) 677 if (index == elementIndex)
672 return element; 678 return element;
673 elementIndex = dart.notNull(elementIndex) + 1; 679 elementIndex = dart.notNull(elementIndex) + 1;
674 } 680 }
675 throw new core.RangeError.index(index, this, "index", null, elementIndex ); 681 throw new core.RangeError.index(index, this, "index", null, elementIndex );
676 } 682 }
677 toString() { 683 toString() {
678 return IterableBase.iterableToShortString(this, '(', ')'); 684 return IterableBase.iterableToShortString(this, '(', ')');
679 } 685 }
686 [Symbol.iterator]() {
687 return new dart.JsIterator(this[core.$iterator]);
688 }
680 } 689 }
681 IterableMixin[dart.implements] = () => [core.Iterable$(E)]; 690 IterableMixin[dart.implements] = () => [core.Iterable$(E)];
682 return IterableMixin; 691 return IterableMixin;
683 }); 692 });
684 let IterableMixin = IterableMixin$(); 693 let IterableMixin = IterableMixin$();
685 let IterableBase$ = dart.generic(function(E) { 694 let IterableBase$ = dart.generic(function(E) {
686 class IterableBase extends core.Object { 695 class IterableBase extends core.Object {
687 IterableBase() { 696 IterableBase() {
688 } 697 }
689 [core.$map](f) { 698 [core.$map](f) {
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 elision = "..."; 1022 elision = "...";
1014 length = dart.notNull(length) + (dart.notNull(ELLIPSIS_SIZE) + dart. notNull(OVERHEAD)); 1023 length = dart.notNull(length) + (dart.notNull(ELLIPSIS_SIZE) + dart. notNull(OVERHEAD));
1015 } 1024 }
1016 } 1025 }
1017 if (elision != null) { 1026 if (elision != null) {
1018 parts[core.$add](elision); 1027 parts[core.$add](elision);
1019 } 1028 }
1020 parts[core.$add](penultimateString); 1029 parts[core.$add](penultimateString);
1021 parts[core.$add](ultimateString); 1030 parts[core.$add](ultimateString);
1022 } 1031 }
1032 [Symbol.iterator]() {
1033 return new dart.JsIterator(this[core.$iterator]);
1034 }
1023 } 1035 }
1024 IterableBase[dart.implements] = () => [core.Iterable$(E)]; 1036 IterableBase[dart.implements] = () => [core.Iterable$(E)];
1025 dart.defineLazyProperties(IterableBase, { 1037 dart.defineLazyProperties(IterableBase, {
1026 get _toStringVisiting() { 1038 get _toStringVisiting() {
1027 return []; 1039 return [];
1028 } 1040 }
1029 }); 1041 });
1030 return IterableBase; 1042 return IterableBase;
1031 }); 1043 });
1032 let IterableBase = IterableBase$(); 1044 let IterableBase = IterableBase$();
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 identity() { 1190 identity() {
1179 return new (_LinkedIdentityHashSet$(E))(); 1191 return new (_LinkedIdentityHashSet$(E))();
1180 } 1192 }
1181 from(elements) { 1193 from(elements) {
1182 let result = new (LinkedHashSet$(E))(); 1194 let result = new (LinkedHashSet$(E))();
1183 for (let element of elements) { 1195 for (let element of elements) {
1184 result.add(element); 1196 result.add(element);
1185 } 1197 }
1186 return result; 1198 return result;
1187 } 1199 }
1200 [Symbol.iterator]() {
1201 return new dart.JsIterator(this[core.$iterator]);
1202 }
1188 } 1203 }
1189 LinkedHashSet[dart.implements] = () => [HashSet$(E)]; 1204 LinkedHashSet[dart.implements] = () => [HashSet$(E)];
1190 dart.defineNamedConstructor(LinkedHashSet, 'identity'); 1205 dart.defineNamedConstructor(LinkedHashSet, 'identity');
1191 dart.defineNamedConstructor(LinkedHashSet, 'from'); 1206 dart.defineNamedConstructor(LinkedHashSet, 'from');
1192 return LinkedHashSet; 1207 return LinkedHashSet;
1193 }); 1208 });
1194 let LinkedHashSet = LinkedHashSet$(); 1209 let LinkedHashSet = LinkedHashSet$();
1195 let __CastType15$ = dart.generic(function(E) { 1210 let __CastType15$ = dart.generic(function(E) {
1196 let __CastType15 = dart.typedef('__CastType15', () => dart.functionType(core .int, [E])); 1211 let __CastType15 = dart.typedef('__CastType15', () => dart.functionType(core .int, [E]));
1197 return __CastType15; 1212 return __CastType15;
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1389 } 1404 }
1390 LinkedListEntry[dart.implements] = () => [_LinkedListLink]; 1405 LinkedListEntry[dart.implements] = () => [_LinkedListLink];
1391 return LinkedListEntry; 1406 return LinkedListEntry;
1392 }); 1407 });
1393 let LinkedListEntry = LinkedListEntry$(); 1408 let LinkedListEntry = LinkedListEntry$();
1394 let ListMixin$ = dart.generic(function(E) { 1409 let ListMixin$ = dart.generic(function(E) {
1395 class ListMixin extends core.Object { 1410 class ListMixin extends core.Object {
1396 get [core.$iterator]() { 1411 get [core.$iterator]() {
1397 return new (_internal.ListIterator$(E))(this); 1412 return new (_internal.ListIterator$(E))(this);
1398 } 1413 }
1414 [Symbol.iterator]() {
1415 return new dart.JsIterator(this[core.$iterator]);
1416 }
1399 [core.$elementAt](index) { 1417 [core.$elementAt](index) {
1400 return this[core.$get](index); 1418 return this[core.$get](index);
1401 } 1419 }
1402 [core.$forEach](action) { 1420 [core.$forEach](action) {
1403 dart.as(action, dart.functionType(dart.void, [E])); 1421 dart.as(action, dart.functionType(dart.void, [E]));
1404 let length = this[core.$length]; 1422 let length = this[core.$length];
1405 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1423 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1406 action(this[core.$get](i)); 1424 action(this[core.$get](i));
1407 if (length != this[core.$length]) { 1425 if (length != this[core.$length]) {
1408 throw new core.ConcurrentModificationError(this); 1426 throw new core.ConcurrentModificationError(this);
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
2205 } 2223 }
2206 } 2224 }
2207 let Queue$ = dart.generic(function(E) { 2225 let Queue$ = dart.generic(function(E) {
2208 class Queue extends core.Object { 2226 class Queue extends core.Object {
2209 Queue() { 2227 Queue() {
2210 return new (ListQueue$(E))(); 2228 return new (ListQueue$(E))();
2211 } 2229 }
2212 from(elements) { 2230 from(elements) {
2213 return new ListQueue$(E).from(elements); 2231 return new ListQueue$(E).from(elements);
2214 } 2232 }
2233 [Symbol.iterator]() {
2234 return new dart.JsIterator(this[core.$iterator]);
2235 }
2215 } 2236 }
2216 Queue[dart.implements] = () => [core.Iterable$(E), _internal.EfficientLength ]; 2237 Queue[dart.implements] = () => [core.Iterable$(E), _internal.EfficientLength ];
2217 dart.defineNamedConstructor(Queue, 'from'); 2238 dart.defineNamedConstructor(Queue, 'from');
2218 return Queue; 2239 return Queue;
2219 }); 2240 });
2220 let Queue = Queue$(); 2241 let Queue = Queue$();
2221 let _element = Symbol('_element'); 2242 let _element = Symbol('_element');
2222 let _link = Symbol('_link'); 2243 let _link = Symbol('_link');
2223 let _asNonSentinelEntry = Symbol('_asNonSentinelEntry'); 2244 let _asNonSentinelEntry = Symbol('_asNonSentinelEntry');
2224 let DoubleLinkedQueueEntry$ = dart.generic(function(E) { 2245 let DoubleLinkedQueueEntry$ = dart.generic(function(E) {
(...skipping 2954 matching lines...) Expand 10 before | Expand all | Expand 10 after
5179 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; 5200 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$;
5180 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; 5201 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable;
5181 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; 5202 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$;
5182 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; 5203 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator;
5183 exports.HashSetIterator$ = HashSetIterator$; 5204 exports.HashSetIterator$ = HashSetIterator$;
5184 exports.HashSetIterator = HashSetIterator; 5205 exports.HashSetIterator = HashSetIterator;
5185 exports.LinkedHashSetCell = LinkedHashSetCell; 5206 exports.LinkedHashSetCell = LinkedHashSetCell;
5186 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; 5207 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$;
5187 exports.LinkedHashSetIterator = LinkedHashSetIterator; 5208 exports.LinkedHashSetIterator = LinkedHashSetIterator;
5188 })(collection || (collection = {})); 5209 })(collection || (collection = {}));
OLDNEW
« no previous file with comments | « no previous file | lib/runtime/dart/core.js » ('j') | lib/src/codegen/js_codegen.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698