mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 00:13:50 +00:00
8db489cb10
Change-Id: Ie84529ef3d41d55c29c9a4bf2c84a69e3dbcaa0f Reviewed-on: https://dart-review.googlesource.com/c/93429 Auto-Submit: Samir Jindel <sjindel@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Samir Jindel <sjindel@google.com>
32 lines
993 B
Dart
32 lines
993 B
Dart
// 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 "core_patch.dart";
|
|
|
|
@patch
|
|
class Map<K, V> {
|
|
// Factory constructing a Map from a parser generated Map literal.
|
|
// [elements] contains n key-value pairs.
|
|
// The keys are at position 2*n and are already type checked by the parser
|
|
// in checked mode.
|
|
// The values are at position 2*n+1 and are not yet type checked.
|
|
@pragma("vm:entry-point", "call")
|
|
factory Map._fromLiteral(List elements) {
|
|
var map = new LinkedHashMap<K, V>();
|
|
var len = elements.length;
|
|
for (int i = 1; i < len; i += 2) {
|
|
map[elements[i - 1]] = elements[i];
|
|
}
|
|
return map;
|
|
}
|
|
|
|
@patch
|
|
factory Map.unmodifiable(Map other) {
|
|
return new UnmodifiableMapView<K, V>(new Map<K, V>.from(other));
|
|
}
|
|
|
|
@patch
|
|
factory Map() => new LinkedHashMap<K, V>();
|
|
}
|