Version 2.17.0-251.0.dev

Merge commit 'ba7921a84a9a92a27febd560f7c02b35b763178b' into 'dev'
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_no_such_method.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_no_such_method.dart
index 8c93801..e885c0e 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_no_such_method.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_no_such_method.dart
@@ -33,8 +33,8 @@
         builder.write('@override');
         builder.write(eol);
         builder.write(prefix);
-        builder.write(
-            'noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);');
+        builder.write('dynamic noSuchMethod(Invocation invocation) => '
+            'super.noSuchMethod(invocation);');
         builder.write(eol);
       });
     });
diff --git a/pkg/analysis_server/test/src/services/correction/assist/import_add_show_test.dart b/pkg/analysis_server/test/src/services/correction/assist/import_add_show_test.dart
index 320890d..8c1dd75 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/import_add_show_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/import_add_show_test.dart
@@ -46,6 +46,20 @@
 ''');
   }
 
+  Future<void> test_mixinOnDirective() async {
+    addSource('$testPackageLibPath/lib.dart', '''
+mixin M {}
+''');
+    await resolveTestCode('''
+import 'lib.dart';
+void f(M m) {}
+''');
+    await assertHasAssistAt('import ', '''
+import 'lib.dart' show M;
+void f(M m) {}
+''');
+  }
+
   Future<void> test_onDirective() async {
     await resolveTestCode('''
 import 'dart:math';
@@ -104,6 +118,20 @@
 ''');
   }
 
+  Future<void> test_typedefOnDirective() async {
+    addSource('$testPackageLibPath/lib.dart', '''
+typedef Cb = void Function();
+''');
+    await resolveTestCode('''
+import 'lib.dart';
+void f(Cb cb) {}
+''');
+    await assertHasAssistAt('import ', '''
+import 'lib.dart' show Cb;
+void f(Cb cb) {}
+''');
+  }
+
   Future<void> test_unresolvedUri() async {
     verifyNoTestUnitErrors = false;
     await resolveTestCode('''
diff --git a/pkg/analysis_server/test/src/services/correction/fix/create_no_such_method_test.dart b/pkg/analysis_server/test/src/services/correction/fix/create_no_such_method_test.dart
index 00c6398..74de357 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/create_no_such_method_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/create_no_such_method_test.dart
@@ -40,7 +40,7 @@
   existing() {}
 
   @override
-  noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
+  dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
 }
 ''');
   }
diff --git a/tools/VERSION b/tools/VERSION
index 6c0f1d1..a1f8f84 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 250
+PRERELEASE 251
 PRERELEASE_PATCH 0
\ No newline at end of file