time lint registry (for benchmarking)
Change-Id: I92acdd06bac04ce9879cb971a2c98c27749aa4a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199372
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 17deaf8..49162d7 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -325,9 +325,10 @@
void _computeLints(FileState file, LinterContextUnit currentUnit,
List<LinterContextUnit> allUnits) {
var unit = currentUnit.unit;
- ErrorReporter errorReporter = _getErrorReporter(file);
+ var errorReporter = _getErrorReporter(file);
- var nodeRegistry = NodeLintRegistry(_analysisOptions.enableTiming);
+ var enableTiming = _analysisOptions.enableTiming;
+ var nodeRegistry = NodeLintRegistry(enableTiming);
var visitors = <AstVisitor>[];
var context = LinterContextImpl(
@@ -340,9 +341,12 @@
_analysisOptions,
file.workspacePackage,
);
- for (Linter linter in _analysisOptions.lintRules) {
+ for (var linter in _analysisOptions.lintRules) {
linter.reporter = errorReporter;
+ var timer = enableTiming ? lintRegistry.getTimer(linter) : null;
+ timer?.start();
linter.registerNodeProcessors(nodeRegistry, context);
+ timer?.stop();
}
// Run lints that handle specific node types.