5572df1458
Change-Id: I907e59a9df9407f924c0518a185d5b28ab46e381 Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try Reviewed-on: https://dart-review.googlesource.com/69971 Commit-Queue: Samir Jindel <sjindel@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
32 lines
985 B
Dart
32 lines
985 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")
|
|
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>();
|
|
}
|