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.