| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| part of $LIBRARYNAME; |
| |
| $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$MIXINS$IMPLEMENTS { |
| $!MEMBERS |
| |
| Map$NULLABLE _getItem($KEYTYPE key) => |
| convertNativeToDart_Dictionary(JS('', '#.get(#)', this, key)); |
| |
| void addAll(Map<$KEYTYPE, $VALUETYPE> other) { |
| throw new UnsupportedError("Not supported"); |
| } |
| |
| bool containsValue($VALUETYPE value) => values.any((e) => e == value); |
| |
| bool containsKey($VALUETYPE key) => _getItem(key) != null; |
| |
| Map$NULLABLE operator []($VALUETYPE key) => _getItem(key); |
| |
| void forEach(void f($KEYTYPE key, $VALUETYPE value)) { |
| var entries = JS('', '#.entries()', this); |
| while (true) { |
| var entry = JS('', '#.next()', entries); |
| if (JS('bool', '#.done', entry)) return; |
| f(JS('$KEYTYPE', '#.value[0]', entry), |
| convertNativeToDart_Dictionary(JS('', '#.value[1]', entry))); |
| } |
| } |
| |
| Iterable<$KEYTYPE> get keys { |
| final keys = <$KEYTYPE>[]; |
| forEach((k, v) => keys.add(k)); |
| return keys; |
| } |
| |
| Iterable<Map> get values { |
| final values = <Map>[]; |
| forEach((k, v) => values.add(v)); |
| return values; |
| } |
| |
| int get length => JS('int', '#.size', this); |
| |
| bool get isEmpty => length == 0; |
| |
| bool get isNotEmpty => !isEmpty; |
| |
| void operator []=($KEYTYPE key, $VALUETYPE value) { |
| throw new UnsupportedError("Not supported"); |
| } |
| |
| dynamic putIfAbsent($KEYTYPE key, $VALUETYPE ifAbsent()) { |
| throw new UnsupportedError("Not supported"); |
| } |
| |
| $KEYTYPE remove($VALUETYPE key) { |
| throw new UnsupportedError("Not supported"); |
| } |
| |
| void clear() { |
| throw new UnsupportedError("Not supported"); |
| } |
| } |