| Index: lib/runtime/dart/collection.js
|
| diff --git a/lib/runtime/dart/collection.js b/lib/runtime/dart/collection.js
|
| index 8e1ac29b8240c7022a69ead05ee858b5a02c0c1d..6893355f6dccdf78b14d9e13693195330add727e 100644
|
| --- a/lib/runtime/dart/collection.js
|
| +++ b/lib/runtime/dart/collection.js
|
| @@ -82,7 +82,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }
|
| static from(other) {
|
| let result = HashMap$(K, V).new();
|
| - other.forEach(dart.fn((k, v) => {
|
| + other[dartx.forEach](dart.fn((k, v) => {
|
| result.set(dart.as(k, K), dart.as(v, V));
|
| }, dart.void, [dart.dynamic, dart.dynamic]));
|
| return result;
|
| @@ -1242,7 +1242,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }
|
| static from(other) {
|
| let result = LinkedHashMap$(K, V).new();
|
| - other.forEach(dart.fn((k, v) => {
|
| + other[dartx.forEach](dart.fn((k, v) => {
|
| result.set(dart.as(k, K), dart.as(v, V));
|
| }, dart.void, [dart.dynamic, dart.dynamic]));
|
| return result;
|
| @@ -2138,8 +2138,8 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }
|
| addAll(other) {
|
| dart.as(other, core.Map$(K, V));
|
| - for (let key of other.keys) {
|
| - this.set(key, other.get(key));
|
| + for (let key of other[dartx.keys]) {
|
| + this.set(key, other[dartx.get](key));
|
| }
|
| }
|
| containsValue(value) {
|
| @@ -2185,6 +2185,17 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| containsKey: [core.bool, [core.Object]]
|
| })
|
| });
|
| + dart.defineExtensionMembers(MapMixin, [
|
| + 'forEach',
|
| + 'addAll',
|
| + 'containsValue',
|
| + 'putIfAbsent',
|
| + 'containsKey',
|
| + 'length',
|
| + 'isEmpty',
|
| + 'isNotEmpty',
|
| + 'values'
|
| + ]);
|
| return MapMixin;
|
| });
|
| let MapMixin = MapMixin$();
|
| @@ -2227,6 +2238,13 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| putIfAbsent: [V, [K, dart.functionType(V, [])]]
|
| })
|
| });
|
| + dart.defineExtensionMembers(_UnmodifiableMapMixin, [
|
| + 'set',
|
| + 'addAll',
|
| + 'clear',
|
| + 'remove',
|
| + 'putIfAbsent'
|
| + ]);
|
| return _UnmodifiableMapMixin;
|
| });
|
| let _UnmodifiableMapMixin = _UnmodifiableMapMixin$();
|
| @@ -2247,22 +2265,22 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| super.IterableBase();
|
| }
|
| get length() {
|
| - return this[_map].length;
|
| + return this[_map][dartx.length];
|
| }
|
| get isEmpty() {
|
| - return this[_map].isEmpty;
|
| + return this[_map][dartx.isEmpty];
|
| }
|
| get isNotEmpty() {
|
| - return this[_map].isNotEmpty;
|
| + return this[_map][dartx.isNotEmpty];
|
| }
|
| get first() {
|
| - return dart.as(this[_map].get(this[_map].keys[dartx.first]), V);
|
| + return dart.as(this[_map][dartx.get](this[_map][dartx.keys][dartx.first]), V);
|
| }
|
| get single() {
|
| - return dart.as(this[_map].get(this[_map].keys[dartx.single]), V);
|
| + return dart.as(this[_map][dartx.get](this[_map][dartx.keys][dartx.single]), V);
|
| }
|
| get last() {
|
| - return dart.as(this[_map].get(this[_map].keys[dartx.last]), V);
|
| + return dart.as(this[_map][dartx.get](this[_map][dartx.keys][dartx.last]), V);
|
| }
|
| get iterator() {
|
| return new (_MapBaseValueIterator$(V))(this[_map]);
|
| @@ -2289,12 +2307,12 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| class _MapBaseValueIterator extends core.Object {
|
| _MapBaseValueIterator(map) {
|
| this[_map] = map;
|
| - this[_keys] = map.keys[dartx.iterator];
|
| + this[_keys] = map[dartx.keys][dartx.iterator];
|
| this[_current] = null;
|
| }
|
| moveNext() {
|
| if (dart.notNull(this[_keys].moveNext())) {
|
| - this[_current] = dart.as(this[_map].get(this[_keys].current), V);
|
| + this[_current] = dart.as(this[_map][dartx.get](this[_keys].current), V);
|
| return true;
|
| }
|
| this[_current] = null;
|
| @@ -2318,56 +2336,56 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| this[_map] = map;
|
| }
|
| get(key) {
|
| - return this[_map].get(key);
|
| + return this[_map][dartx.get](key);
|
| }
|
| set(key, value) {
|
| dart.as(key, K);
|
| dart.as(value, V);
|
| - this[_map].set(key, value);
|
| + this[_map][dartx.set](key, value);
|
| return value;
|
| }
|
| addAll(other) {
|
| dart.as(other, core.Map$(K, V));
|
| - this[_map].addAll(other);
|
| + this[_map][dartx.addAll](other);
|
| }
|
| clear() {
|
| - this[_map].clear();
|
| + this[_map][dartx.clear]();
|
| }
|
| putIfAbsent(key, ifAbsent) {
|
| dart.as(key, K);
|
| dart.as(ifAbsent, dart.functionType(V, []));
|
| - return this[_map].putIfAbsent(key, ifAbsent);
|
| + return this[_map][dartx.putIfAbsent](key, ifAbsent);
|
| }
|
| containsKey(key) {
|
| - return this[_map].containsKey(key);
|
| + return this[_map][dartx.containsKey](key);
|
| }
|
| containsValue(value) {
|
| - return this[_map].containsValue(value);
|
| + return this[_map][dartx.containsValue](value);
|
| }
|
| forEach(action) {
|
| dart.as(action, dart.functionType(dart.void, [K, V]));
|
| - this[_map].forEach(action);
|
| + this[_map][dartx.forEach](action);
|
| }
|
| get isEmpty() {
|
| - return this[_map].isEmpty;
|
| + return this[_map][dartx.isEmpty];
|
| }
|
| get isNotEmpty() {
|
| - return this[_map].isNotEmpty;
|
| + return this[_map][dartx.isNotEmpty];
|
| }
|
| get length() {
|
| - return this[_map].length;
|
| + return this[_map][dartx.length];
|
| }
|
| get keys() {
|
| - return this[_map].keys;
|
| + return this[_map][dartx.keys];
|
| }
|
| remove(key) {
|
| - return this[_map].remove(key);
|
| + return this[_map][dartx.remove](key);
|
| }
|
| toString() {
|
| return dart.toString(this[_map]);
|
| }
|
| get values() {
|
| - return this[_map].values;
|
| + return this[_map][dartx.values];
|
| }
|
| }
|
| MapView[dart.implements] = () => [core.Map$(K, V)];
|
| @@ -2385,6 +2403,22 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| remove: [V, [core.Object]]
|
| })
|
| });
|
| + dart.defineExtensionMembers(MapView, [
|
| + 'get',
|
| + 'set',
|
| + 'addAll',
|
| + 'clear',
|
| + 'putIfAbsent',
|
| + 'containsKey',
|
| + 'containsValue',
|
| + 'forEach',
|
| + 'remove',
|
| + 'isEmpty',
|
| + 'isNotEmpty',
|
| + 'length',
|
| + 'keys',
|
| + 'values'
|
| + ]);
|
| return MapView;
|
| });
|
| let MapView = MapView$();
|
| @@ -2399,7 +2433,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| let UnmodifiableMapView = UnmodifiableMapView$();
|
| class Maps extends core.Object {
|
| static containsValue(map, value) {
|
| - for (let v of map.values) {
|
| + for (let v of map[dartx.values]) {
|
| if (dart.equals(value, v)) {
|
| return true;
|
| }
|
| @@ -2407,7 +2441,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| return false;
|
| }
|
| static containsKey(map, key) {
|
| - for (let k of map.keys) {
|
| + for (let k of map[dartx.keys]) {
|
| if (dart.equals(key, k)) {
|
| return true;
|
| }
|
| @@ -2415,34 +2449,34 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| return false;
|
| }
|
| static putIfAbsent(map, key, ifAbsent) {
|
| - if (dart.notNull(map.containsKey(key))) {
|
| - return map.get(key);
|
| + if (dart.notNull(map[dartx.containsKey](key))) {
|
| + return map[dartx.get](key);
|
| }
|
| let v = ifAbsent();
|
| - map.set(key, v);
|
| + map[dartx.set](key, v);
|
| return v;
|
| }
|
| static clear(map) {
|
| - for (let k of map.keys[dartx.toList]()) {
|
| - map.remove(k);
|
| + for (let k of map[dartx.keys][dartx.toList]()) {
|
| + map[dartx.remove](k);
|
| }
|
| }
|
| static forEach(map, f) {
|
| - for (let k of map.keys) {
|
| - dart.dcall(f, k, map.get(k));
|
| + for (let k of map[dartx.keys]) {
|
| + dart.dcall(f, k, map[dartx.get](k));
|
| }
|
| }
|
| static getValues(map) {
|
| - return map.keys[dartx.map](dart.fn(key => map.get(key)));
|
| + return map[dartx.keys][dartx.map](dart.fn(key => map[dartx.get](key)));
|
| }
|
| static length(map) {
|
| - return map.keys[dartx.length];
|
| + return map[dartx.keys][dartx.length];
|
| }
|
| static isEmpty(map) {
|
| - return map.keys[dartx.isEmpty];
|
| + return map[dartx.keys][dartx.isEmpty];
|
| }
|
| static isNotEmpty(map) {
|
| - return map.keys[dartx.isNotEmpty];
|
| + return map[dartx.keys][dartx.isNotEmpty];
|
| }
|
| static mapToString(m) {
|
| if (dart.notNull(IterableBase._isToStringVisiting(m))) {
|
| @@ -2453,7 +2487,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| IterableBase._toStringVisiting[dartx.add](m);
|
| result.write('{');
|
| let first = true;
|
| - m.forEach(dart.fn((k, v) => {
|
| + m[dartx.forEach](dart.fn((k, v) => {
|
| if (!first) {
|
| result.write(', ');
|
| }
|
| @@ -2476,7 +2510,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| if (key == null) key = Maps._id;
|
| if (value == null) value = Maps._id;
|
| for (let element of iterable) {
|
| - map.set(dart.dcall(key, element), dart.dcall(value, element));
|
| + map[dartx.set](dart.dcall(key, element), dart.dcall(value, element));
|
| }
|
| }
|
| static _fillMapWithIterables(map, keys, values) {
|
| @@ -2485,7 +2519,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| let hasNextKey = keyIterator.moveNext();
|
| let hasNextValue = valueIterator.moveNext();
|
| while (dart.notNull(hasNextKey) && dart.notNull(hasNextValue)) {
|
| - map.set(keyIterator.current, valueIterator.current);
|
| + map[dartx.set](keyIterator.current, valueIterator.current);
|
| hasNextKey = keyIterator.moveNext();
|
| hasNextValue = valueIterator.moveNext();
|
| }
|
| @@ -3391,7 +3425,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| if (compare === void 0) compare = null;
|
| if (isValidKey === void 0) isValidKey = null;
|
| let result = new (SplayTreeMap$(K, V))();
|
| - other.forEach(dart.fn((k, v) => {
|
| + other[dartx.forEach](dart.fn((k, v) => {
|
| result.set(dart.as(k, K), dart.as(v, V));
|
| }, dart.void, [dart.dynamic, dart.dynamic]));
|
| return result;
|
| @@ -3479,7 +3513,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }
|
| addAll(other) {
|
| dart.as(other, core.Map$(K, V));
|
| - other.forEach(dart.fn((key, value) => {
|
| + other[dartx.forEach](dart.fn((key, value) => {
|
| dart.as(key, K);
|
| dart.as(value, V);
|
| this.set(key, value);
|
| @@ -3596,6 +3630,22 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| firstKeyAfter: [K, [K]]
|
| })
|
| });
|
| + dart.defineExtensionMembers(SplayTreeMap, [
|
| + 'get',
|
| + 'remove',
|
| + 'set',
|
| + 'putIfAbsent',
|
| + 'addAll',
|
| + 'forEach',
|
| + 'clear',
|
| + 'containsKey',
|
| + 'containsValue',
|
| + 'isEmpty',
|
| + 'isNotEmpty',
|
| + 'length',
|
| + 'keys',
|
| + 'values'
|
| + ]);
|
| return SplayTreeMap;
|
| });
|
| let SplayTreeMap = SplayTreeMap$();
|
| @@ -4029,7 +4079,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }
|
| addAll(other) {
|
| dart.as(other, core.Map$(K, V));
|
| - other.forEach(dart.fn((key, value) => {
|
| + other[dartx.forEach](dart.fn((key, value) => {
|
| dart.as(key, K);
|
| dart.as(value, V);
|
| this.set(key, value);
|
| @@ -4279,6 +4329,22 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }),
|
| names: ['_isStringKey', '_isNumericKey', '_hasTableEntry', '_getTableEntry', '_setTableEntry', '_deleteTableEntry', '_newHashTable']
|
| });
|
| + dart.defineExtensionMembers(_HashMap, [
|
| + 'containsKey',
|
| + 'containsValue',
|
| + 'addAll',
|
| + 'get',
|
| + 'set',
|
| + 'putIfAbsent',
|
| + 'remove',
|
| + 'clear',
|
| + 'forEach',
|
| + 'length',
|
| + 'isEmpty',
|
| + 'isNotEmpty',
|
| + 'keys',
|
| + 'values'
|
| + ]);
|
| return _HashMap;
|
| });
|
| let _HashMap = _HashMap$();
|
| @@ -4353,6 +4419,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| remove: [V, [core.Object]]
|
| })
|
| });
|
| + dart.defineExtensionMembers(_CustomHashMap, ['get', 'set', 'containsKey', 'remove']);
|
| return _CustomHashMap;
|
| });
|
| let _CustomHashMap = _CustomHashMap$();
|
| @@ -4493,7 +4560,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }
|
| addAll(other) {
|
| dart.as(other, core.Map$(K, V));
|
| - other.forEach(dart.fn((key, value) => {
|
| + other[dartx.forEach](dart.fn((key, value) => {
|
| dart.as(key, K);
|
| dart.as(value, V);
|
| this.set(key, value);
|
| @@ -4739,6 +4806,22 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| }),
|
| names: ['_isStringKey', '_isNumericKey', '_getTableEntry', '_setTableEntry', '_deleteTableEntry', '_newHashTable']
|
| });
|
| + dart.defineExtensionMembers(_LinkedHashMap, [
|
| + 'containsKey',
|
| + 'containsValue',
|
| + 'addAll',
|
| + 'get',
|
| + 'set',
|
| + 'putIfAbsent',
|
| + 'remove',
|
| + 'clear',
|
| + 'forEach',
|
| + 'length',
|
| + 'isEmpty',
|
| + 'isNotEmpty',
|
| + 'keys',
|
| + 'values'
|
| + ]);
|
| return _LinkedHashMap;
|
| });
|
| let _LinkedHashMap = _LinkedHashMap$();
|
| @@ -4810,6 +4893,7 @@ dart_library.library('dart/collection', null, /* Imports */[
|
| remove: [V, [core.Object]]
|
| })
|
| });
|
| + dart.defineExtensionMembers(_LinkedCustomHashMap, ['get', 'set', 'containsKey', 'remove']);
|
| return _LinkedCustomHashMap;
|
| });
|
| let _LinkedCustomHashMap = _LinkedCustomHashMap$();
|
|
|