analyzer: Convert getPubspecVisitor to a getter named pubspecVisitor
Work towards https://github.com/dart-lang/sdk/issues/50986
Change-Id: I1bcdc6b32efef0f7e70bbb49c3cce046f95351fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/428225
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/lint/linter.dart b/pkg/analyzer/lib/src/lint/linter.dart
index 8cbce9f..c84d9c9 100644
--- a/pkg/analyzer/lib/src/lint/linter.dart
+++ b/pkg/analyzer/lib/src/lint/linter.dart
@@ -63,6 +63,11 @@
/// The lint codes associated with this lint rule.
List<LintCode> get lintCodes;
+ /// Returns a visitor that visits a [Pubspec] to perform analysis.
+ ///
+ /// Diagnostics are reported via this [LintRule]'s error [reporter].
+ PubspecVisitor? get pubspecVisitor => null;
+
@protected
// Protected so that lint rule visitors do not access this directly.
// TODO(srawlins): With the new availability of an ErrorReporter on
@@ -74,12 +79,6 @@
set reporter(ErrorReporter value) => _reporter = value;
- /// Returns a visitor to be passed to pubspecs to perform lint
- /// analysis.
- ///
- /// Lint errors are reported via this [LintRule]'s error [reporter].
- PubspecVisitor? getPubspecVisitor() => null;
-
/// Registers node processors in the given [registry].
///
/// The node processors may use the provided [context] to access information
diff --git a/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart b/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart
index 140df91..82fb345 100644
--- a/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart
+++ b/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart
@@ -59,7 +59,7 @@
if (analysisOptions != null && analysisOptions.lint) {
var visitors = <AbstractAnalysisRule, PubspecVisitor>{};
for (var linter in analysisOptions.lintRules) {
- var visitor = linter.getPubspecVisitor();
+ var visitor = linter.pubspecVisitor;
if (visitor != null) {
visitors[linter] = visitor;
}
diff --git a/pkg/linter/lib/src/rules/pub/package_names.dart b/pkg/linter/lib/src/rules/pub/package_names.dart
index 4be31ae..3694d83 100644
--- a/pkg/linter/lib/src/rules/pub/package_names.dart
+++ b/pkg/linter/lib/src/rules/pub/package_names.dart
@@ -14,7 +14,7 @@
LintCode get lintCode => LinterLintCode.package_names;
@override
- PubspecVisitor<void> getPubspecVisitor() => Visitor(this);
+ PubspecVisitor<void> get pubspecVisitor => Visitor(this);
}
class Visitor extends PubspecVisitor<void> {
diff --git a/pkg/linter/lib/src/rules/pub/secure_pubspec_urls.dart b/pkg/linter/lib/src/rules/pub/secure_pubspec_urls.dart
index bce28ad..cff860a 100644
--- a/pkg/linter/lib/src/rules/pub/secure_pubspec_urls.dart
+++ b/pkg/linter/lib/src/rules/pub/secure_pubspec_urls.dart
@@ -16,7 +16,7 @@
LintCode get lintCode => LinterLintCode.secure_pubspec_urls;
@override
- PubspecVisitor<void> getPubspecVisitor() => Visitor(this);
+ PubspecVisitor<void> get pubspecVisitor => Visitor(this);
}
class Visitor extends PubspecVisitor<void> {
diff --git a/pkg/linter/lib/src/rules/pub/sort_pub_dependencies.dart b/pkg/linter/lib/src/rules/pub/sort_pub_dependencies.dart
index fe9b20d..c3e6c0e 100644
--- a/pkg/linter/lib/src/rules/pub/sort_pub_dependencies.dart
+++ b/pkg/linter/lib/src/rules/pub/sort_pub_dependencies.dart
@@ -17,7 +17,7 @@
LintCode get lintCode => LinterLintCode.sort_pub_dependencies;
@override
- PubspecVisitor<void> getPubspecVisitor() => Visitor(this);
+ PubspecVisitor<void> get pubspecVisitor => Visitor(this);
}
class Visitor extends PubspecVisitor<void> {
diff --git a/pkg/linter/lib/src/test_utilities/test_linter.dart b/pkg/linter/lib/src/test_utilities/test_linter.dart
index 8be4f5c..35c95f3 100644
--- a/pkg/linter/lib/src/test_utilities/test_linter.dart
+++ b/pkg/linter/lib/src/test_utilities/test_linter.dart
@@ -58,7 +58,7 @@
var spec = Pubspec.parse(contents, sourceUrl: sourceUrl);
for (var rule in options.enabledRules) {
- var visitor = rule.getPubspecVisitor();
+ var visitor = rule.pubspecVisitor;
if (visitor != null) {
// Analyzer sets reporters; if this file is not being analyzed,
// we need to set one ourselves. (Needless to say, when pubspec
diff --git a/pkg/linter/test/rule_test_support.dart b/pkg/linter/test/rule_test_support.dart
index 7af07bb..8dfe87f 100644
--- a/pkg/linter/test/rule_test_support.dart
+++ b/pkg/linter/test/rule_test_support.dart
@@ -560,10 +560,9 @@
Future<List<Diagnostic>> _resolvePubspecFile(String content) async {
var path = convertPath(testPackagePubspecPath);
var pubspecRules = <AbstractAnalysisRule, PubspecVisitor<Object?>>{};
- for (var rule in Registry.ruleRegistry.where(
- (rule) => _lintRules.contains(rule.name),
- )) {
- var visitor = rule.getPubspecVisitor();
+ var rules = Registry.ruleRegistry.where((r) => _lintRules.contains(r.name));
+ for (var rule in rules) {
+ var visitor = rule.pubspecVisitor;
if (visitor != null) {
pubspecRules[rule] = visitor;
}