add 'imports' field for OutputUnitInfo

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1420303010 .
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2ee44d..a6dee54 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Changelog
 
+## 0.2.4
+- Added `imports` field for `OutputUnitInfo`
+
 ## 0.2.3
 - Moved `deferred_library_check` functionality to a library
 
diff --git a/lib/info.dart b/lib/info.dart
index 5e79a70..0ca08ca 100644
--- a/lib/info.dart
+++ b/lib/info.dart
@@ -202,7 +202,11 @@
 /// program unless the application uses deferred imports, in which case there
 /// would be an additional output unit per deferred chunk.
 class OutputUnitInfo extends BasicInfo {
+  /// The deferred imports that will load this output unit.
+  List<String> imports = <String>[];
+
   static int _ids = 0;
+
   OutputUnitInfo(String name, int size)
       : super(InfoKind.outputUnit, _ids++, name, null, size, null);
 
diff --git a/lib/json_info_codec.dart b/lib/json_info_codec.dart
index 6ee7634..1308d4d 100644
--- a/lib/json_info_codec.dart
+++ b/lib/json_info_codec.dart
@@ -60,6 +60,7 @@
     result
       ..name = json['name']
       ..size = json['size'];
+    result.imports.addAll(json['imports'] ?? const []);
     return result;
   }
 
@@ -416,7 +417,8 @@
 
   visitTypedef(TypedefInfo info) => _visitBasicInfo(info)..['type'] = info.type;
 
-  visitOutput(OutputUnitInfo info) => _visitBasicInfo(info);
+  visitOutput(OutputUnitInfo info) =>
+      _visitBasicInfo(info)..['imports'] = info.imports;
 }
 
 class AllInfoJsonCodec extends Codec<AllInfo, Map> {
diff --git a/pubspec.yaml b/pubspec.yaml
index 267947c..88b1336 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: dart2js_info
-version: 0.2.3
+version: 0.2.4
 description: >
   Libraries and tools to process data produced when running dart2js with
   --dump-info.