fix in file support for UNNECESSARY_NON_NULL_ASSERTIONs
Fixes https://github.com/dart-lang/sdk/issues/45769
Change-Id: I533969b7a7acc6258ad38e9ee45c5441921d7af7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196025
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_non_null_assertion.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_non_null_assertion.dart
index 75a93be..39814eb 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/remove_non_null_assertion.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_non_null_assertion.dart
@@ -15,6 +15,9 @@
FixKind get fixKind => DartFixKind.REMOVE_NON_NULL_ASSERTION;
@override
+ FixKind get multiFixKind => DartFixKind.REMOVE_NON_NULL_ASSERTION_MULTI;
+
+ @override
Future<void> compute(ChangeBuilder builder) async {
final expression = node;
diff --git a/pkg/analysis_server/lib/src/services/correction/fix.dart b/pkg/analysis_server/lib/src/services/correction/fix.dart
index 98dfce5..041bda6 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix.dart
@@ -585,6 +585,10 @@
'dart.fix.remove.nonNullAssertion',
DartFixKindPriority.DEFAULT,
"Remove the '!'");
+ static const REMOVE_NON_NULL_ASSERTION_MULTI = FixKind(
+ 'dart.fix.remove.nonNullAssertion.multi',
+ DartFixKindPriority.IN_FILE,
+ "Remove '!'s in file");
static const REMOVE_OPERATOR = FixKind('dart.fix.remove.operator',
DartFixKindPriority.DEFAULT, 'Remove the operator');
static const REMOVE_OPERATOR_MULTI = FixKind(
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 2eeadb5..280732a 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -381,8 +381,7 @@
],
StaticWarningCode.UNNECESSARY_NON_NULL_ASSERTION: [
FixInfo(
- // todo (pq): consider adding
- canBeAppliedToFile: false,
+ canBeAppliedToFile: true,
canBeBulkApplied: true,
generators: [
RemoveNonNullAssertion.newInstance,