| Index: pkg/analyzer/lib/src/task/dart.dart
|
| diff --git a/pkg/analyzer/lib/src/task/dart.dart b/pkg/analyzer/lib/src/task/dart.dart
|
| index f6a3d70e5cb4b429765348b973e88499126a548d..408db9e179fd4428465287be74c85d0dd8830b46 100644
|
| --- a/pkg/analyzer/lib/src/task/dart.dart
|
| +++ b/pkg/analyzer/lib/src/task/dart.dart
|
| @@ -2813,10 +2813,20 @@ class GenerateLintsTask extends SourceBasedAnalysisTask {
|
| //
|
| // Generate lints.
|
| //
|
| + List<AstVisitor> visitors = <AstVisitor>[];
|
| +
|
| List<Linter> linters = getLints(context);
|
| - linters.forEach((l) => l.reporter = errorReporter);
|
| - Iterable<AstVisitor> visitors = linters.map((l) => l.getVisitor()).toList();
|
| - unit.accept(new DelegatingAstVisitor(visitors.where((v) => v != null)));
|
| + for (Linter linter in linters) {
|
| + AstVisitor visitor = linter.getVisitor();
|
| + if (visitor != null) {
|
| + linter.reporter = errorReporter;
|
| + visitors
|
| + .add(new TimedAstVisitor(visitor, lintRegistry.getTimer(linter)));
|
| + }
|
| + }
|
| +
|
| + DelegatingAstVisitor dv = new DelegatingAstVisitor(visitors);
|
| + unit.accept(dv);
|
|
|
| //
|
| // Record outputs.
|
|
|