| // Copyright (c) 2017, 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. |
| |
| /** |
| * @assertion UnmodifiableMapBase<K, V> |
| * Basic implementation of an unmodifiable [Map]. |
| * This class has a basic implementation of all but two of the members of an |
| * umodifiable [Map]. A simple unmodifiable [Map] class can be implemented by |
| * extending this class and implementing [keys] and operator[]. |
| * @description Implementation of [simple UnmodifiableMapBase] |
| * @author iarkh@unipro.ru |
| */ |
| library unmodifiable_map_base_lib; |
| import "dart:collection"; |
| |
| class UnmodifiableMapBaseImpl<K, V> extends UnmodifiableMapBase<K, V> { |
| LinkedHashMap<K, V> _map; |
| |
| UnmodifiableMapBaseImpl(Map content): _map = |
| new LinkedHashMap<K, V>.from(content); |
| |
| Iterable<K> get keys => _map.keys; |
| |
| V? operator [](Object? key) => _map[key]; |
| } |