| Index: lib/src/testing.dart
|
| diff --git a/lib/src/testing.dart b/lib/src/testing.dart
|
| index b0014a5692c51c41460b8b297797ca613e568d0a..aa8ab8b640b99a2feb52819957dea15bd5e81c1e 100644
|
| --- a/lib/src/testing.dart
|
| +++ b/lib/src/testing.dart
|
| @@ -6,7 +6,7 @@ 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;
|
| @@ -50,7 +50,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,
|
| @@ -80,11 +81,13 @@ 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, reporter).run();
|
|
|
| // Extract expectations from the comments in the test files.
|
| @@ -145,6 +148,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] = {};
|
|
|