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

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

Issue 1050703002: Downwards closure inference (Closed) Base URL: git@github.com:dart-lang/dart-dev-compiler.git@master
Patch Set: Address comments Created 5 years, 8 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/src/checker/rules.dart » ('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 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 super.UnmodifiableListBase(); 9 super.UnmodifiableListBase();
10 } 10 }
(...skipping 1122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 super.IterableBase(); 1133 super.IterableBase();
1134 this[_next] = this[_previous] = this; 1134 this[_next] = this[_previous] = this;
1135 } 1135 }
1136 addFirst(entry) { 1136 addFirst(entry) {
1137 this[_insertAfter](this, entry); 1137 this[_insertAfter](this, entry);
1138 } 1138 }
1139 add(entry) { 1139 add(entry) {
1140 this[_insertAfter](this[_previous], entry); 1140 this[_insertAfter](this[_previous], entry);
1141 } 1141 }
1142 addAll(entries) { 1142 addAll(entries) {
1143 entries.forEach(dart.closureWrap(((entry) => this[_insertAfter](this[_pr evious], dart.as(entry, E))).bind(this), "(E) → void")); 1143 entries.forEach(dart.as(((entry) => this[_insertAfter](this[_previous], dart.as(entry, E))).bind(this), dart.throw_("Unimplemented type (E) → void")));
1144 } 1144 }
1145 remove(entry) { 1145 remove(entry) {
1146 if (!dart.equals(entry[_list], this)) 1146 if (!dart.equals(entry[_list], this))
1147 return false; 1147 return false;
1148 this[_unlink](entry); 1148 this[_unlink](entry);
1149 return true; 1149 return true;
1150 } 1150 }
1151 get iterator() { 1151 get iterator() {
1152 return new (_LinkedListIterator$(E))(this); 1152 return new (_LinkedListIterator$(E))(this);
1153 } 1153 }
(...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after
3367 get isEmpty() { 3367 get isEmpty() {
3368 return this[_length] == 0; 3368 return this[_length] == 0;
3369 } 3369 }
3370 get isNotEmpty() { 3370 get isNotEmpty() {
3371 return !dart.notNull(this.isEmpty); 3371 return !dart.notNull(this.isEmpty);
3372 } 3372 }
3373 get keys() { 3373 get keys() {
3374 return new (HashMapKeyIterable$(K))(this); 3374 return new (HashMapKeyIterable$(K))(this);
3375 } 3375 }
3376 get values() { 3376 get values() {
3377 return new (_internal.MappedIterable$(K, V))(this.keys, dart.closureWrap (((each) => this.get(each)).bind(this), "(K) → V")); 3377 return new (_internal.MappedIterable$(K, V))(this.keys, dart.as(((each) => this.get(each)).bind(this), dart.throw_("Unimplemented type (K) → V")));
3378 } 3378 }
3379 containsKey(key) { 3379 containsKey(key) {
3380 if (_HashMap[_isStringKey](key)) { 3380 if (_HashMap[_isStringKey](key)) {
3381 let strings = this[_strings]; 3381 let strings = this[_strings];
3382 return strings == null ? false : _HashMap[_hasTableEntry](strings, key ); 3382 return strings == null ? false : _HashMap[_hasTableEntry](strings, key );
3383 } else if (_HashMap[_isNumericKey](key)) { 3383 } else if (_HashMap[_isNumericKey](key)) {
3384 let nums = this[_nums]; 3384 let nums = this[_nums];
3385 return nums == null ? false : _HashMap[_hasTableEntry](nums, key); 3385 return nums == null ? false : _HashMap[_hasTableEntry](nums, key);
3386 } else { 3386 } else {
3387 return this[_containsKey](key); 3387 return this[_containsKey](key);
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
3768 get isEmpty() { 3768 get isEmpty() {
3769 return this[_length] == 0; 3769 return this[_length] == 0;
3770 } 3770 }
3771 get isNotEmpty() { 3771 get isNotEmpty() {
3772 return !dart.notNull(this.isEmpty); 3772 return !dart.notNull(this.isEmpty);
3773 } 3773 }
3774 get keys() { 3774 get keys() {
3775 return new (LinkedHashMapKeyIterable$(K))(this); 3775 return new (LinkedHashMapKeyIterable$(K))(this);
3776 } 3776 }
3777 get values() { 3777 get values() {
3778 return new (_internal.MappedIterable$(K, V))(this.keys, dart.closureWrap (((each) => this.get(each)).bind(this), "(K) → V")); 3778 return new (_internal.MappedIterable$(K, V))(this.keys, dart.as(((each) => this.get(each)).bind(this), dart.throw_("Unimplemented type (K) → V")));
3779 } 3779 }
3780 containsKey(key) { 3780 containsKey(key) {
3781 if (_LinkedHashMap[_isStringKey](key)) { 3781 if (_LinkedHashMap[_isStringKey](key)) {
3782 let strings = this[_strings]; 3782 let strings = this[_strings];
3783 if (strings == null) 3783 if (strings == null)
3784 return false; 3784 return false;
3785 let cell = dart.as(_LinkedHashMap[_getTableEntry](strings, key), Linke dHashMapCell); 3785 let cell = dart.as(_LinkedHashMap[_getTableEntry](strings, key), Linke dHashMapCell);
3786 return cell != null; 3786 return cell != null;
3787 } else if (_LinkedHashMap[_isNumericKey](key)) { 3787 } else if (_LinkedHashMap[_isNumericKey](key)) {
3788 let nums = this[_nums]; 3788 let nums = this[_nums];
3789 if (nums == null) 3789 if (nums == null)
3790 return false; 3790 return false;
3791 let cell = dart.as(_LinkedHashMap[_getTableEntry](nums, key), LinkedHa shMapCell); 3791 let cell = dart.as(_LinkedHashMap[_getTableEntry](nums, key), LinkedHa shMapCell);
3792 return cell != null; 3792 return cell != null;
3793 } else { 3793 } else {
3794 return this[_containsKey](key); 3794 return this[_containsKey](key);
3795 } 3795 }
3796 } 3796 }
3797 [_containsKey](key) { 3797 [_containsKey](key) {
3798 let rest = this[_rest]; 3798 let rest = this[_rest];
3799 if (rest == null) 3799 if (rest == null)
3800 return false; 3800 return false;
3801 let bucket = this[_getBucket](rest, key); 3801 let bucket = this[_getBucket](rest, key);
3802 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; 3802 return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0;
3803 } 3803 }
3804 containsValue(value) { 3804 containsValue(value) {
3805 return this.keys.any(dart.closureWrap(((each) => dart.equals(this.get(ea ch), value)).bind(this), "(K) → bool")); 3805 return this.keys.any(dart.as(((each) => dart.equals(this.get(each), valu e)).bind(this), dart.throw_("Unimplemented type (K) → bool")));
3806 } 3806 }
3807 addAll(other) { 3807 addAll(other) {
3808 other.forEach(((key, value) => { 3808 other.forEach(((key, value) => {
3809 this.set(key, value); 3809 this.set(key, value);
3810 }).bind(this)); 3810 }).bind(this));
3811 } 3811 }
3812 get(key) { 3812 get(key) {
3813 if (_LinkedHashMap[_isStringKey](key)) { 3813 if (_LinkedHashMap[_isStringKey](key)) {
3814 let strings = this[_strings]; 3814 let strings = this[_strings];
3815 if (strings == null) 3815 if (strings == null)
(...skipping 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after
4943 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$; 4943 exports.LinkedHashMapKeyIterable$ = LinkedHashMapKeyIterable$;
4944 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable; 4944 exports.LinkedHashMapKeyIterable = LinkedHashMapKeyIterable;
4945 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$; 4945 exports.LinkedHashMapKeyIterator$ = LinkedHashMapKeyIterator$;
4946 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator; 4946 exports.LinkedHashMapKeyIterator = LinkedHashMapKeyIterator;
4947 exports.HashSetIterator$ = HashSetIterator$; 4947 exports.HashSetIterator$ = HashSetIterator$;
4948 exports.HashSetIterator = HashSetIterator; 4948 exports.HashSetIterator = HashSetIterator;
4949 exports.LinkedHashSetCell = LinkedHashSetCell; 4949 exports.LinkedHashSetCell = LinkedHashSetCell;
4950 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$; 4950 exports.LinkedHashSetIterator$ = LinkedHashSetIterator$;
4951 exports.LinkedHashSetIterator = LinkedHashSetIterator; 4951 exports.LinkedHashSetIterator = LinkedHashSetIterator;
4952 })(collection || (collection = {})); 4952 })(collection || (collection = {}));
OLDNEW
« no previous file with comments | « no previous file | lib/src/checker/rules.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698