[DAS] Adds priority tests for `CHANGE_TYPE_ANNOTATION` fix

This also changes the priority of some fixes:
- `ADD_AWAIT` and `ADD_AWAIT_MULTI` are now one point higher than standard
- `ADD_EXPLICIT_CAST` and `ADD_EXPLICIT_CAST_MULTI` are now one point lower than standard

This ensures that when these fixes are available, `ADD_AWAIT` is preferred over `CHANGE_TYPE_ANNOTATION` and lastly `ADD_EXPLICIT_CAST`.

Fixes: https://github.com/dart-lang/sdk/issues/61421
Change-Id: I89cf9d9dd386773ebcb998207213cf6e636a060e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/448643
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_await.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_await.dart
index 285a019..7e81d3b 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_await.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_await.dart
@@ -37,9 +37,6 @@
   @override
   FixKind get fixKind => DartFixKind.ADD_AWAIT;
 
-  @override
-  FixKind get multiFixKind => DartFixKind.ADD_AWAIT_MULTI;
-
   FunctionBody? get _functionBodyIfNotAsync {
     var body = node.thisOrAncestorOfType<FunctionBody>();
     if (body != null && !body.isAsynchronous && body.star == null) {
diff --git a/pkg/analysis_server/lib/src/services/correction/fix.dart b/pkg/analysis_server/lib/src/services/correction/fix.dart
index 396ac0c..ccdef60 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix.dart
@@ -39,14 +39,9 @@
   );
   static const ADD_AWAIT = FixKind(
     'dart.fix.add.await',
-    DartFixKindPriority.standard,
+    DartFixKindPriority.standard + 1,
     "Add 'await' keyword",
   );
-  static const ADD_AWAIT_MULTI = FixKind(
-    'dart.fix.add.await.multi',
-    DartFixKindPriority.inFile,
-    "Add 'await's everywhere in file",
-  );
   static const ADD_CALL_SUPER = FixKind(
     'dart.fix.add.callSuper',
     DartFixKindPriority.standard,
@@ -149,7 +144,7 @@
   );
   static const ADD_EXPLICIT_CAST = FixKind(
     'dart.fix.add.explicitCast',
-    DartFixKindPriority.standard,
+    DartFixKindPriority.standard - 1,
     'Add cast',
   );
   static const ADD_EXPLICIT_CAST_MULTI = FixKind(
diff --git a/pkg/analysis_server/test/src/services/correction/fix/change_type_annotation_test.dart b/pkg/analysis_server/test/src/services/correction/fix/change_type_annotation_test.dart
index 3eab490..4d163c7 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/change_type_annotation_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/change_type_annotation_test.dart
@@ -10,11 +10,30 @@
 
 void main() {
   defineReflectiveSuite(() {
+    defineReflectiveTests(ChangeTypeAnnotationPriorityTest);
     defineReflectiveTests(ChangeTypeAnnotationTest);
   });
 }
 
 @reflectiveTest
+class ChangeTypeAnnotationPriorityTest extends FixPriorityTest {
+  Future<void> test_futureType() async {
+    await resolveTestCode('''
+Future<int> foo() async => 0;
+
+Future<void> bar() async {
+  int _ = foo();
+}
+''');
+    await assertFixPriorityOrder([
+      DartFixKind.ADD_AWAIT,
+      DartFixKind.CHANGE_TYPE_ANNOTATION,
+      DartFixKind.ADD_EXPLICIT_CAST,
+    ]);
+  }
+}
+
+@reflectiveTest
 class ChangeTypeAnnotationTest extends FixProcessorTest {
   @override
   FixKind get kind => DartFixKind.CHANGE_TYPE_ANNOTATION;