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

Unified Diff: test/codegen/expect/collection/collection.js

Issue 962083002: support the JS builtin (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/codegen/expect/async/async.js ('k') | test/codegen/expect/convert/convert.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/codegen/expect/collection/collection.js
diff --git a/test/codegen/expect/collection/collection.js b/test/codegen/expect/collection/collection.js
index 81c2942e50e42482275460f5fc8e750361d2df6d..35efacabc103eb336ea26d4278a1925d1936014f 100644
--- a/test/codegen/expect/collection/collection.js
+++ b/test/codegen/expect/collection/collection.js
@@ -68,7 +68,7 @@ var collection;
return dart.as(null, V);
let bucket = this._getBucket(rest, key);
let index = this._findBucketIndex(bucket, key);
- return dart.as(index < 0 ? null : _foreign_helper.JS('var', '#[#]', bucket, index + 1), V);
+ return dart.as(index < 0 ? null : bucket[index + 1], V);
}
set(key, value) {
if (_isStringKey(key)) {
@@ -90,17 +90,17 @@ var collection;
if (rest === null)
this._rest = rest = _newHashTable();
let hash = this._computeHashCode(key);
- let bucket = _foreign_helper.JS('var', '#[#]', rest, hash);
+ let bucket = rest[hash];
if (bucket === null) {
- _setTableEntry(rest, hash, _foreign_helper.JS('var', '[#, #]', key, value));
+ _setTableEntry(rest, hash, [key, value]);
this._length++;
this._keys = null;
} else {
let index = this._findBucketIndex(bucket, key);
if (index >= 0) {
- _foreign_helper.JS('void', '#[#] = #', bucket, index + 1, value);
+ bucket[index + 1] = value;
} else {
- _foreign_helper.JS('void', '#.push(#, #)', bucket, key, value);
+ bucket.push(key, value);
this._length++;
this._keys = null;
}
@@ -132,7 +132,7 @@ var collection;
return dart.as(null, V);
this._length--;
this._keys = null;
- return dart.as(_foreign_helper.JS('var', '#.splice(#, 2)[1]', bucket, index), V);
+ return dart.as(bucket.splice(index, 2)[1], V);
}
clear() {
if (this._length > 0) {
@@ -143,9 +143,9 @@ var collection;
forEach(action) {
let keys = this._computeKeys();
for (let i = 0, length = keys.length; i < length; i++) {
- let key = _foreign_helper.JS('var', '#[#]', keys, i);
+ let key = keys[i];
action(dart.as(key, K), this.get(key));
- if (_foreign_helper.JS('bool', '# !== #', keys, this._keys)) {
+ if (keys !== this._keys) {
throw new core.ConcurrentModificationError(this);
}
}
@@ -157,35 +157,35 @@ var collection;
let index = 0;
let strings = this._strings;
if (strings !== null) {
- let names = _foreign_helper.JS('var', 'Object.getOwnPropertyNames(#)', strings);
- let entries = dart.as(_foreign_helper.JS('int', '#.length', names), core.int);
+ let names = Object.getOwnPropertyNames(strings);
+ let entries = names.length;
for (let i = 0; i < entries; i++) {
- let key = dart.as(_foreign_helper.JS('String', '#[#]', names, i), core.String);
- _foreign_helper.JS('void', '#[#] = #', result, index, key);
+ let key = names[i];
+ result[index] = key;
index++;
}
}
let nums = this._nums;
if (nums !== null) {
- let names = _foreign_helper.JS('var', 'Object.getOwnPropertyNames(#)', nums);
- let entries = dart.as(_foreign_helper.JS('int', '#.length', names), core.int);
+ let names = Object.getOwnPropertyNames(nums);
+ let entries = names.length;
for (let i = 0; i < entries; i++) {
- let key = dart.as(_foreign_helper.JS('num', '+#[#]', names, i), core.num);
- _foreign_helper.JS('void', '#[#] = #', result, index, key);
+ let key = +names[i];
+ result[index] = key;
index++;
}
}
let rest = this._rest;
if (rest !== null) {
- let names = _foreign_helper.JS('var', 'Object.getOwnPropertyNames(#)', rest);
- let entries = dart.as(_foreign_helper.JS('int', '#.length', names), core.int);
+ let names = Object.getOwnPropertyNames(rest);
+ let entries = names.length;
for (let i = 0; i < entries; i++) {
- let key = _foreign_helper.JS('String', '#[#]', names, i);
- let bucket = _foreign_helper.JS('var', '#[#]', rest, key);
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let key = names[i];
+ let bucket = rest[key];
+ let length = bucket.length;
for (let i = 0; i < length; i = 2) {
- let key = _foreign_helper.JS('var', '#[#]', bucket, i);
- _foreign_helper.JS('void', '#[#] = #', result, index, key);
+ let key = bucket[i];
+ result[index] = key;
index++;
}
}
@@ -215,45 +215,45 @@ var collection;
return dart.notNull(typeof key == string) && dart.notNull(!dart.equals(key, '__proto__'));
}
static _isNumericKey(key) {
- return core.bool['&&'](dart.is(key, core.num), _foreign_helper.JS('bool', '(# & 0x3ffffff) === #', key, key));
+ return dart.notNull(dart.is(key, core.num)) && dart.notNull((key & 0x3ffffff) === key);
}
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', dart.dload(key, 'hashCode')), core.int);
+ return dart.dload(key, 'hashCode') & 0x3ffffff;
}
static _hasTableEntry(table, key) {
- let entry = _foreign_helper.JS('var', '#[#]', table, key);
+ let entry = table[key];
return entry !== null;
}
static _getTableEntry(table, key) {
- let entry = _foreign_helper.JS('var', '#[#]', table, key);
- return _foreign_helper.JS('bool', '# === #', entry, table) ? null : entry;
+ let entry = table[key];
+ return entry === table ? null : entry;
}
static _setTableEntry(table, key, value) {
if (value === null) {
- _foreign_helper.JS('void', '#[#] = #', table, key, table);
+ table[key] = table;
} else {
- _foreign_helper.JS('void', '#[#] = #', table, key, value);
+ table[key] = value;
}
}
static _deleteTableEntry(table, key) {
- _foreign_helper.JS('void', 'delete #[#]', table, key);
+ delete table[key];
}
_getBucket(table, key) {
let hash = this._computeHashCode(key);
- return dart.as(_foreign_helper.JS('var', '#[#]', table, hash), core.List);
+ return dart.as(table[hash], core.List);
}
_findBucketIndex(bucket, key) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i = 2) {
- if (dart.equals(_foreign_helper.JS('var', '#[#]', bucket, i), key))
+ if (dart.equals(bucket[i], key))
return i;
}
return -1;
}
static _newHashTable() {
- let table = _foreign_helper.JS('var', 'Object.create(null)');
+ let table = Object.create(null);
let temporaryKey = '<non-identifier-key>';
_setTableEntry(table, temporaryKey, table);
_deleteTableEntry(table, temporaryKey);
@@ -266,14 +266,14 @@ var collection;
let _IdentityHashMap$ = dart.generic(function(K, V) {
class _IdentityHashMap extends _HashMap$(K, V) {
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', core.identityHashCode(key)), core.int);
+ return core.identityHashCode(key) & 0x3ffffff;
}
_findBucketIndex(bucket, key) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i = 2) {
- if (core.identical(_foreign_helper.JS('var', '#[#]', bucket, i), key))
+ if (core.identical(bucket[i], key))
return i;
}
return -1;
@@ -309,14 +309,14 @@ var collection;
return super._remove(key);
}
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', this._hashCode(dart.as(key, K))), core.int);
+ return this._hashCode(dart.as(key, K)) & 0x3ffffff;
}
_findBucketIndex(bucket, key) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i = 2) {
- if (this._equals(dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), K), dart.as(key, K)))
+ if (this._equals(dart.as(bucket[i], K), dart.as(key, K)))
return i;
}
return -1;
@@ -348,9 +348,9 @@ var collection;
}
forEach(f) {
let keys = dart.as(dart.dinvoke(this._map, '_computeKeys'), core.List);
- for (let i = 0, length = dart.as(_foreign_helper.JS('int', '#.length', keys), core.int); i < length; i++) {
- f(dart.as(_foreign_helper.JS('var', '#[#]', keys, i), E));
- if (_foreign_helper.JS('bool', '# !== #', keys, dart.dload(this._map, '_keys'))) {
+ for (let i = 0, length = keys.length; i < length; i++) {
+ f(dart.as(keys[i], E));
+ if (keys !== dart.dload(this._map, '_keys')) {
throw new core.ConcurrentModificationError(this._map);
}
}
@@ -373,14 +373,14 @@ var collection;
moveNext() {
let keys = this._keys;
let offset = this._offset;
- if (_foreign_helper.JS('bool', '# !== #', keys, dart.dload(this._map, '_keys'))) {
+ if (keys !== dart.dload(this._map, '_keys')) {
throw new core.ConcurrentModificationError(this._map);
- } else if (offset['>='](_foreign_helper.JS('int', '#.length', keys))) {
+ } else if (offset >= keys.length) {
this._current = dart.as(null, E);
return false;
} else {
- this._current = dart.as(_foreign_helper.JS('var', '#[#]', keys, offset), E);
- this._offset = dart.as(_foreign_helper.JS('int', '#', offset + 1), core.int);
+ this._current = dart.as(keys[offset], E);
+ this._offset = offset + 1;
return true;
}
}
@@ -471,7 +471,7 @@ var collection;
let index = this._findBucketIndex(bucket, key);
if (index < 0)
return dart.as(null, V);
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, index), LinkedHashMapCell);
+ let cell = dart.as(bucket[index], LinkedHashMapCell);
return dart.as(cell._value, V);
}
set(key, value) {
@@ -494,18 +494,18 @@ var collection;
if (rest === null)
this._rest = rest = _newHashTable();
let hash = this._computeHashCode(key);
- let bucket = _foreign_helper.JS('var', '#[#]', rest, hash);
+ let bucket = rest[hash];
if (bucket === null) {
let cell = this._newLinkedCell(key, value);
- _setTableEntry(rest, hash, _foreign_helper.JS('var', '[#]', cell));
+ _setTableEntry(rest, hash, [cell]);
} else {
let index = this._findBucketIndex(bucket, key);
if (index >= 0) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, index), LinkedHashMapCell);
+ let cell = dart.as(bucket[index], LinkedHashMapCell);
cell._value = value;
} else {
let cell = this._newLinkedCell(key, value);
- _foreign_helper.JS('void', '#.push(#)', bucket, cell);
+ bucket.push(cell);
}
}
}
@@ -533,7 +533,7 @@ var collection;
let index = this._findBucketIndex(bucket, key);
if (index < 0)
return dart.as(null, V);
- let cell = dart.as(_foreign_helper.JS('var', '#.splice(#, 1)[0]', bucket, index), LinkedHashMapCell);
+ let cell = dart.as(bucket.splice(index, 1)[0], LinkedHashMapCell);
this._unlinkCell(cell);
return dart.as(cell._value, V);
}
@@ -611,38 +611,38 @@ var collection;
return dart.notNull(typeof key == string) && dart.notNull(!dart.equals(key, '__proto__'));
}
static _isNumericKey(key) {
- return core.bool['&&'](dart.is(key, core.num), _foreign_helper.JS('bool', '(# & 0x3ffffff) === #', key, key));
+ return dart.notNull(dart.is(key, core.num)) && dart.notNull((key & 0x3ffffff) === key);
}
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', dart.dload(key, 'hashCode')), core.int);
+ return dart.dload(key, 'hashCode') & 0x3ffffff;
}
static _getTableEntry(table, key) {
- return _foreign_helper.JS('var', '#[#]', table, key);
+ return table[key];
}
static _setTableEntry(table, key, value) {
dart.assert(value !== null);
- _foreign_helper.JS('void', '#[#] = #', table, key, value);
+ table[key] = value;
}
static _deleteTableEntry(table, key) {
- _foreign_helper.JS('void', 'delete #[#]', table, key);
+ delete table[key];
}
_getBucket(table, key) {
let hash = this._computeHashCode(key);
- return dart.as(_foreign_helper.JS('var', '#[#]', table, hash), core.List);
+ return dart.as(table[hash], core.List);
}
_findBucketIndex(bucket, key) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), LinkedHashMapCell);
+ let cell = dart.as(bucket[i], LinkedHashMapCell);
if (dart.equals(cell._key, key))
return i;
}
return -1;
}
static _newHashTable() {
- let table = _foreign_helper.JS('var', 'Object.create(null)');
+ let table = Object.create(null);
let temporaryKey = '<non-identifier-key>';
_setTableEntry(table, temporaryKey, table);
_deleteTableEntry(table, temporaryKey);
@@ -658,14 +658,14 @@ var collection;
let _LinkedIdentityHashMap$ = dart.generic(function(K, V) {
class _LinkedIdentityHashMap extends _LinkedHashMap$(K, V) {
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', core.identityHashCode(key)), core.int);
+ return core.identityHashCode(key) & 0x3ffffff;
}
_findBucketIndex(bucket, key) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), LinkedHashMapCell);
+ let cell = dart.as(bucket[i], LinkedHashMapCell);
if (core.identical(cell._key, key))
return i;
}
@@ -702,14 +702,14 @@ var collection;
return super._remove(key);
}
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', this._hashCode(dart.as(key, K))), core.int);
+ return this._hashCode(dart.as(key, K)) & 0x3ffffff;
}
_findBucketIndex(bucket, key) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), LinkedHashMapCell);
+ let cell = dart.as(bucket[i], LinkedHashMapCell);
if (this._equals(dart.as(cell._key, K), dart.as(key, K)))
return i;
}
@@ -867,14 +867,14 @@ var collection;
if (rest === null)
this._rest = rest = _newHashTable();
let hash = this._computeHashCode(element);
- let bucket = _foreign_helper.JS('var', '#[#]', rest, hash);
+ let bucket = rest[hash];
if (bucket === null) {
- _setTableEntry(rest, hash, _foreign_helper.JS('var', '[#]', element));
+ _setTableEntry(rest, hash, [element]);
} else {
let index = this._findBucketIndex(bucket, element);
if (index >= 0)
return false;
- _foreign_helper.JS('void', '#.push(#)', bucket, element);
+ bucket.push(element);
}
this._length++;
this._elements = null;
@@ -904,7 +904,7 @@ var collection;
return false;
this._length--;
this._elements = null;
- _foreign_helper.JS('void', '#.splice(#, 1)', bucket, index);
+ bucket.splice(index, 1);
return true;
}
clear() {
@@ -920,34 +920,34 @@ var collection;
let index = 0;
let strings = this._strings;
if (strings !== null) {
- let names = _foreign_helper.JS('var', 'Object.getOwnPropertyNames(#)', strings);
- let entries = dart.as(_foreign_helper.JS('int', '#.length', names), core.int);
+ let names = Object.getOwnPropertyNames(strings);
+ let entries = names.length;
for (let i = 0; i < entries; i++) {
- let element = dart.as(_foreign_helper.JS('String', '#[#]', names, i), core.String);
- _foreign_helper.JS('void', '#[#] = #', result, index, element);
+ let element = names[i];
+ result[index] = element;
index++;
}
}
let nums = this._nums;
if (nums !== null) {
- let names = _foreign_helper.JS('var', 'Object.getOwnPropertyNames(#)', nums);
- let entries = dart.as(_foreign_helper.JS('int', '#.length', names), core.int);
+ let names = Object.getOwnPropertyNames(nums);
+ let entries = names.length;
for (let i = 0; i < entries; i++) {
- let element = dart.as(_foreign_helper.JS('num', '+#[#]', names, i), core.num);
- _foreign_helper.JS('void', '#[#] = #', result, index, element);
+ let element = +names[i];
+ result[index] = element;
index++;
}
}
let rest = this._rest;
if (rest !== null) {
- let names = _foreign_helper.JS('var', 'Object.getOwnPropertyNames(#)', rest);
- let entries = dart.as(_foreign_helper.JS('int', '#.length', names), core.int);
+ let names = Object.getOwnPropertyNames(rest);
+ let entries = names.length;
for (let i = 0; i < entries; i++) {
- let entry = _foreign_helper.JS('String', '#[#]', names, i);
- let bucket = _foreign_helper.JS('var', '#[#]', rest, entry);
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let entry = names[i];
+ let bucket = rest[entry];
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- _foreign_helper.JS('void', '#[#] = #[#]', result, index, bucket, i);
+ result[index] = bucket[i];
index++;
}
}
@@ -977,38 +977,38 @@ var collection;
return dart.notNull(typeof element == string) && dart.notNull(!dart.equals(element, '__proto__'));
}
static _isNumericElement(element) {
- return core.bool['&&'](dart.is(element, core.num), _foreign_helper.JS('bool', '(# & 0x3ffffff) === #', element, element));
+ return dart.notNull(dart.is(element, core.num)) && dart.notNull((element & 0x3ffffff) === element);
}
_computeHashCode(element) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', dart.dload(element, 'hashCode')), core.int);
+ return dart.dload(element, 'hashCode') & 0x3ffffff;
}
static _hasTableEntry(table, key) {
- let entry = _foreign_helper.JS('var', '#[#]', table, key);
+ let entry = table[key];
return entry !== null;
}
static _setTableEntry(table, key, value) {
dart.assert(value !== null);
- _foreign_helper.JS('void', '#[#] = #', table, key, value);
+ table[key] = value;
}
static _deleteTableEntry(table, key) {
- _foreign_helper.JS('void', 'delete #[#]', table, key);
+ delete table[key];
}
_getBucket(table, element) {
let hash = this._computeHashCode(element);
- return dart.as(_foreign_helper.JS('var', '#[#]', table, hash), core.List);
+ return dart.as(table[hash], core.List);
}
_findBucketIndex(bucket, element) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- if (dart.equals(_foreign_helper.JS('var', '#[#]', bucket, i), element))
+ if (dart.equals(bucket[i], element))
return i;
}
return -1;
}
static _newHashTable() {
- let table = _foreign_helper.JS('var', 'Object.create(null)');
+ let table = Object.create(null);
let temporaryKey = '<non-identifier-key>';
_setTableEntry(table, temporaryKey, table);
_deleteTableEntry(table, temporaryKey);
@@ -1024,14 +1024,14 @@ var collection;
return new _IdentityHashSet();
}
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', core.identityHashCode(key)), core.int);
+ return core.identityHashCode(key) & 0x3ffffff;
}
_findBucketIndex(bucket, element) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- if (core.identical(_foreign_helper.JS('var', '#[#]', bucket, i), element))
+ if (core.identical(bucket[i], element))
return i;
}
return -1;
@@ -1054,15 +1054,15 @@ var collection;
_findBucketIndex(bucket, element) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- if (this._equality(dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), E), dart.as(element, E)))
+ if (this._equality(dart.as(bucket[i], E), dart.as(element, E)))
return i;
}
return -1;
}
_computeHashCode(element) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', this._hasher(dart.as(element, E))), core.int);
+ return this._hasher(dart.as(element, E)) & 0x3ffffff;
}
add(object) {
return super._add(object);
@@ -1100,14 +1100,14 @@ var collection;
moveNext() {
let elements = this._elements;
let offset = this._offset;
- if (_foreign_helper.JS('bool', '# !== #', elements, dart.dload(this._set, '_elements'))) {
+ if (elements !== dart.dload(this._set, '_elements')) {
throw new core.ConcurrentModificationError(this._set);
- } else if (offset['>='](_foreign_helper.JS('int', '#.length', elements))) {
+ } else if (offset >= elements.length) {
this._current = dart.as(null, E);
return false;
} else {
- this._current = dart.as(_foreign_helper.JS('var', '#[#]', elements, offset), E);
- this._offset = dart.as(_foreign_helper.JS('int', '#', offset + 1), core.int);
+ this._current = dart.as(elements[offset], E);
+ this._offset = offset + 1;
return true;
}
}
@@ -1227,16 +1227,16 @@ var collection;
if (rest === null)
this._rest = rest = _newHashTable();
let hash = this._computeHashCode(element);
- let bucket = _foreign_helper.JS('var', '#[#]', rest, hash);
+ let bucket = rest[hash];
if (bucket === null) {
let cell = this._newLinkedCell(element);
- _setTableEntry(rest, hash, _foreign_helper.JS('var', '[#]', cell));
+ _setTableEntry(rest, hash, [cell]);
} else {
let index = this._findBucketIndex(bucket, element);
if (index >= 0)
return false;
let cell = this._newLinkedCell(element);
- _foreign_helper.JS('void', '#.push(#)', bucket, cell);
+ bucket.push(cell);
}
return true;
}
@@ -1257,7 +1257,7 @@ var collection;
let index = this._findBucketIndex(bucket, object);
if (index < 0)
return false;
- let cell = dart.as(_foreign_helper.JS('var', '#.splice(#, 1)[0]', bucket, index), LinkedHashSetCell);
+ let cell = dart.as(bucket.splice(index, 1)[0], LinkedHashSetCell);
this._unlinkCell(cell);
return true;
}
@@ -1344,38 +1344,38 @@ var collection;
return dart.notNull(typeof element == string) && dart.notNull(!dart.equals(element, '__proto__'));
}
static _isNumericElement(element) {
- return core.bool['&&'](dart.is(element, core.num), _foreign_helper.JS('bool', '(# & 0x3ffffff) === #', element, element));
+ return dart.notNull(dart.is(element, core.num)) && dart.notNull((element & 0x3ffffff) === element);
}
_computeHashCode(element) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', dart.dload(element, 'hashCode')), core.int);
+ return dart.dload(element, 'hashCode') & 0x3ffffff;
}
static _getTableEntry(table, key) {
- return _foreign_helper.JS('var', '#[#]', table, key);
+ return table[key];
}
static _setTableEntry(table, key, value) {
dart.assert(value !== null);
- _foreign_helper.JS('void', '#[#] = #', table, key, value);
+ table[key] = value;
}
static _deleteTableEntry(table, key) {
- _foreign_helper.JS('void', 'delete #[#]', table, key);
+ delete table[key];
}
_getBucket(table, element) {
let hash = this._computeHashCode(element);
- return dart.as(_foreign_helper.JS('var', '#[#]', table, hash), core.List);
+ return dart.as(table[hash], core.List);
}
_findBucketIndex(bucket, element) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), LinkedHashSetCell);
+ let cell = dart.as(bucket[i], LinkedHashSetCell);
if (dart.equals(cell._element, element))
return i;
}
return -1;
}
static _newHashTable() {
- let table = _foreign_helper.JS('var', 'Object.create(null)');
+ let table = Object.create(null);
let temporaryKey = '<non-identifier-key>';
_setTableEntry(table, temporaryKey, table);
_deleteTableEntry(table, temporaryKey);
@@ -1391,14 +1391,14 @@ var collection;
return new _LinkedIdentityHashSet();
}
_computeHashCode(key) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', core.identityHashCode(key)), core.int);
+ return core.identityHashCode(key) & 0x3ffffff;
}
_findBucketIndex(bucket, element) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), LinkedHashSetCell);
+ let cell = dart.as(bucket[i], LinkedHashSetCell);
if (core.identical(cell._element, element))
return i;
}
@@ -1422,16 +1422,16 @@ var collection;
_findBucketIndex(bucket, element) {
if (bucket === null)
return -1;
- let length = dart.as(_foreign_helper.JS('int', '#.length', bucket), core.int);
+ let length = bucket.length;
for (let i = 0; i < length; i++) {
- let cell = dart.as(_foreign_helper.JS('var', '#[#]', bucket, i), LinkedHashSetCell);
+ let cell = dart.as(bucket[i], LinkedHashSetCell);
if (this._equality(dart.as(cell._element, E), dart.as(element, E)))
return i;
}
return -1;
}
_computeHashCode(element) {
- return dart.as(_foreign_helper.JS('int', '# & 0x3ffffff', this._hasher(dart.as(element, E))), core.int);
+ return this._hasher(dart.as(element, E)) & 0x3ffffff;
}
add(element) {
return super._add(element);
« no previous file with comments | « test/codegen/expect/async/async.js ('k') | test/codegen/expect/convert/convert.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698