migration to code_style_options

More migrations to code_style_options.

See: https://github.com/dart-lang/sdk/issues/49558

Change-Id: I8a2e8459ea9e02b9d65a219dad3ec73080001782
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252965
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart b/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart
index 388e79e..47a4e0c 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart
@@ -256,12 +256,6 @@
         unit = resolvedResult.unit,
         utils = CorrectionUtils(resolvedResult);
 
-  /// Return `true` if the lint with the given [name] is enabled.
-  bool isLintEnabled(String name) {
-    var analysisOptions = session.analysisContext.analysisOptions;
-    return analysisOptions.isLintEnabled(name);
-  }
-
   static CorrectionProducerContext? create({
     required ResolvedUnitResult resolvedResult,
     required ChangeWorkspace workspace,
@@ -500,11 +494,6 @@
     return _context.dartFixContext!.getTopLevelDeclarations(baseName);
   }
 
-  /// Return `true` the lint with the given [name] is enabled.
-  bool isLintEnabled(String name) {
-    return _context.isLintEnabled(name);
-  }
-
   /// Return `true` if the selection covers an operator of the given
   /// [binaryExpression].
   bool isOperatorSelected(BinaryExpression binaryExpression) {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_return_type.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_return_type.dart
index 82c63b7..a37027c 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_return_type.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_return_type.dart
@@ -5,7 +5,6 @@
 import 'package:analysis_server/src/services/correction/assist.dart';
 import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
 import 'package:analysis_server/src/services/correction/fix.dart';
-import 'package:analysis_server/src/services/linter/lint_names.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/syntactic_entity.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
@@ -42,8 +41,7 @@
         if (executable.returnType != null) {
           return;
         }
-        if (isLintEnabled(LintNames.avoid_return_types_on_setters) &&
-            executable.isSetter) {
+        if (executable.isSetter) {
           return;
         }
         insertBeforeEntity = executable.propertyKeyword ?? executable.name;
@@ -52,8 +50,7 @@
         if (executable.returnType != null) {
           return;
         }
-        if (isLintEnabled(LintNames.avoid_return_types_on_setters) &&
-            executable.isSetter) {
+        if (executable.isSetter) {
           return;
         }
         insertBeforeEntity = executable.propertyKeyword ?? executable.name;
diff --git a/pkg/analysis_server/lib/src/services/correction/util.dart b/pkg/analysis_server/lib/src/services/correction/util.dart
index bd14c30..8fc4dc7 100644
--- a/pkg/analysis_server/lib/src/services/correction/util.dart
+++ b/pkg/analysis_server/lib/src/services/correction/util.dart
@@ -7,7 +7,6 @@
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
 import 'package:analysis_server/src/protocol_server.dart'
     show doSourceChange_addElementEdit;
-import 'package:analysis_server/src/services/linter/lint_names.dart';
 import 'package:analysis_server/src/utilities/extensions/ast.dart';
 import 'package:analysis_server/src/utilities/strings.dart';
 import 'package:analyzer/dart/analysis/features.dart';
@@ -1069,8 +1068,8 @@
 
   InsertionLocation? prepareNewConstructorLocation(
       AnalysisSession session, ClassDeclaration classDeclaration) {
-    final sortConstructorsFirst = session.analysisContext.analysisOptions
-        .isLintEnabled(LintNames.sort_constructors_first);
+    final sortConstructorsFirst = session
+        .analysisContext.analysisOptions.codeStyleOptions.sortConstructorsFirst;
     // If sort_constructors_first is enabled, don't skip over the fields.
     final shouldSkip = sortConstructorsFirst
         ? (member) => member is ConstructorDeclaration
diff --git a/pkg/analysis_server/lib/src/services/snippets/dart/for_in_statement.dart b/pkg/analysis_server/lib/src/services/snippets/dart/for_in_statement.dart
index c9c481b..06d1e0d 100644
--- a/pkg/analysis_server/lib/src/services/snippets/dart/for_in_statement.dart
+++ b/pkg/analysis_server/lib/src/services/snippets/dart/for_in_statement.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:analysis_server/src/services/linter/lint_names.dart';
 import 'package:analysis_server/src/services/snippets/snippet.dart';
 import 'package:analysis_server/src/services/snippets/snippet_producer.dart';
 import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
@@ -18,8 +17,7 @@
   Future<Snippet> compute() async {
     final builder = ChangeBuilder(session: request.analysisSession);
     final indent = utils.getLinePrefix(request.offset);
-    final varOrFinal =
-        isLintEnabled(LintNames.prefer_final_locals) ? 'final' : 'var';
+    final varOrFinal = codeStyleOptions.makeLocalsFinal ? 'final' : 'var';
 
     await builder.addDartFileEdit(request.filePath, (builder) {
       builder.addReplacement(request.replacementRange, (builder) {
diff --git a/pkg/analysis_server/lib/src/services/snippets/snippet_producer.dart b/pkg/analysis_server/lib/src/services/snippets/snippet_producer.dart
index 52c1307..eec21be 100644
--- a/pkg/analysis_server/lib/src/services/snippets/snippet_producer.dart
+++ b/pkg/analysis_server/lib/src/services/snippets/snippet_producer.dart
@@ -6,6 +6,7 @@
 import 'package:analysis_server/src/services/snippets/dart_snippet_request.dart';
 import 'package:analysis_server/src/services/snippets/snippet.dart';
 import 'package:analysis_server/src/utilities/flutter.dart';
+import 'package:analyzer/dart/analysis/code_style_options.dart';
 import 'package:analyzer/dart/analysis/features.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/nullability_suffix.dart';
@@ -28,6 +29,9 @@
         useSuperParams = request.unit.libraryElement.featureSet
             .isEnabled(Feature.super_parameters);
 
+  CodeStyleOptions get codeStyleOptions =>
+      sessionHelper.session.analysisContext.analysisOptions.codeStyleOptions;
+
   bool get isInTestDirectory {
     final path = request.unit.path;
     return LinterContextImpl.testDirectories
@@ -38,11 +42,6 @@
   NullabilitySuffix get nullableSuffix => libraryElement.isNonNullableByDefault
       ? NullabilitySuffix.question
       : NullabilitySuffix.none;
-
-  bool isLintEnabled(String name) {
-    var analysisOptions = sessionHelper.session.analysisContext.analysisOptions;
-    return analysisOptions.isLintEnabled(name);
-  }
 }
 
 abstract class FlutterSnippetProducer extends DartSnippetProducer {
diff --git a/pkg/analysis_server/test/src/services/correction/assist/add_return_type_test.dart b/pkg/analysis_server/test/src/services/correction/assist/add_return_type_test.dart
index c288dd0..ba8ade5 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/add_return_type_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/add_return_type_test.dart
@@ -153,13 +153,7 @@
   }
 }
 ''');
-    await assertHasAssist('''
-class A {
-  void set foo(int a) {
-    if (a == 0) return;
-  }
-}
-''');
+    await assertNoAssist();
   }
 
   Future<void> test_method_setter_lint_avoidReturnTypesOnSetters() async {
@@ -222,11 +216,7 @@
   if (a == 0) return;
 }
 ''');
-    await assertHasAssist('''
-void set foo(int a) {
-  if (a == 0) return;
-}
-''');
+    await assertNoAssist();
   }
 
   Future<void>
diff --git a/pkg/analyzer/lib/dart/analysis/code_style_options.dart b/pkg/analyzer/lib/dart/analysis/code_style_options.dart
index ba25c9e..b0e7804 100644
--- a/pkg/analyzer/lib/dart/analysis/code_style_options.dart
+++ b/pkg/analyzer/lib/dart/analysis/code_style_options.dart
@@ -14,6 +14,10 @@
   /// Return `true` if local variables should be `final` whenever possible.
   bool get makeLocalsFinal;
 
+  /// Return `true` if constructors should be sorted first, before other
+  /// class members.
+  bool get sortConstructorsFirst;
+
   /// Return `true` if the formatter should be used on code changes in this
   /// context.
   bool get useFormatter;
diff --git a/pkg/analyzer/lib/src/analysis_options/code_style_options.dart b/pkg/analyzer/lib/src/analysis_options/code_style_options.dart
index daaf072..283d133 100644
--- a/pkg/analyzer/lib/src/analysis_options/code_style_options.dart
+++ b/pkg/analyzer/lib/src/analysis_options/code_style_options.dart
@@ -23,6 +23,9 @@
   bool get makeLocalsFinal => _isLintEnabled('prefer_final_locals');
 
   @override
+  bool get sortConstructorsFirst => _isLintEnabled('sort_constructors_first');
+
+  @override
   bool get useRelativeUris => _isLintEnabled('prefer_relative_imports');
 
   /// Return `true` if the lint with the given [name] is enabled.