| 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] = {}; | 
|  |