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;
       }