[CQ] add feature isEnabled utility

Change-Id: I267aee8da50ec073a28bdb22ebe5379d31b1dc91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/403265
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
pq
2025-01-07 13:18:28 -08:00
committed by Commit Queue
parent 1b04589b5d
commit 876752e40f
10 changed files with 15 additions and 13 deletions
@@ -95,7 +95,7 @@ class AddKeyToConstructors extends ResolvedCorrectionProducer {
}
builder.write(className);
builder.write('({');
if (libraryElement2.featureSet.isEnabled(Feature.super_parameters)) {
if (isEnabled(Feature.super_parameters)) {
builder.write('super.key});');
} else {
builder.writeType(keyType);
@@ -115,9 +115,7 @@ class AddKeyToConstructors extends ResolvedCorrectionProducer {
if (keyType == null) {
return;
}
var superParameters = libraryElement2.featureSet.isEnabled(
Feature.super_parameters,
);
var superParameters = isEnabled(Feature.super_parameters);
void writeKey(DartEditBuilder builder) {
if (superParameters) {
@@ -33,7 +33,7 @@ class AddSuperParameter extends ResolvedCorrectionProducer {
@override
Future<void> compute(ChangeBuilder builder) async {
if (!libraryElement2.featureSet.isEnabled(Feature.super_parameters)) {
if (!isEnabled(Feature.super_parameters)) {
return;
}
@@ -39,7 +39,7 @@ class ConvertClassToEnum extends ResolvedCorrectionProducer {
@override
Future<void> compute(ChangeBuilder builder) async {
if (!libraryElement2.featureSet.isEnabled(Feature.enhanced_enums)) {
if (!isEnabled(Feature.enhanced_enums)) {
// If the library doesn't support enhanced_enums then the class can't be
// converted.
return;
@@ -27,7 +27,7 @@ class ConvertToIfCaseStatement extends ResolvedCorrectionProducer {
@override
Future<void> compute(ChangeBuilder builder) async {
if (!libraryElement2.featureSet.isEnabled(Feature.patterns)) {
if (!isEnabled(Feature.patterns)) {
return;
}
@@ -36,7 +36,7 @@ class ConvertToSuperParameters extends ResolvedCorrectionProducer {
@override
Future<void> compute(ChangeBuilder builder) async {
if (!libraryElement2.featureSet.isEnabled(Feature.super_parameters)) {
if (!isEnabled(Feature.super_parameters)) {
// If the library doesn't support super_parameters then the change isn't
// appropriate.
return;
@@ -29,7 +29,7 @@ class ConvertIfStatementToSwitchStatement extends ResolvedCorrectionProducer {
@override
Future<void> compute(ChangeBuilder builder) async {
if (!libraryElement2.featureSet.isEnabled(Feature.patterns)) {
if (!isEnabled(Feature.patterns)) {
return;
}
@@ -67,7 +67,7 @@ class _CreateConstructor extends ResolvedCorrectionProducer {
var buffer = StringBuffer();
buffer.write('super');
var constructorName = _constructor.name3;
if (libraryElement2.featureSet.isEnabled(Feature.super_parameters)) {
if (isEnabled(Feature.super_parameters)) {
if (constructorName != null && constructorName != 'new') {
buffer.write('.');
buffer.write(constructorName);
@@ -90,7 +90,7 @@ class _CreateConstructor extends ResolvedCorrectionProducer {
@override
Future<void> compute(ChangeBuilder builder) async {
if (libraryElement2.featureSet.isEnabled(Feature.super_parameters)) {
if (isEnabled(Feature.super_parameters)) {
await _computeWithSuperParameters(builder);
} else {
await _computeWithoutSuperParameters(builder);
@@ -47,7 +47,7 @@ class MoveAnnotationToLibraryDirective extends ResolvedCorrectionProducer {
return;
}
if (!libraryElement2.featureSet.isEnabled(Feature.unnamedLibraries)) {
if (!isEnabled(Feature.unnamedLibraries)) {
// If the library doesn't support unnamed libraries, then we cannot add
// a new library directive; we don't know what to name it.
return;
@@ -37,7 +37,7 @@ class MoveDocCommentToLibraryDirective extends ResolvedCorrectionProducer {
var firstDirective = compilationUnit.directives.firstOrNull;
if (firstDirective is LibraryDirective) {
await _moveToExistingLibraryDirective(builder, comment, firstDirective);
} else if (libraryElement2.featureSet.isEnabled(Feature.unnamedLibraries)) {
} else if (isEnabled(Feature.unnamedLibraries)) {
await _moveToNewLibraryDirective(builder, comment, compilationUnit);
}
@@ -10,6 +10,7 @@ import 'package:analysis_server_plugin/edit/fix/dart_fix_context.dart';
import 'package:analysis_server_plugin/src/utilities/selection.dart';
import 'package:analyzer/dart/analysis/analysis_options.dart';
import 'package:analyzer/dart/analysis/code_style_options.dart';
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/nullability_suffix.dart';
@@ -613,6 +614,9 @@ abstract class ResolvedCorrectionProducer
// We don't know.
return null;
}
bool isEnabled(Feature feature) =>
libraryElement2.featureSet.isEnabled(feature);
}
final class StubCorrectionProducerContext implements CorrectionProducerContext {