Index: sdk/lib/_internal/pub/lib/src/utils.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/utils.dart b/sdk/lib/_internal/pub/lib/src/utils.dart |
index 14d81a67a4138ea4e2c6aac75429c1a6cc05a132..d0eb936f7f818d5e0b4eac6013e3952cbb251cd0 100644 |
--- a/sdk/lib/_internal/pub/lib/src/utils.dart |
+++ b/sdk/lib/_internal/pub/lib/src/utils.dart |
@@ -371,6 +371,16 @@ Future<Map> mapFromIterableAsync(Iterable iter, {key(element), |
})).then((_) => map); |
} |
+/// Returns a new map with all entries in both [map1] and [map2]. |
+/// |
+/// If there are overlapping keys, [map2]'s value wins. |
+Map mergeMaps(Map map1, Map map2) { |
+ var result = {}; |
+ result.addAll(map1); |
+ result.addAll(map2); |
+ return result; |
+} |
+ |
/// Returns the transitive closure of [graph]. |
/// |
/// This assumes [graph] represents a graph with a vertex for each key and an |