| Index: lib/src/testing.dart
 | 
| diff --git a/lib/src/testing.dart b/lib/src/testing.dart
 | 
| index 4c83c567d22f3152e38bced33938722e19ef61d0..9ef50d0da35e935f36d0ecc01cc6dbb6d3b3cd66 100644
 | 
| --- a/lib/src/testing.dart
 | 
| +++ b/lib/src/testing.dart
 | 
| @@ -6,7 +6,8 @@ library dev_compiler.src.testing;
 | 
|  
 | 
|  import 'package:analyzer/src/generated/ast.dart';
 | 
|  import 'package:analyzer/src/generated/element.dart';
 | 
| -import 'package:analyzer/src/generated/engine.dart' show TimestampedData;
 | 
| +import 'package:analyzer/src/generated/engine.dart'
 | 
| +    show AnalysisContext, TimestampedData;
 | 
|  import 'package:analyzer/src/generated/source.dart';
 | 
|  import 'package:logging/logging.dart';
 | 
|  import 'package:path/path.dart' as path;
 | 
| @@ -51,7 +52,8 @@ import 'dependency_graph.dart' show runtimeFilesForServerMode;
 | 
|  ///     });
 | 
|  ///
 | 
|  CheckerResults testChecker(Map<String, String> testFiles,
 | 
| -    {bool allowConstCasts: true, String sdkDir, CheckerReporter reporter,
 | 
| +    {bool allowConstCasts: true, String sdkDir,
 | 
| +    CheckerReporter createReporter(AnalysisContext context),
 | 
|      covariantGenerics: true, relaxedCasts: true,
 | 
|      inferDownwards: RulesOptions.inferDownwardsDefault,
 | 
|      inferFromOverrides: ResolverOptions.inferFromOverridesDefault,
 | 
| @@ -81,11 +83,14 @@ CheckerResults testChecker(Map<String, String> testFiles,
 | 
|            otherResolvers: [testUriResolver])
 | 
|        : new TypeResolver.fromDir(sdkDir, options,
 | 
|            otherResolvers: [testUriResolver]);
 | 
| +  var context = resolver.context;
 | 
|  
 | 
|    // Run the checker on /main.dart.
 | 
|    var mainFile = new Uri.file('/main.dart');
 | 
| -  var checkExpectations = reporter == null;
 | 
| -  if (reporter == null) reporter = new TestReporter();
 | 
| +  var checkExpectations = createReporter == null;
 | 
| +  var reporter = (createReporter == null)
 | 
| +      ? new TestReporter(context)
 | 
| +      : createReporter(context);
 | 
|    var results =
 | 
|        new Compiler(options, resolver: resolver, reporter: reporter).run();
 | 
|  
 | 
| @@ -147,6 +152,8 @@ class TestReporter extends SummaryReporter {
 | 
|    Map<Uri, Map<AstNode, List<StaticInfo>>> infoMap = {};
 | 
|    Uri _current;
 | 
|  
 | 
| +  TestReporter(AnalysisContext context) : super(context);
 | 
| +
 | 
|    void enterLibrary(Uri uri) {
 | 
|      super.enterLibrary(uri);
 | 
|      infoMap[uri] = {};
 | 
| 
 |