adjust declared types to work with dart 2 typing at runtime (#19007)
* adjust declared types to work with dart 2 typing at runtime
* review comments
* update packages/flutter_tools/lib/src/ios/simulators.dart
diff --git a/packages/flutter_tools/lib/src/base/utils.dart b/packages/flutter_tools/lib/src/base/utils.dart
index a32eaff..f13c9c9 100644
--- a/packages/flutter_tools/lib/src/base/utils.dart
+++ b/packages/flutter_tools/lib/src/base/utils.dart
@@ -231,6 +231,13 @@
value.toRadixString(16).padLeft(count, '0');
}
+/// Given a data structure which is a Map of String to dynamic values, return
+/// the same structure (`Map<String, dynamic>`) with the correct runtime types.
+Map<String, dynamic> castStringKeyedMap(dynamic untyped) {
+ final Map<dynamic, dynamic> map = untyped;
+ return map.cast<String, dynamic>();
+}
+
Clock get clock => context[Clock];
typedef Future<Null> AsyncCallback();