enable lint prefer_generic_function_type_aliases (#21680)

diff --git a/analysis_options.yaml b/analysis_options.yaml
index 19c137c..5f00205 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -128,7 +128,7 @@
     - prefer_final_locals
     - prefer_foreach
     # - prefer_function_declarations_over_variables # not yet tested
-    # - prefer_generic_function_type_aliases # not yet tested
+    - prefer_generic_function_type_aliases
     - prefer_initializing_formals
     # - prefer_interpolation_to_compose_strings # not yet tested
     - prefer_is_empty
diff --git a/dev/bots/analyze.dart b/dev/bots/analyze.dart
index e9e8a76..ec41f2c 100644
--- a/dev/bots/analyze.dart
+++ b/dev/bots/analyze.dart
@@ -11,7 +11,7 @@
 
 import 'run_command.dart';
 
-typedef Future<Null> ShardRunner();
+typedef ShardRunner = Future<Null> Function();
 
 final String flutterRoot = path.dirname(path.dirname(path.dirname(path.fromUri(Platform.script))));
 final String flutter = path.join(flutterRoot, 'bin', Platform.isWindows ? 'flutter.bat' : 'flutter');
diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
index 64f8ed6..6926763 100644
--- a/dev/bots/prepare_package.dart
+++ b/dev/bots/prepare_package.dart
@@ -175,7 +175,7 @@
   }
 }
 
-typedef Future<Uint8List> HttpReader(Uri url, {Map<String, String> headers});
+typedef HttpReader = Future<Uint8List> Function(Uri url, {Map<String, String> headers});
 
 /// Creates a pre-populated Flutter archive from a git repo.
 class ArchiveCreator {
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 983f796..32e083a 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -9,7 +9,7 @@
 
 import 'run_command.dart';
 
-typedef Future<Null> ShardRunner();
+typedef ShardRunner = Future<Null> Function();
 
 final String flutterRoot = path.dirname(path.dirname(path.dirname(path.fromUri(Platform.script))));
 final String flutter = path.join(flutterRoot, 'bin', Platform.isWindows ? 'flutter.bat' : 'flutter');
diff --git a/dev/bots/test/fake_process_manager.dart b/dev/bots/test/fake_process_manager.dart
index 719cf6e..779d7a5 100644
--- a/dev/bots/test/fake_process_manager.dart
+++ b/dev/bots/test/fake_process_manager.dart
@@ -151,7 +151,7 @@
 }
 
 /// Callback used to receive stdin input when it occurs.
-typedef void StringReceivedCallback(String received);
+typedef StringReceivedCallback = void Function(String received);
 
 /// A stream consumer class that consumes UTF8 strings as lists of ints.
 class StringStreamConsumer implements StreamConsumer<List<int>> {
diff --git a/dev/devicelab/lib/framework/framework.dart b/dev/devicelab/lib/framework/framework.dart
index 5bf7edb..f3583f0 100644
--- a/dev/devicelab/lib/framework/framework.dart
+++ b/dev/devicelab/lib/framework/framework.dart
@@ -20,7 +20,7 @@
 
 /// Represents a unit of work performed in the CI environment that can
 /// succeed, fail and be retried independently of others.
-typedef Future<TaskResult> TaskFunction();
+typedef TaskFunction = Future<TaskResult> Function();
 
 bool _isTaskRegistered = false;
 
diff --git a/dev/devicelab/test/adb_test.dart b/dev/devicelab/test/adb_test.dart
index 525746f..17c0736 100644
--- a/dev/devicelab/test/adb_test.dart
+++ b/dev/devicelab/test/adb_test.dart
@@ -122,7 +122,7 @@
   );
 }
 
-typedef dynamic ExitErrorFactory();
+typedef ExitErrorFactory = dynamic Function();
 
 class CommandArgs {
   CommandArgs({ this.command, this.arguments, this.environment });
diff --git a/dev/integration_tests/channels/lib/src/test_step.dart b/dev/integration_tests/channels/lib/src/test_step.dart
index 04394f2..39caab2 100644
--- a/dev/integration_tests/channels/lib/src/test_step.dart
+++ b/dev/integration_tests/channels/lib/src/test_step.dart
@@ -11,7 +11,7 @@
 
 enum TestStatus { ok, pending, failed, complete }
 
-typedef Future<TestStepResult> TestStep();
+typedef TestStep = Future<TestStepResult> Function();
 
 const String nothing = '-';
 
diff --git a/dev/integration_tests/platform_interaction/lib/src/test_step.dart b/dev/integration_tests/platform_interaction/lib/src/test_step.dart
index 7313e57..1da4766 100644
--- a/dev/integration_tests/platform_interaction/lib/src/test_step.dart
+++ b/dev/integration_tests/platform_interaction/lib/src/test_step.dart
@@ -8,7 +8,7 @@
 
 enum TestStatus { ok, pending, failed, complete }
 
-typedef Future<TestStepResult> TestStep();
+typedef TestStep = Future<TestStepResult> Function();
 
 const String nothing = '-';
 
diff --git a/dev/manual_tests/lib/material_arc.dart b/dev/manual_tests/lib/material_arc.dart
index e4afb81..06cdf9f 100644
--- a/dev/manual_tests/lib/material_arc.dart
+++ b/dev/manual_tests/lib/material_arc.dart
@@ -396,7 +396,7 @@
   }
 }
 
-typedef Widget _DemoBuilder(_ArcDemo demo);
+typedef _DemoBuilder = Widget Function(_ArcDemo demo);
 
 class _ArcDemo {
   _ArcDemo(this.title, this.builder, TickerProvider vsync)
diff --git a/dev/manual_tests/lib/overlay_geometry.dart b/dev/manual_tests/lib/overlay_geometry.dart
index e73cb75..3f1cb37 100644
--- a/dev/manual_tests/lib/overlay_geometry.dart
+++ b/dev/manual_tests/lib/overlay_geometry.dart
@@ -92,7 +92,7 @@
   OverlayGeometryAppState createState() => OverlayGeometryAppState();
 }
 
-typedef void CardTapCallback(GlobalKey targetKey, Offset globalPosition);
+typedef CardTapCallback = void Function(GlobalKey targetKey, Offset globalPosition);
 
 class CardBuilder extends SliverChildDelegate {
   CardBuilder({ this.cardModels, this.onTapUp });
diff --git a/examples/flutter_gallery/lib/demo/material/expansion_panels_demo.dart b/examples/flutter_gallery/lib/demo/material/expansion_panels_demo.dart
index 15ec62f..6fd07e1 100644
--- a/examples/flutter_gallery/lib/demo/material/expansion_panels_demo.dart
+++ b/examples/flutter_gallery/lib/demo/material/expansion_panels_demo.dart
@@ -10,8 +10,8 @@
   Bermuda
 }
 
-typedef Widget DemoItemBodyBuilder<T>(DemoItem<T> item);
-typedef String ValueToString<T>(T value);
+typedef DemoItemBodyBuilder<T> = Widget Function(DemoItem<T> item);
+typedef ValueToString<T> = String Function(T value);
 
 class DualHeaderWithHint extends StatelessWidget {
   const DualHeaderWithHint({
diff --git a/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart b/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart
index 418e045..6bf4594 100644
--- a/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart
+++ b/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart
@@ -10,7 +10,7 @@
   twoLine
 }
 
-typedef void BannerTapCallback(Photo photo);
+typedef BannerTapCallback = void Function(Photo photo);
 
 const double _kMinFlingVelocity = 800.0;
 const String _kGalleryAssetsPackage = 'flutter_gallery_assets';
diff --git a/examples/flutter_gallery/lib/gallery/updater.dart b/examples/flutter_gallery/lib/gallery/updater.dart
index 6eac7cd..2c8e8f8 100644
--- a/examples/flutter_gallery/lib/gallery/updater.dart
+++ b/examples/flutter_gallery/lib/gallery/updater.dart
@@ -8,7 +8,7 @@
 
 import 'package:url_launcher/url_launcher.dart';
 
-typedef Future<String> UpdateUrlFetcher();
+typedef UpdateUrlFetcher = Future<String> Function();
 
 class Updater extends StatefulWidget {
   const Updater({ @required this.updateUrlFetcher, this.child, Key key })
diff --git a/examples/layers/services/isolate.dart b/examples/layers/services/isolate.dart
index 0536aee..6feeda9 100644
--- a/examples/layers/services/isolate.dart
+++ b/examples/layers/services/isolate.dart
@@ -9,8 +9,8 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 
-typedef void OnProgressListener(double completed, double total);
-typedef void OnResultListener(String result);
+typedef OnProgressListener = void Function(double completed, double total);
+typedef OnResultListener = void Function(String result);
 
 // An encapsulation of a large amount of synchronous processing.
 //
diff --git a/examples/layers/widgets/styled_text.dart b/examples/layers/widgets/styled_text.dart
index 0694aa2..b3dae6c 100644
--- a/examples/layers/widgets/styled_text.dart
+++ b/examples/layers/widgets/styled_text.dart
@@ -4,7 +4,7 @@
 
 import 'package:flutter/material.dart';
 
-typedef Widget _TextTransformer(String name, String text);
+typedef _TextTransformer = Widget Function(String name, String text);
 
 // From https://en.wikiquote.org/wiki/2001:_A_Space_Odyssey_(film)
 const String _kDialogText = '''
diff --git a/examples/stocks/lib/stock_home.dart b/examples/stocks/lib/stock_home.dart
index 2f3e71c..323850d 100644
--- a/examples/stocks/lib/stock_home.dart
+++ b/examples/stocks/lib/stock_home.dart
@@ -11,7 +11,7 @@
 import 'stock_symbol_viewer.dart';
 import 'stock_types.dart';
 
-typedef void ModeUpdater(StockMode mode);
+typedef ModeUpdater = void Function(StockMode mode);
 
 enum _StockMenuItem { autorefresh, refresh, speedUp, speedDown }
 enum StockHomeTab { market, portfolio }
diff --git a/examples/stocks/lib/stock_row.dart b/examples/stocks/lib/stock_row.dart
index 00e8843..3ced34a 100644
--- a/examples/stocks/lib/stock_row.dart
+++ b/examples/stocks/lib/stock_row.dart
@@ -7,7 +7,7 @@
 import 'stock_arrow.dart';
 import 'stock_data.dart';
 
-typedef void StockRowActionCallback(Stock stock);
+typedef StockRowActionCallback = void Function(Stock stock);
 
 class StockRow extends StatelessWidget {
   StockRow({
diff --git a/packages/flutter/lib/src/animation/animation.dart b/packages/flutter/lib/src/animation/animation.dart
index 3466573..be2c9f6 100644
--- a/packages/flutter/lib/src/animation/animation.dart
+++ b/packages/flutter/lib/src/animation/animation.dart
@@ -22,7 +22,7 @@
 }
 
 /// Signature for listeners attached using [Animation.addStatusListener].
-typedef void AnimationStatusListener(AnimationStatus status);
+typedef AnimationStatusListener = void Function(AnimationStatus status);
 
 /// An animation with a value of type `T`.
 ///
diff --git a/packages/flutter/lib/src/cupertino/refresh.dart b/packages/flutter/lib/src/cupertino/refresh.dart
index 6f53e3a..fd64f06 100644
--- a/packages/flutter/lib/src/cupertino/refresh.dart
+++ b/packages/flutter/lib/src/cupertino/refresh.dart
@@ -209,7 +209,7 @@
 ///
 /// The `pulledExtent` parameter is the currently available space either from
 /// overscrolling or as held by the sliver during refresh.
-typedef Widget RefreshControlIndicatorBuilder(
+typedef RefreshControlIndicatorBuilder = Widget Function(
   BuildContext context,
   RefreshIndicatorMode refreshState,
   double pulledExtent,
@@ -221,7 +221,7 @@
 /// pulled a `refreshTriggerPullDistance`. Must return a [Future]. Upon
 /// completion of the [Future], the [CupertinoSliverRefreshControl] enters the
 /// [RefreshIndicatorMode.done] state and will start to go away.
-typedef Future<void> RefreshCallback();
+typedef RefreshCallback = Future<void> Function();
 
 /// A sliver widget implementing the iOS-style pull to refresh content control.
 ///
diff --git a/packages/flutter/lib/src/cupertino/segmented_control.dart b/packages/flutter/lib/src/cupertino/segmented_control.dart
index 1a25579..24b4598 100644
--- a/packages/flutter/lib/src/cupertino/segmented_control.dart
+++ b/packages/flutter/lib/src/cupertino/segmented_control.dart
@@ -441,7 +441,7 @@
   RRect surroundingRect;
 }
 
-typedef RenderBox _NextChild(RenderBox child);
+typedef _NextChild = RenderBox Function(RenderBox child);
 
 class _RenderSegmentedControl<T> extends RenderBox
     with ContainerRenderObjectMixin<RenderBox, ContainerBoxParentData<RenderBox>>,
diff --git a/packages/flutter/lib/src/foundation/assertions.dart b/packages/flutter/lib/src/foundation/assertions.dart
index ec92613..47330f9 100644
--- a/packages/flutter/lib/src/foundation/assertions.dart
+++ b/packages/flutter/lib/src/foundation/assertions.dart
@@ -6,11 +6,11 @@
 import 'print.dart';
 
 /// Signature for [FlutterError.onError] handler.
-typedef void FlutterExceptionHandler(FlutterErrorDetails details);
+typedef FlutterExceptionHandler = void Function(FlutterErrorDetails details);
 
 /// Signature for [FlutterErrorDetails.informationCollector] callback
 /// and other callbacks that collect information into a string buffer.
-typedef void InformationCollector(StringBuffer information);
+typedef InformationCollector = void Function(StringBuffer information);
 
 /// Class for information provided to [FlutterExceptionHandler] callbacks.
 ///
diff --git a/packages/flutter/lib/src/foundation/basic_types.dart b/packages/flutter/lib/src/foundation/basic_types.dart
index 9837907..dcc4fae 100644
--- a/packages/flutter/lib/src/foundation/basic_types.dart
+++ b/packages/flutter/lib/src/foundation/basic_types.dart
@@ -12,7 +12,7 @@
 /// Signature for callbacks that report that an underlying value has changed.
 ///
 /// See also [ValueSetter].
-typedef void ValueChanged<T>(T value);
+typedef ValueChanged<T> = void Function(T value);
 
 /// Signature for callbacks that report that a value has been set.
 ///
@@ -26,7 +26,7 @@
 ///
 ///  * [ValueGetter], the getter equivalent of this signature.
 ///  * [AsyncValueSetter], an asynchronous version of this signature.
-typedef void ValueSetter<T>(T value);
+typedef ValueSetter<T> = void Function(T value);
 
 /// Signature for callbacks that are to report a value on demand.
 ///
@@ -34,10 +34,10 @@
 ///
 ///  * [ValueSetter], the setter equivalent of this signature.
 ///  * [AsyncValueGetter], an asynchronous version of this signature.
-typedef T ValueGetter<T>();
+typedef ValueGetter<T> = T Function();
 
 /// Signature for callbacks that filter an iterable.
-typedef Iterable<T> IterableFilter<T>(Iterable<T> input);
+typedef IterableFilter<T> = Iterable<T> Function(Iterable<T> input);
 
 /// Signature of callbacks that have no arguments and return no data, but that
 /// return a [Future] to indicate when their work is complete.
@@ -47,7 +47,7 @@
 ///  * [VoidCallback], a synchronous version of this signature.
 ///  * [AsyncValueGetter], a signature for asynchronous getters.
 ///  * [AsyncValueSetter], a signature for asynchronous setters.
-typedef Future<Null> AsyncCallback();
+typedef AsyncCallback = Future<Null> Function();
 
 /// Signature for callbacks that report that a value has been set and return a
 /// [Future] that completes when the value has been saved.
@@ -56,7 +56,7 @@
 ///
 ///  * [ValueSetter], a synchronous version of this signature.
 ///  * [AsyncValueGetter], the getter equivalent of this signature.
-typedef Future<Null> AsyncValueSetter<T>(T value);
+typedef AsyncValueSetter<T> = Future<Null> Function(T value);
 
 /// Signature for callbacks that are to asynchronously report a value on demand.
 ///
@@ -64,7 +64,7 @@
 ///
 ///  * [ValueGetter], a synchronous version of this signature.
 ///  * [AsyncValueSetter], the setter equivalent of this signature.
-typedef Future<T> AsyncValueGetter<T>();
+typedef AsyncValueGetter<T> = Future<T> Function();
 
 
 // BITFIELD
diff --git a/packages/flutter/lib/src/foundation/binding.dart b/packages/flutter/lib/src/foundation/binding.dart
index 03b194f..34e4f42 100644
--- a/packages/flutter/lib/src/foundation/binding.dart
+++ b/packages/flutter/lib/src/foundation/binding.dart
@@ -22,7 +22,7 @@
 /// "type" key will be set to the string `_extensionType` to indicate
 /// that this is a return value from a service extension, and the
 /// "method" key will be set to the full name of the method.
-typedef Future<Map<String, dynamic>> ServiceExtensionCallback(Map<String, String> parameters);
+typedef ServiceExtensionCallback = Future<Map<String, dynamic>> Function(Map<String, String> parameters);
 
 /// Base class for mixins that provide singleton services (also known as
 /// "bindings").
diff --git a/packages/flutter/lib/src/foundation/diagnostics.dart b/packages/flutter/lib/src/foundation/diagnostics.dart
index ee12ad0..4f90f82 100644
--- a/packages/flutter/lib/src/foundation/diagnostics.dart
+++ b/packages/flutter/lib/src/foundation/diagnostics.dart
@@ -1661,7 +1661,7 @@
 /// May throw exception if accessing the property would throw an exception
 /// and callers must handle that case gracefully. For example, accessing a
 /// property may trigger an assert that layout constraints were violated.
-typedef T ComputePropertyValueCallback<T>();
+typedef ComputePropertyValueCallback<T> = T Function();
 
 /// Property with a [value] of type [T].
 ///
diff --git a/packages/flutter/lib/src/foundation/isolates.dart b/packages/flutter/lib/src/foundation/isolates.dart
index 6eec080..603e052 100644
--- a/packages/flutter/lib/src/foundation/isolates.dart
+++ b/packages/flutter/lib/src/foundation/isolates.dart
@@ -18,7 +18,7 @@
 /// of classes, not closures or instance methods of objects.
 ///
 /// {@macro flutter.foundation.compute.limitations}
-typedef R ComputeCallback<Q, R>(Q message);
+typedef ComputeCallback<Q, R> = R Function(Q message);
 
 /// Spawn an isolate, run `callback` on that isolate, passing it `message`, and
 /// (eventually) return the value returned by `callback`.
diff --git a/packages/flutter/lib/src/foundation/licenses.dart b/packages/flutter/lib/src/foundation/licenses.dart
index 48544a1..c49c5cc 100644
--- a/packages/flutter/lib/src/foundation/licenses.dart
+++ b/packages/flutter/lib/src/foundation/licenses.dart
@@ -5,7 +5,7 @@
 import 'dart:async';
 
 /// Signature for callbacks passed to [LicenseRegistry.addLicense].
-typedef Stream<LicenseEntry> LicenseEntryCollector();
+typedef LicenseEntryCollector = Stream<LicenseEntry> Function();
 
 /// A string that represents one paragraph in a [LicenseEntry].
 ///
diff --git a/packages/flutter/lib/src/foundation/print.dart b/packages/flutter/lib/src/foundation/print.dart
index c60d3cb..2e8acd1 100644
--- a/packages/flutter/lib/src/foundation/print.dart
+++ b/packages/flutter/lib/src/foundation/print.dart
@@ -6,7 +6,7 @@
 import 'dart:collection';
 
 /// Signature for [debugPrint] implementations.
-typedef void DebugPrintCallback(String message, { int wrapWidth });
+typedef DebugPrintCallback = void Function(String message, { int wrapWidth });
 
 /// Prints a message to the console, which you can access using the "flutter"
 /// tool's "logs" command ("flutter logs").
diff --git a/packages/flutter/lib/src/gestures/drag_details.dart b/packages/flutter/lib/src/gestures/drag_details.dart
index 0a623da..eebf316 100644
--- a/packages/flutter/lib/src/gestures/drag_details.dart
+++ b/packages/flutter/lib/src/gestures/drag_details.dart
@@ -38,7 +38,7 @@
 /// The `details` object provides the position of the touch.
 ///
 /// See [DragGestureRecognizer.onDown].
-typedef void GestureDragDownCallback(DragDownDetails details);
+typedef GestureDragDownCallback = void Function(DragDownDetails details);
 
 /// Details object for callbacks that use [GestureDragStartCallback].
 ///
@@ -80,7 +80,7 @@
 /// touched the surface.
 ///
 /// See [DragGestureRecognizer.onStart].
-typedef void GestureDragStartCallback(DragStartDetails details);
+typedef GestureDragStartCallback = void Function(DragStartDetails details);
 
 /// Details object for callbacks that use [GestureDragUpdateCallback].
 ///
@@ -150,7 +150,7 @@
 /// has travelled since the last update.
 ///
 /// See [DragGestureRecognizer.onUpdate].
-typedef void GestureDragUpdateCallback(DragUpdateDetails details);
+typedef GestureDragUpdateCallback = void Function(DragUpdateDetails details);
 
 /// Details object for callbacks that use [GestureDragEndCallback].
 ///
diff --git a/packages/flutter/lib/src/gestures/long_press.dart b/packages/flutter/lib/src/gestures/long_press.dart
index b0ad86f..20c4764 100644
--- a/packages/flutter/lib/src/gestures/long_press.dart
+++ b/packages/flutter/lib/src/gestures/long_press.dart
@@ -9,7 +9,7 @@
 
 /// Signature for when a pointer has remained in contact with the screen at the
 /// same location for a long period of time.
-typedef void GestureLongPressCallback();
+typedef GestureLongPressCallback = void Function();
 
 /// Recognizes when the user has pressed down at the same location for a long
 /// period of time.
diff --git a/packages/flutter/lib/src/gestures/monodrag.dart b/packages/flutter/lib/src/gestures/monodrag.dart
index cb8e698..4c25e68 100644
--- a/packages/flutter/lib/src/gestures/monodrag.dart
+++ b/packages/flutter/lib/src/gestures/monodrag.dart
@@ -22,13 +22,13 @@
 /// the screen is available in the `details`.
 ///
 /// See [DragGestureRecognizer.onEnd].
-typedef void GestureDragEndCallback(DragEndDetails details);
+typedef GestureDragEndCallback = void Function(DragEndDetails details);
 
 /// Signature for when the pointer that previously triggered a
 /// [GestureDragDownCallback] did not complete.
 ///
 /// See [DragGestureRecognizer.onCancel].
-typedef void GestureDragCancelCallback();
+typedef GestureDragCancelCallback = void Function();
 
 /// Recognizes movement.
 ///
diff --git a/packages/flutter/lib/src/gestures/multidrag.dart b/packages/flutter/lib/src/gestures/multidrag.dart
index 82cbb98..1b115f6 100644
--- a/packages/flutter/lib/src/gestures/multidrag.dart
+++ b/packages/flutter/lib/src/gestures/multidrag.dart
@@ -17,7 +17,7 @@
 import 'velocity_tracker.dart';
 
 /// Signature for when [MultiDragGestureRecognizer] recognizes the start of a drag gesture.
-typedef Drag GestureMultiDragStartCallback(Offset position);
+typedef GestureMultiDragStartCallback = Drag Function(Offset position);
 
 /// Per-pointer state for a [MultiDragGestureRecognizer].
 ///
diff --git a/packages/flutter/lib/src/gestures/multitap.dart b/packages/flutter/lib/src/gestures/multitap.dart
index fc6d81d..ab34379 100644
--- a/packages/flutter/lib/src/gestures/multitap.dart
+++ b/packages/flutter/lib/src/gestures/multitap.dart
@@ -15,22 +15,22 @@
 
 /// Signature for callback when the user has tapped the screen at the same
 /// location twice in quick succession.
-typedef void GestureDoubleTapCallback();
+typedef GestureDoubleTapCallback = void Function();
 
 /// Signature used by [MultiTapGestureRecognizer] for when a pointer that might
 /// cause a tap has contacted the screen at a particular location.
-typedef void GestureMultiTapDownCallback(int pointer, TapDownDetails details);
+typedef GestureMultiTapDownCallback = void Function(int pointer, TapDownDetails details);
 
 /// Signature used by [MultiTapGestureRecognizer] for when a pointer that will
 /// trigger a tap has stopped contacting the screen at a particular location.
-typedef void GestureMultiTapUpCallback(int pointer, TapUpDetails details);
+typedef GestureMultiTapUpCallback = void Function(int pointer, TapUpDetails details);
 
 /// Signature used by [MultiTapGestureRecognizer] for when a tap has occurred.
-typedef void GestureMultiTapCallback(int pointer);
+typedef GestureMultiTapCallback = void Function(int pointer);
 
 /// Signature for when the pointer that previously triggered a
 /// [GestureMultiTapDownCallback] will not end up causing a tap.
-typedef void GestureMultiTapCancelCallback(int pointer);
+typedef GestureMultiTapCancelCallback = void Function(int pointer);
 
 /// TapTracker helps track individual tap sequences as part of a
 /// larger gesture.
diff --git a/packages/flutter/lib/src/gestures/pointer_router.dart b/packages/flutter/lib/src/gestures/pointer_router.dart
index 0ac00cb..fc252d7 100644
--- a/packages/flutter/lib/src/gestures/pointer_router.dart
+++ b/packages/flutter/lib/src/gestures/pointer_router.dart
@@ -9,7 +9,7 @@
 import 'events.dart';
 
 /// A callback that receives a [PointerEvent]
-typedef void PointerRoute(PointerEvent event);
+typedef PointerRoute = void Function(PointerEvent event);
 
 /// A routing table for [PointerEvent] events.
 class PointerRouter {
diff --git a/packages/flutter/lib/src/gestures/recognizer.dart b/packages/flutter/lib/src/gestures/recognizer.dart
index d35f461..ca71a26 100644
--- a/packages/flutter/lib/src/gestures/recognizer.dart
+++ b/packages/flutter/lib/src/gestures/recognizer.dart
@@ -22,7 +22,7 @@
 /// [GestureRecognizer.invokeCallback]. This allows the
 /// [GestureRecognizer.invokeCallback] mechanism to be generically used with
 /// anonymous functions that return objects of particular types.
-typedef T RecognizerCallback<T>();
+typedef RecognizerCallback<T> = T Function();
 
 /// The base class that all gesture recognizers inherit from.
 ///
diff --git a/packages/flutter/lib/src/gestures/scale.dart b/packages/flutter/lib/src/gestures/scale.dart
index c594caa..d672749 100644
--- a/packages/flutter/lib/src/gestures/scale.dart
+++ b/packages/flutter/lib/src/gestures/scale.dart
@@ -84,14 +84,14 @@
 
 /// Signature for when the pointers in contact with the screen have established
 /// a focal point and initial scale of 1.0.
-typedef void GestureScaleStartCallback(ScaleStartDetails details);
+typedef GestureScaleStartCallback = void Function(ScaleStartDetails details);
 
 /// Signature for when the pointers in contact with the screen have indicated a
 /// new focal point and/or scale.
-typedef void GestureScaleUpdateCallback(ScaleUpdateDetails details);
+typedef GestureScaleUpdateCallback = void Function(ScaleUpdateDetails details);
 
 /// Signature for when the pointers are no longer in contact with the screen.
-typedef void GestureScaleEndCallback(ScaleEndDetails details);
+typedef GestureScaleEndCallback = void Function(ScaleEndDetails details);
 
 bool _isFlingGesture(Velocity velocity) {
   assert(velocity != null);
diff --git a/packages/flutter/lib/src/gestures/tap.dart b/packages/flutter/lib/src/gestures/tap.dart
index af588ad..0f063bf 100644
--- a/packages/flutter/lib/src/gestures/tap.dart
+++ b/packages/flutter/lib/src/gestures/tap.dart
@@ -36,7 +36,7 @@
 ///
 ///  * [GestureDetector.onTapDown], which matches this signature.
 ///  * [TapGestureRecognizer], which uses this signature in one of its callbacks.
-typedef void GestureTapDownCallback(TapDownDetails details);
+typedef GestureTapDownCallback = void Function(TapDownDetails details);
 
 /// Details for [GestureTapUpCallback], such as position.
 ///
@@ -65,7 +65,7 @@
 ///
 ///  * [GestureDetector.onTapUp], which matches this signature.
 ///  * [TapGestureRecognizer], which uses this signature in one of its callbacks.
-typedef void GestureTapUpCallback(TapUpDetails details);
+typedef GestureTapUpCallback = void Function(TapUpDetails details);
 
 /// Signature for when a tap has occurred.
 ///
@@ -73,7 +73,7 @@
 ///
 ///  * [GestureDetector.onTap], which matches this signature.
 ///  * [TapGestureRecognizer], which uses this signature in one of its callbacks.
-typedef void GestureTapCallback();
+typedef GestureTapCallback = void Function();
 
 /// Signature for when the pointer that previously triggered a
 /// [GestureTapDownCallback] will not end up causing a tap.
@@ -82,7 +82,7 @@
 ///
 ///  * [GestureDetector.onTapCancel], which matches this signature.
 ///  * [TapGestureRecognizer], which uses this signature in one of its callbacks.
-typedef void GestureTapCancelCallback();
+typedef GestureTapCancelCallback = void Function();
 
 /// Recognizes taps.
 ///
diff --git a/packages/flutter/lib/src/material/animated_icons/animated_icons.dart b/packages/flutter/lib/src/material/animated_icons/animated_icons.dart
index b063c20..1077544 100644
--- a/packages/flutter/lib/src/material/animated_icons/animated_icons.dart
+++ b/packages/flutter/lib/src/material/animated_icons/animated_icons.dart
@@ -126,7 +126,7 @@
   }
 }
 
-typedef ui.Path _UiPathFactory();
+typedef _UiPathFactory = ui.Path Function();
 
 class _AnimatedIconPainter extends CustomPainter {
   _AnimatedIconPainter({
@@ -297,4 +297,4 @@
   return interpolator(values[lowIdx], values[highIdx], t);
 }
 
-typedef T _Interpolator<T>(T a, T b, double progress);
+typedef _Interpolator<T> = T Function(T a, T b, double progress);
diff --git a/packages/flutter/lib/src/material/arc.dart b/packages/flutter/lib/src/material/arc.dart
index be0345c..edaf96f 100644
--- a/packages/flutter/lib/src/material/arc.dart
+++ b/packages/flutter/lib/src/material/arc.dart
@@ -193,7 +193,7 @@
   _Diagonal(_CornerId.bottomLeft, _CornerId.topRight),
 ];
 
-typedef dynamic _KeyFunc<T>(T input);
+typedef _KeyFunc<T> = dynamic Function(T input);
 
 // Select the element for which the key function returns the maximum value.
 T _maxBy<T>(Iterable<T> input, _KeyFunc<T> keyFunc) {
diff --git a/packages/flutter/lib/src/material/data_table.dart b/packages/flutter/lib/src/material/data_table.dart
index 67e508a..f76be29 100644
--- a/packages/flutter/lib/src/material/data_table.dart
+++ b/packages/flutter/lib/src/material/data_table.dart
@@ -21,7 +21,7 @@
 import 'tooltip.dart';
 
 /// Signature for [DataColumn.onSort] callback.
-typedef void DataColumnSortCallback(int columnIndex, bool ascending);
+typedef DataColumnSortCallback = void Function(int columnIndex, bool ascending);
 
 /// Column configuration for a [DataTable].
 ///
diff --git a/packages/flutter/lib/src/material/date_picker.dart b/packages/flutter/lib/src/material/date_picker.dart
index 55f4a3f..f6c1e7b 100644
--- a/packages/flutter/lib/src/material/date_picker.dart
+++ b/packages/flutter/lib/src/material/date_picker.dart
@@ -1040,7 +1040,7 @@
 /// Signature for predicating dates for enabled date selections.
 ///
 /// See [showDatePicker].
-typedef bool SelectableDayPredicate(DateTime day);
+typedef SelectableDayPredicate = bool Function(DateTime day);
 
 /// Shows a dialog containing a material design date picker.
 ///
diff --git a/packages/flutter/lib/src/material/drawer.dart b/packages/flutter/lib/src/material/drawer.dart
index 96fac67..e5a848c 100644
--- a/packages/flutter/lib/src/material/drawer.dart
+++ b/packages/flutter/lib/src/material/drawer.dart
@@ -145,7 +145,7 @@
 
 /// Signature for the callback that's called when a [DrawerController] is
 /// opened or closed.
-typedef void DrawerCallback(bool isOpened);
+typedef DrawerCallback = void Function(bool isOpened);
 
 /// Provides interactive behavior for [Drawer] widgets.
 ///
diff --git a/packages/flutter/lib/src/material/expansion_panel.dart b/packages/flutter/lib/src/material/expansion_panel.dart
index 3ed9ccb..01eabb6 100644
--- a/packages/flutter/lib/src/material/expansion_panel.dart
+++ b/packages/flutter/lib/src/material/expansion_panel.dart
@@ -43,11 +43,11 @@
 ///
 /// The position of the panel within an [ExpansionPanelList] is given by
 /// [panelIndex].
-typedef void ExpansionPanelCallback(int panelIndex, bool isExpanded);
+typedef ExpansionPanelCallback = void Function(int panelIndex, bool isExpanded);
 
 /// Signature for the callback that's called when the header of the
 /// [ExpansionPanel] needs to rebuild.
-typedef Widget ExpansionPanelHeaderBuilder(BuildContext context, bool isExpanded);
+typedef ExpansionPanelHeaderBuilder = Widget Function(BuildContext context, bool isExpanded);
 
 /// A material expansion panel. It has a header and a body and can be either
 /// expanded or collapsed. The body of the panel is only visible when it is
diff --git a/packages/flutter/lib/src/material/material.dart b/packages/flutter/lib/src/material/material.dart
index 88e24d6..d522a07 100644
--- a/packages/flutter/lib/src/material/material.dart
+++ b/packages/flutter/lib/src/material/material.dart
@@ -12,7 +12,7 @@
 /// Signature for the callback used by ink effects to obtain the rectangle for the effect.
 ///
 /// Used by [InkHighlight] and [InkSplash], for example.
-typedef Rect RectCallback();
+typedef RectCallback = Rect Function();
 
 /// The various kinds of material in material design. Used to
 /// configure the default behavior of [Material] widgets.
diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart
index d769657..83808d1 100644
--- a/packages/flutter/lib/src/material/popup_menu.dart
+++ b/packages/flutter/lib/src/material/popup_menu.dart
@@ -741,19 +741,19 @@
 /// dismissed.
 ///
 /// Used by [PopupMenuButton.onSelected].
-typedef void PopupMenuItemSelected<T>(T value);
+typedef PopupMenuItemSelected<T> = void Function(T value);
 
 /// Signature for the callback invoked when a [PopupMenuButton] is dismissed
 /// without selecting an item.
 ///
 /// Used by [PopupMenuButton.onCanceled].
-typedef void PopupMenuCanceled();
+typedef PopupMenuCanceled = void Function();
 
 /// Signature used by [PopupMenuButton] to lazily construct the items shown when
 /// the button is pressed.
 ///
 /// Used by [PopupMenuButton.itemBuilder].
-typedef List<PopupMenuEntry<T>> PopupMenuItemBuilder<T>(BuildContext context);
+typedef PopupMenuItemBuilder<T> = List<PopupMenuEntry<T>> Function(BuildContext context);
 
 /// Displays a menu when pressed and calls [onSelected] when the menu is dismissed
 /// because an item was selected. The value passed to [onSelected] is the value of
diff --git a/packages/flutter/lib/src/material/refresh_indicator.dart b/packages/flutter/lib/src/material/refresh_indicator.dart
index 1481c6b..da410e9 100644
--- a/packages/flutter/lib/src/material/refresh_indicator.dart
+++ b/packages/flutter/lib/src/material/refresh_indicator.dart
@@ -32,7 +32,7 @@
 /// finished.
 ///
 /// Used by [RefreshIndicator.onRefresh].
-typedef Future<void> RefreshCallback();
+typedef RefreshCallback = Future<void> Function();
 
 // The state machine moves through these modes only when the scrollable
 // identified by scrollableKey has been scrolled to its min or max limit.
diff --git a/packages/flutter/lib/src/material/reorderable_list.dart b/packages/flutter/lib/src/material/reorderable_list.dart
index 9cd7612..e5a2553 100644
--- a/packages/flutter/lib/src/material/reorderable_list.dart
+++ b/packages/flutter/lib/src/material/reorderable_list.dart
@@ -36,7 +36,7 @@
 ///   backingList.insert(newIndex, element);
 /// }
 /// ```
-typedef void OnReorderCallback(int oldIndex, int newIndex);
+typedef OnReorderCallback = void Function(int oldIndex, int newIndex);
 
 /// A list whose items the user can interactively reorder by dragging.
 ///
diff --git a/packages/flutter/lib/src/material/slider.dart b/packages/flutter/lib/src/material/slider.dart
index 78a396b..6890f53 100644
--- a/packages/flutter/lib/src/material/slider.dart
+++ b/packages/flutter/lib/src/material/slider.dart
@@ -26,7 +26,7 @@
 /// See also:
 ///
 ///   * [Slider.semanticFormatterCallback], which shows an example use case.
-typedef String SemanticFormatterCallback(double value);
+typedef SemanticFormatterCallback = String Function(double value);
 
 /// A Material Design slider.
 ///
diff --git a/packages/flutter/lib/src/material/tabs.dart b/packages/flutter/lib/src/material/tabs.dart
index 55728d0..a24503e 100644
--- a/packages/flutter/lib/src/material/tabs.dart
+++ b/packages/flutter/lib/src/material/tabs.dart
@@ -174,7 +174,7 @@
   }
 }
 
-typedef void _LayoutCallback(List<double> xOffsets, TextDirection textDirection, double width);
+typedef _LayoutCallback = void Function(List<double> xOffsets, TextDirection textDirection, double width);
 
 class _TabLabelBarRenderer extends RenderFlex {
   _TabLabelBarRenderer({
diff --git a/packages/flutter/lib/src/painting/image_stream.dart b/packages/flutter/lib/src/painting/image_stream.dart
index beef3b0..57dd522 100644
--- a/packages/flutter/lib/src/painting/image_stream.dart
+++ b/packages/flutter/lib/src/painting/image_stream.dart
@@ -66,12 +66,12 @@
 /// frame is requested if the call was asynchronous (after the current frame)
 /// and no rendering frame is requested if the call was synchronous (within the
 /// same stack frame as the call to [ImageStream.addListener]).
-typedef void ImageListener(ImageInfo image, bool synchronousCall);
+typedef ImageListener = void Function(ImageInfo image, bool synchronousCall);
 
 /// Signature for reporting errors when resolving images.
 ///
 /// Used by [ImageStream] and [precacheImage] to report errors.
-typedef void ImageErrorListener(dynamic exception, StackTrace stackTrace);
+typedef ImageErrorListener = void Function(dynamic exception, StackTrace stackTrace);
 
 class _ImageListenerPair {
   _ImageListenerPair(this.listener, this.errorListener);
diff --git a/packages/flutter/lib/src/rendering/custom_paint.dart b/packages/flutter/lib/src/rendering/custom_paint.dart
index 17e82cf..78d04df 100644
--- a/packages/flutter/lib/src/rendering/custom_paint.dart
+++ b/packages/flutter/lib/src/rendering/custom_paint.dart
@@ -22,7 +22,7 @@
 /// The returned list must not be mutated after this function completes. To
 /// change the semantic information, the function must return a new list
 /// instead.
-typedef List<CustomPainterSemantics> SemanticsBuilderCallback(Size size);
+typedef SemanticsBuilderCallback = List<CustomPainterSemantics> Function(Size size);
 
 /// The interface used by [CustomPaint] (in the widgets library) and
 /// [RenderCustomPaint] (in the rendering library).
diff --git a/packages/flutter/lib/src/rendering/editable.dart b/packages/flutter/lib/src/rendering/editable.dart
index db62b5c..7c3d841 100644
--- a/packages/flutter/lib/src/rendering/editable.dart
+++ b/packages/flutter/lib/src/rendering/editable.dart
@@ -23,7 +23,7 @@
 /// (including the cursor location).
 ///
 /// Used by [RenderEditable.onSelectionChanged].
-typedef void SelectionChangedHandler(TextSelection selection, RenderEditable renderObject, SelectionChangedCause cause);
+typedef SelectionChangedHandler = void Function(TextSelection selection, RenderEditable renderObject, SelectionChangedCause cause);
 
 /// Indicates what triggered the change in selected text (including changes to
 /// the cursor location).
@@ -47,7 +47,7 @@
 /// Signature for the callback that reports when the caret location changes.
 ///
 /// Used by [RenderEditable.onCaretChanged].
-typedef void CaretChangedHandler(Rect caretRect);
+typedef CaretChangedHandler = void Function(Rect caretRect);
 
 /// Represents the coordinates of the point in a selection, and the text
 /// direction at that point, relative to top left of the [RenderEditable] that
diff --git a/packages/flutter/lib/src/rendering/flex.dart b/packages/flutter/lib/src/rendering/flex.dart
index 9702974..5a28531 100644
--- a/packages/flutter/lib/src/rendering/flex.dart
+++ b/packages/flutter/lib/src/rendering/flex.dart
@@ -212,7 +212,7 @@
   return null;
 }
 
-typedef double _ChildSizingFunction(RenderBox child, double extent);
+typedef _ChildSizingFunction = double Function(RenderBox child, double extent);
 
 /// Displays its children in a one-dimensional array.
 ///
diff --git a/packages/flutter/lib/src/rendering/list_body.dart b/packages/flutter/lib/src/rendering/list_body.dart
index 2127d65..b3149df 100644
--- a/packages/flutter/lib/src/rendering/list_body.dart
+++ b/packages/flutter/lib/src/rendering/list_body.dart
@@ -10,7 +10,7 @@
 /// Parent data for use with [RenderListBody].
 class ListBodyParentData extends ContainerBoxParentData<RenderBox> { }
 
-typedef double _ChildSizingFunction(RenderBox child);
+typedef _ChildSizingFunction = double Function(RenderBox child);
 
 /// Displays its children sequentially along a given axis, forcing them to the
 /// dimensions of the parent in the other axis.
diff --git a/packages/flutter/lib/src/rendering/list_wheel_viewport.dart b/packages/flutter/lib/src/rendering/list_wheel_viewport.dart
index c9b6903..66f3631 100644
--- a/packages/flutter/lib/src/rendering/list_wheel_viewport.dart
+++ b/packages/flutter/lib/src/rendering/list_wheel_viewport.dart
@@ -13,7 +13,7 @@
 import 'viewport.dart';
 import 'viewport_offset.dart';
 
-typedef double _ChildSizingFunction(RenderBox child);
+typedef _ChildSizingFunction = double Function(RenderBox child);
 
 /// A delegate used by [RenderListWheelViewport] to manage its children.
 ///
diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart
index 744004b..9de50e9 100644
--- a/packages/flutter/lib/src/rendering/object.dart
+++ b/packages/flutter/lib/src/rendering/object.dart
@@ -42,7 +42,7 @@
 /// of the [PaintingContext.canvas] to the coordinate system of the callee.
 ///
 /// Used by many of the methods of [PaintingContext].
-typedef void PaintingContextCallback(PaintingContext context, Offset offset);
+typedef PaintingContextCallback = void Function(PaintingContext context, Offset offset);
 
 /// A place to paint.
 ///
@@ -586,12 +586,12 @@
 /// Signature for a function that is called for each [RenderObject].
 ///
 /// Used by [RenderObject.visitChildren] and [RenderObject.visitChildrenForSemantics].
-typedef void RenderObjectVisitor(RenderObject child);
+typedef RenderObjectVisitor = void Function(RenderObject child);
 
 /// Signature for a function that is called during layout.
 ///
 /// Used by [RenderObject.invokeLayoutCallback].
-typedef void LayoutCallback<T extends Constraints>(T constraints);
+typedef LayoutCallback<T extends Constraints> = void Function(T constraints);
 
 /// A reference to the semantics tree.
 ///
diff --git a/packages/flutter/lib/src/rendering/platform_view.dart b/packages/flutter/lib/src/rendering/platform_view.dart
index f409e1e..dc87c77 100644
--- a/packages/flutter/lib/src/rendering/platform_view.dart
+++ b/packages/flutter/lib/src/rendering/platform_view.dart
@@ -303,7 +303,7 @@
   }
 }
 
-typedef Offset _GlobalToLocal(Offset point);
+typedef _GlobalToLocal = Offset Function(Offset point);
 
 // Composes a stream of PointerEvent objects into AndroidMotionEvent objects
 // and dispatches them to the associated embedded Android view.
diff --git a/packages/flutter/lib/src/rendering/proxy_box.dart b/packages/flutter/lib/src/rendering/proxy_box.dart
index 961b249..46d988e 100644
--- a/packages/flutter/lib/src/rendering/proxy_box.dart
+++ b/packages/flutter/lib/src/rendering/proxy_box.dart
@@ -922,7 +922,7 @@
 /// Signature for a function that creates a [Shader] for a given [Rect].
 ///
 /// Used by [RenderShaderMask] and the [ShaderMask] widget.
-typedef Shader ShaderCallback(Rect bounds);
+typedef ShaderCallback = Shader Function(Rect bounds);
 
 /// Applies a mask generated by a [Shader] to its child.
 ///
@@ -2443,22 +2443,22 @@
 /// Signature for listening to [PointerDownEvent] events.
 ///
 /// Used by [Listener] and [RenderPointerListener].
-typedef void PointerDownEventListener(PointerDownEvent event);
+typedef PointerDownEventListener = void Function(PointerDownEvent event);
 
 /// Signature for listening to [PointerMoveEvent] events.
 ///
 /// Used by [Listener] and [RenderPointerListener].
-typedef void PointerMoveEventListener(PointerMoveEvent event);
+typedef PointerMoveEventListener = void Function(PointerMoveEvent event);
 
 /// Signature for listening to [PointerUpEvent] events.
 ///
 /// Used by [Listener] and [RenderPointerListener].
-typedef void PointerUpEventListener(PointerUpEvent event);
+typedef PointerUpEventListener = void Function(PointerUpEvent event);
 
 /// Signature for listening to [PointerCancelEvent] events.
 ///
 /// Used by [Listener] and [RenderPointerListener].
-typedef void PointerCancelEventListener(PointerCancelEvent event);
+typedef PointerCancelEventListener = void Function(PointerCancelEvent event);
 
 /// Calls callbacks in response to pointer events.
 ///
diff --git a/packages/flutter/lib/src/scheduler/binding.dart b/packages/flutter/lib/src/scheduler/binding.dart
index 7ac7e4f..61f8d17 100644
--- a/packages/flutter/lib/src/scheduler/binding.dart
+++ b/packages/flutter/lib/src/scheduler/binding.dart
@@ -39,13 +39,13 @@
 /// scheduler's epoch. Use timeStamp to determine how far to advance animation
 /// timelines so that all the animations in the system are synchronized to a
 /// common time base.
-typedef void FrameCallback(Duration timeStamp);
+typedef FrameCallback = void Function(Duration timeStamp);
 
 /// Signature for [Scheduler.scheduleTask] callbacks.
 ///
 /// The type argument `T` is the task's return value. Consider [void] if the
 /// task does not return a value.
-typedef T TaskCallback<T>();
+typedef TaskCallback<T> = T Function();
 
 /// Signature for the [SchedulerBinding.schedulingStrategy] callback. Called
 /// whenever the system needs to decide whether a task at a given
@@ -55,7 +55,7 @@
 /// at this time, false otherwise.
 ///
 /// See also [defaultSchedulingStrategy].
-typedef bool SchedulingStrategy({ int priority, SchedulerBinding scheduler });
+typedef SchedulingStrategy = bool Function({ int priority, SchedulerBinding scheduler });
 
 class _TaskEntry<T> {
   _TaskEntry(this.task, this.priority, this.debugLabel, this.flow) {
diff --git a/packages/flutter/lib/src/scheduler/ticker.dart b/packages/flutter/lib/src/scheduler/ticker.dart
index 93198a7..a943a91 100644
--- a/packages/flutter/lib/src/scheduler/ticker.dart
+++ b/packages/flutter/lib/src/scheduler/ticker.dart
@@ -12,7 +12,7 @@
 ///
 /// The argument is the time that the object had spent enabled so far
 /// at the time of the callback being called.
-typedef void TickerCallback(Duration elapsed);
+typedef TickerCallback = void Function(Duration elapsed);
 
 /// An interface implemented by classes that can vend [Ticker] objects.
 ///
diff --git a/packages/flutter/lib/src/semantics/semantics.dart b/packages/flutter/lib/src/semantics/semantics.dart
index 3455bdf..6d956ba 100644
--- a/packages/flutter/lib/src/semantics/semantics.dart
+++ b/packages/flutter/lib/src/semantics/semantics.dart
@@ -23,19 +23,19 @@
 /// Return false to stop visiting nodes.
 ///
 /// Used by [SemanticsNode.visitChildren].
-typedef bool SemanticsNodeVisitor(SemanticsNode node);
+typedef SemanticsNodeVisitor = bool Function(SemanticsNode node);
 
 /// Signature for [SemanticsAction]s that move the cursor.
 ///
 /// If `extendSelection` is set to true the cursor movement should extend the
 /// current selection or (if nothing is currently selected) start a selection.
-typedef void MoveCursorHandler(bool extendSelection);
+typedef MoveCursorHandler = void Function(bool extendSelection);
 
 /// Signature for the [SemanticsAction.setSelection] handlers to change the
 /// text selection (or re-position the cursor) to `selection`.
-typedef void SetSelectionHandler(TextSelection selection);
+typedef SetSelectionHandler = void Function(TextSelection selection);
 
-typedef void _SemanticsActionHandler(dynamic args);
+typedef _SemanticsActionHandler = void Function(dynamic args);
 
 /// A tag for a [SemanticsNode].
 ///
diff --git a/packages/flutter/lib/src/services/platform_messages.dart b/packages/flutter/lib/src/services/platform_messages.dart
index 40e3e2e..ef26456 100644
--- a/packages/flutter/lib/src/services/platform_messages.dart
+++ b/packages/flutter/lib/src/services/platform_messages.dart
@@ -10,7 +10,7 @@
 
 import 'platform_channel.dart';
 
-typedef Future<ByteData> _MessageHandler(ByteData message);
+typedef _MessageHandler = Future<ByteData> Function(ByteData message);
 
 /// Sends binary messages to and receives binary messages from platform plugins.
 ///
diff --git a/packages/flutter/lib/src/services/platform_views.dart b/packages/flutter/lib/src/services/platform_views.dart
index eea7115..e015a98 100644
--- a/packages/flutter/lib/src/services/platform_views.dart
+++ b/packages/flutter/lib/src/services/platform_views.dart
@@ -39,7 +39,7 @@
 /// Callback signature for when a platform view was created.
 ///
 /// `id` is the platform view's unique identifier.
-typedef void PlatformViewCreatedCallback(int id);
+typedef PlatformViewCreatedCallback = void Function(int id);
 
 /// Provides access to the platform views service.
 ///
diff --git a/packages/flutter/lib/src/services/text_formatter.dart b/packages/flutter/lib/src/services/text_formatter.dart
index 123efff..1eec81c 100644
--- a/packages/flutter/lib/src/services/text_formatter.dart
+++ b/packages/flutter/lib/src/services/text_formatter.dart
@@ -53,7 +53,7 @@
 
 /// Function signature expected for creating custom [TextInputFormatter]
 /// shorthands via [TextInputFormatter.withFunction];
-typedef TextEditingValue TextInputFormatFunction(
+typedef TextInputFormatFunction = TextEditingValue Function(
     TextEditingValue oldValue,
     TextEditingValue newValue,
 );
diff --git a/packages/flutter/lib/src/widgets/animated_cross_fade.dart b/packages/flutter/lib/src/widgets/animated_cross_fade.dart
index 065b75c..13d64f9 100644
--- a/packages/flutter/lib/src/widgets/animated_cross_fade.dart
+++ b/packages/flutter/lib/src/widgets/animated_cross_fade.dart
@@ -57,7 +57,7 @@
 ///   );
 /// }
 /// ```
-typedef Widget AnimatedCrossFadeBuilder(Widget topChild, Key topChildKey, Widget bottomChild, Key bottomChildKey);
+typedef AnimatedCrossFadeBuilder = Widget Function(Widget topChild, Key topChildKey, Widget bottomChild, Key bottomChildKey);
 
 /// A widget that cross-fades between two given children and animates itself
 /// between their sizes.
diff --git a/packages/flutter/lib/src/widgets/animated_list.dart b/packages/flutter/lib/src/widgets/animated_list.dart
index b33dafb..b44f471 100644
--- a/packages/flutter/lib/src/widgets/animated_list.dart
+++ b/packages/flutter/lib/src/widgets/animated_list.dart
@@ -14,10 +14,10 @@
 import 'ticker_provider.dart';
 
 /// Signature for the builder callback used by [AnimatedList].
-typedef Widget AnimatedListItemBuilder(BuildContext context, int index, Animation<double> animation);
+typedef AnimatedListItemBuilder = Widget Function(BuildContext context, int index, Animation<double> animation);
 
 /// Signature for the builder callback used by [AnimatedListState.removeItem].
-typedef Widget AnimatedListRemovedItemBuilder(BuildContext context, Animation<double> animation);
+typedef AnimatedListRemovedItemBuilder = Widget Function(BuildContext context, Animation<double> animation);
 
 // The default insert/remove animation duration.
 const Duration _kDuration = Duration(milliseconds: 300);
diff --git a/packages/flutter/lib/src/widgets/animated_switcher.dart b/packages/flutter/lib/src/widgets/animated_switcher.dart
index 22f0072..cddbcb0 100644
--- a/packages/flutter/lib/src/widgets/animated_switcher.dart
+++ b/packages/flutter/lib/src/widgets/animated_switcher.dart
@@ -43,7 +43,7 @@
 ///
 /// The function should return a widget which wraps the given `child`. It may
 /// also use the `animation` to inform its transition. It must not return null.
-typedef Widget AnimatedSwitcherTransitionBuilder(Widget child, Animation<double> animation);
+typedef AnimatedSwitcherTransitionBuilder = Widget Function(Widget child, Animation<double> animation);
 
 /// Signature for builders used to generate custom layouts for
 /// [AnimatedSwitcher].
@@ -55,7 +55,7 @@
 /// The `previousChildren` list is an unmodifiable list, sorted with the oldest
 /// at the beginning and the newest at the end. It does not include the
 /// `currentChild`.
-typedef Widget AnimatedSwitcherLayoutBuilder(Widget currentChild, List<Widget> previousChildren);
+typedef AnimatedSwitcherLayoutBuilder = Widget Function(Widget currentChild, List<Widget> previousChildren);
 
 /// A widget that by default does a [FadeTransition] between a new widget and
 /// the widget previously set on the [AnimatedSwitcher] as a child.
diff --git a/packages/flutter/lib/src/widgets/app.dart b/packages/flutter/lib/src/widgets/app.dart
index b27a0dd..2416598 100644
--- a/packages/flutter/lib/src/widgets/app.dart
+++ b/packages/flutter/lib/src/widgets/app.dart
@@ -31,7 +31,7 @@
 /// The `locale` is the device's locale when the app started, or the device
 /// locale the user selected after the app was started. The `supportedLocales`
 /// parameter is just the value of [WidgetsApp.supportedLocales].
-typedef Locale LocaleResolutionCallback(Locale locale, Iterable<Locale> supportedLocales);
+typedef LocaleResolutionCallback = Locale Function(Locale locale, Iterable<Locale> supportedLocales);
 
 /// The signature of [WidgetsApp.onGenerateTitle].
 ///
@@ -41,7 +41,7 @@
 /// localized title.
 ///
 /// This function must not return null.
-typedef String GenerateAppTitle(BuildContext context);
+typedef GenerateAppTitle = String Function(BuildContext context);
 
 /// A convenience class that wraps a number of widgets that are commonly
 /// required for an application.
diff --git a/packages/flutter/lib/src/widgets/async.dart b/packages/flutter/lib/src/widgets/async.dart
index 19e6286..5100b3c 100644
--- a/packages/flutter/lib/src/widgets/async.dart
+++ b/packages/flutter/lib/src/widgets/async.dart
@@ -288,7 +288,7 @@
 /// itself based on a snapshot from interacting with a [Stream].
 /// * [FutureBuilder], which delegates to an [AsyncWidgetBuilder] to build
 /// itself based on a snapshot from interacting with a [Future].
-typedef Widget AsyncWidgetBuilder<T>(BuildContext context, AsyncSnapshot<T> snapshot);
+typedef AsyncWidgetBuilder<T> = Widget Function(BuildContext context, AsyncSnapshot<T> snapshot);
 
 /// Widget that builds itself based on the latest snapshot of interaction with
 /// a [Stream].
diff --git a/packages/flutter/lib/src/widgets/basic.dart b/packages/flutter/lib/src/widgets/basic.dart
index 9223dd9..d94669a 100644
--- a/packages/flutter/lib/src/widgets/basic.dart
+++ b/packages/flutter/lib/src/widgets/basic.dart
@@ -5608,7 +5608,7 @@
 /// Signature for the builder callback used by [StatefulBuilder].
 ///
 /// Call [setState] to schedule the [StatefulBuilder] to rebuild.
-typedef Widget StatefulWidgetBuilder(BuildContext context, StateSetter setState);
+typedef StatefulWidgetBuilder = Widget Function(BuildContext context, StateSetter setState);
 
 /// A platonic widget that both has state and calls a closure to obtain its child widget.
 ///
diff --git a/packages/flutter/lib/src/widgets/dismissible.dart b/packages/flutter/lib/src/widgets/dismissible.dart
index 09a9fc5..27b3a8f 100644
--- a/packages/flutter/lib/src/widgets/dismissible.dart
+++ b/packages/flutter/lib/src/widgets/dismissible.dart
@@ -20,7 +20,7 @@
 /// the given `direction`.
 ///
 /// Used by [Dismissible.onDismissed].
-typedef void DismissDirectionCallback(DismissDirection direction);
+typedef DismissDirectionCallback = void Function(DismissDirection direction);
 
 /// The direction in which a [Dismissible] can be dismissed.
 enum DismissDirection {
diff --git a/packages/flutter/lib/src/widgets/drag_target.dart b/packages/flutter/lib/src/widgets/drag_target.dart
index 329114b..ba289f5 100644
--- a/packages/flutter/lib/src/widgets/drag_target.dart
+++ b/packages/flutter/lib/src/widgets/drag_target.dart
@@ -14,12 +14,12 @@
 /// Signature for determining whether the given data will be accepted by a [DragTarget].
 ///
 /// Used by [DragTarget.onWillAccept].
-typedef bool DragTargetWillAccept<T>(T data);
+typedef DragTargetWillAccept<T> = bool Function(T data);
 
 /// Signature for causing a [DragTarget] to accept the given data.
 ///
 /// Used by [DragTarget.onAccept].
-typedef void DragTargetAccept<T>(T data);
+typedef DragTargetAccept<T> = void Function(T data);
 
 /// Signature for building children of a [DragTarget].
 ///
@@ -29,17 +29,17 @@
 /// this [DragTarget] and that will not be accepted by the [DragTarget].
 ///
 /// Used by [DragTarget.builder].
-typedef Widget DragTargetBuilder<T>(BuildContext context, List<T> candidateData, List<dynamic> rejectedData);
+typedef DragTargetBuilder<T> = Widget Function(BuildContext context, List<T> candidateData, List<dynamic> rejectedData);
 
 /// Signature for when a [Draggable] is dropped without being accepted by a [DragTarget].
 ///
 /// Used by [Draggable.onDraggableCanceled].
-typedef void DraggableCanceledCallback(Velocity velocity, Offset offset);
+typedef DraggableCanceledCallback = void Function(Velocity velocity, Offset offset);
 
 /// Signature for when a [Draggable] leaves a [DragTarget].
 ///
 /// Used by [DragTarget.onLeave].
-typedef void DragTargetLeave<T>(T data);
+typedef DragTargetLeave<T> = void Function(T data);
 
 /// Where the [Draggable] should be anchored during a drag.
 enum DragAnchor {
@@ -501,7 +501,7 @@
 }
 
 enum _DragEndKind { dropped, canceled }
-typedef void _OnDragEnd(Velocity velocity, Offset offset, bool wasAccepted);
+typedef _OnDragEnd = void Function(Velocity velocity, Offset offset, bool wasAccepted);
 
 // The lifetime of this object is a little dubious right now. Specifically, it
 // lives as long as the pointer is down. Arguably it should self-immolate if the
diff --git a/packages/flutter/lib/src/widgets/editable_text.dart b/packages/flutter/lib/src/widgets/editable_text.dart
index 0fdb698..3c79cc6 100644
--- a/packages/flutter/lib/src/widgets/editable_text.dart
+++ b/packages/flutter/lib/src/widgets/editable_text.dart
@@ -27,7 +27,7 @@
 
 /// Signature for the callback that reports when the user changes the selection
 /// (including the cursor location).
-typedef void SelectionChangedCallback(TextSelection selection, SelectionChangedCause cause);
+typedef SelectionChangedCallback = void Function(TextSelection selection, SelectionChangedCause cause);
 
 const Duration _kCursorBlinkHalfPeriod = Duration(milliseconds: 500);
 
diff --git a/packages/flutter/lib/src/widgets/fade_in_image.dart b/packages/flutter/lib/src/widgets/fade_in_image.dart
index b0b9b41..4ce4599 100644
--- a/packages/flutter/lib/src/widgets/fade_in_image.dart
+++ b/packages/flutter/lib/src/widgets/fade_in_image.dart
@@ -311,7 +311,7 @@
   completed,
 }
 
-typedef void _ImageProviderResolverListener();
+typedef _ImageProviderResolverListener = void Function();
 
 class _ImageProviderResolver {
   _ImageProviderResolver({
diff --git a/packages/flutter/lib/src/widgets/form.dart b/packages/flutter/lib/src/widgets/form.dart
index a562a78..ff0d5da 100644
--- a/packages/flutter/lib/src/widgets/form.dart
+++ b/packages/flutter/lib/src/widgets/form.dart
@@ -183,17 +183,17 @@
 /// Signature for validating a form field.
 ///
 /// Used by [FormField.validator].
-typedef String FormFieldValidator<T>(T value);
+typedef FormFieldValidator<T> = String Function(T value);
 
 /// Signature for being notified when a form field changes value.
 ///
 /// Used by [FormField.onSaved].
-typedef void FormFieldSetter<T>(T newValue);
+typedef FormFieldSetter<T> = void Function(T newValue);
 
 /// Signature for building the widget representing the form field.
 ///
 /// Used by [FormField.builder].
-typedef Widget FormFieldBuilder<T>(FormFieldState<T> field);
+typedef FormFieldBuilder<T> = Widget Function(FormFieldState<T> field);
 
 /// A single form field.
 ///
diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart
index 445fe88..faf1562 100644
--- a/packages/flutter/lib/src/widgets/framework.dart
+++ b/packages/flutter/lib/src/widgets/framework.dart
@@ -829,7 +829,7 @@
 }
 
 /// The signature of [State.setState] functions.
-typedef void StateSetter(VoidCallback fn);
+typedef StateSetter = void Function(VoidCallback fn);
 
 /// The logic and internal state for a [StatefulWidget].
 ///
@@ -1751,7 +1751,7 @@
 ///
 /// It is safe to call `element.visitChildElements` reentrantly within
 /// this callback.
-typedef void ElementVisitor(Element element);
+typedef ElementVisitor = void Function(Element element);
 
 /// A handle to the location of a widget in the widget tree.
 ///
@@ -3554,7 +3554,7 @@
 ///  * [FlutterError.reportError], which is typically called with the same
 ///    [FlutterErrorDetails] object immediately prior to [ErrorWidget.builder]
 ///    being called.
-typedef Widget ErrorWidgetBuilder(FlutterErrorDetails details);
+typedef ErrorWidgetBuilder = Widget Function(FlutterErrorDetails details);
 
 /// A widget that renders an exception's message.
 ///
@@ -3617,13 +3617,13 @@
 /// or [State.build].
 ///
 /// Used by [Builder.builder], [OverlayEntry.builder], etc.
-typedef Widget WidgetBuilder(BuildContext context);
+typedef WidgetBuilder = Widget Function(BuildContext context);
 
 /// Signature for a function that creates a widget for a given index, e.g., in a
 /// list.
 ///
 /// Used by [ListView.builder] and other APIs that use lazily-generated widgets.
-typedef Widget IndexedWidgetBuilder(BuildContext context, int index);
+typedef IndexedWidgetBuilder = Widget Function(BuildContext context, int index);
 
 /// A builder that builds a widget given a child.
 ///
@@ -3631,7 +3631,7 @@
 ///
 /// Used by [AnimatedBuilder.builder], as well as [WidgetsApp.builder] and
 /// [MaterialApp.builder].
-typedef Widget TransitionBuilder(BuildContext context, Widget child);
+typedef TransitionBuilder = Widget Function(BuildContext context, Widget child);
 
 /// An [Element] that composes other [Element]s.
 ///
diff --git a/packages/flutter/lib/src/widgets/gesture_detector.dart b/packages/flutter/lib/src/widgets/gesture_detector.dart
index dc0709a..8006a07 100644
--- a/packages/flutter/lib/src/widgets/gesture_detector.dart
+++ b/packages/flutter/lib/src/widgets/gesture_detector.dart
@@ -61,10 +61,10 @@
 }
 
 /// Signature for closures that implement [GestureRecognizerFactory.constructor].
-typedef T GestureRecognizerFactoryConstructor<T extends GestureRecognizer>();
+typedef GestureRecognizerFactoryConstructor<T extends GestureRecognizer> = T Function();
 
 /// Signature for closures that implement [GestureRecognizerFactory.initializer].
-typedef void GestureRecognizerFactoryInitializer<T extends GestureRecognizer>(T instance);
+typedef GestureRecognizerFactoryInitializer<T extends GestureRecognizer> = void Function(T instance);
 
 /// Factory for creating gesture recognizers that delegates to callbacks.
 ///
diff --git a/packages/flutter/lib/src/widgets/heroes.dart b/packages/flutter/lib/src/widgets/heroes.dart
index 97bcbfc..a5a6329 100644
--- a/packages/flutter/lib/src/widgets/heroes.dart
+++ b/packages/flutter/lib/src/widgets/heroes.dart
@@ -18,12 +18,12 @@
 /// This is typically used with a [HeroController] to provide an animation for
 /// [Hero] positions that looks nicer than a linear movement. For example, see
 /// [MaterialRectArcTween].
-typedef Tween<Rect> CreateRectTween(Rect begin, Rect end);
+typedef CreateRectTween = Tween<Rect> Function(Rect begin, Rect end);
 
 /// A function that lets [Hero]s self supply a [Widget] that is shown during the
 /// hero's flight from one route to another instead of default (which is to
 /// show the destination route's instance of the Hero).
-typedef Widget HeroFlightShuttleBuilder(
+typedef HeroFlightShuttleBuilder = Widget Function(
   BuildContext flightContext,
   Animation<double> animation,
   HeroFlightDirection flightDirection,
@@ -31,7 +31,7 @@
   BuildContext toHeroContext,
 );
 
-typedef void _OnFlightEnded(_HeroFlight flight);
+typedef _OnFlightEnded = void Function(_HeroFlight flight);
 
 /// Direction of the hero's flight based on the navigation operation.
 enum HeroFlightDirection {
diff --git a/packages/flutter/lib/src/widgets/implicit_animations.dart b/packages/flutter/lib/src/widgets/implicit_animations.dart
index 3b32f66..7bf804d 100644
--- a/packages/flutter/lib/src/widgets/implicit_animations.dart
+++ b/packages/flutter/lib/src/widgets/implicit_animations.dart
@@ -243,10 +243,10 @@
 ///
 /// This is the type of one of the arguments of [TweenVisitor], the signature
 /// used by [AnimatedWidgetBaseState.forEachTween].
-typedef Tween<T> TweenConstructor<T>(T targetValue);
+typedef TweenConstructor<T> = Tween<T> Function(T targetValue);
 
 /// Signature for callbacks passed to [AnimatedWidgetBaseState.forEachTween].
-typedef Tween<T> TweenVisitor<T>(Tween<T> tween, T targetValue, TweenConstructor<T> constructor);
+typedef TweenVisitor<T> = Tween<T> Function(Tween<T> tween, T targetValue, TweenConstructor<T> constructor);
 
 /// A base class for widgets with implicit animations.
 ///
diff --git a/packages/flutter/lib/src/widgets/layout_builder.dart b/packages/flutter/lib/src/widgets/layout_builder.dart
index 2b8f9cf..7c16d98 100644
--- a/packages/flutter/lib/src/widgets/layout_builder.dart
+++ b/packages/flutter/lib/src/widgets/layout_builder.dart
@@ -9,7 +9,7 @@
 import 'framework.dart';
 
 /// The signature of the [LayoutBuilder] builder function.
-typedef Widget LayoutWidgetBuilder(BuildContext context, BoxConstraints constraints);
+typedef LayoutWidgetBuilder = Widget Function(BuildContext context, BoxConstraints constraints);
 
 /// Builds a widget tree that can depend on the parent widget's size.
 ///
diff --git a/packages/flutter/lib/src/widgets/navigator.dart b/packages/flutter/lib/src/widgets/navigator.dart
index 5a0ae55..b418240 100644
--- a/packages/flutter/lib/src/widgets/navigator.dart
+++ b/packages/flutter/lib/src/widgets/navigator.dart
@@ -23,16 +23,16 @@
 /// Creates a route for the given route settings.
 ///
 /// Used by [Navigator.onGenerateRoute] and [Navigator.onUnknownRoute].
-typedef Route<dynamic> RouteFactory(RouteSettings settings);
+typedef RouteFactory = Route<dynamic> Function(RouteSettings settings);
 
 /// Signature for the [Navigator.popUntil] predicate argument.
-typedef bool RoutePredicate(Route<dynamic> route);
+typedef RoutePredicate = bool Function(Route<dynamic> route);
 
 /// Signature for a callback that verifies that it's OK to call [Navigator.pop].
 ///
 /// Used by [Form.onWillPop], [ModalRoute.addScopedWillPopCallback],
 /// [ModalRoute.removeScopedWillPopCallback], and [WillPopScope].
-typedef Future<bool> WillPopCallback();
+typedef WillPopCallback = Future<bool> Function();
 
 /// Indicates whether the current route should be popped.
 ///
diff --git a/packages/flutter/lib/src/widgets/nested_scroll_view.dart b/packages/flutter/lib/src/widgets/nested_scroll_view.dart
index 04b6b49..9d7d98e 100644
--- a/packages/flutter/lib/src/widgets/nested_scroll_view.dart
+++ b/packages/flutter/lib/src/widgets/nested_scroll_view.dart
@@ -34,7 +34,7 @@
 /// [SliverAppBar.forceElevated] property to ensure that the app bar shows a
 /// shadow, since it would otherwise not necessarily be aware that it had
 /// content ostensibly below it.
-typedef List<Widget> NestedScrollViewHeaderSliversBuilder(BuildContext context, bool innerBoxIsScrolled);
+typedef NestedScrollViewHeaderSliversBuilder = List<Widget> Function(BuildContext context, bool innerBoxIsScrolled);
 
 /// A scrolling view inside of which can be nested other scrolling views, with
 /// their scroll positions being intrinsically linked.
@@ -454,7 +454,7 @@
   final double correctionOffset;
 }
 
-typedef ScrollActivity _NestedScrollActivityGetter(_NestedScrollPosition position);
+typedef _NestedScrollActivityGetter = ScrollActivity Function(_NestedScrollPosition position);
 
 class _NestedScrollCoordinator implements ScrollActivityDelegate, ScrollHoldController {
   _NestedScrollCoordinator(this._state, this._parent, this._onHasScrolledBodyChanged) {
diff --git a/packages/flutter/lib/src/widgets/notification_listener.dart b/packages/flutter/lib/src/widgets/notification_listener.dart
index 66f743d..f1be92a 100644
--- a/packages/flutter/lib/src/widgets/notification_listener.dart
+++ b/packages/flutter/lib/src/widgets/notification_listener.dart
@@ -10,7 +10,7 @@
 /// notification to continue to be dispatched to further ancestors.
 ///
 /// Used by [NotificationListener.onNotification].
-typedef bool NotificationListenerCallback<T extends Notification>(T notification);
+typedef NotificationListenerCallback<T extends Notification> = bool Function(T notification);
 
 /// A notification that can bubble up the widget tree.
 ///
diff --git a/packages/flutter/lib/src/widgets/orientation_builder.dart b/packages/flutter/lib/src/widgets/orientation_builder.dart
index 0a9ba16..3c8a6f7 100644
--- a/packages/flutter/lib/src/widgets/orientation_builder.dart
+++ b/packages/flutter/lib/src/widgets/orientation_builder.dart
@@ -10,7 +10,7 @@
 /// Signature for a function that builds a widget given an [Orientation].
 ///
 /// Used by [OrientationBuilder.builder].
-typedef Widget OrientationWidgetBuilder(BuildContext context, Orientation orientation);
+typedef OrientationWidgetBuilder = Widget Function(BuildContext context, Orientation orientation);
 
 /// Builds a widget tree that can depend on the parent widget's orientation
 /// (distinct from the device orientation).
diff --git a/packages/flutter/lib/src/widgets/routes.dart b/packages/flutter/lib/src/widgets/routes.dart
index fd1fde3..252b4cc 100644
--- a/packages/flutter/lib/src/widgets/routes.dart
+++ b/packages/flutter/lib/src/widgets/routes.dart
@@ -1529,10 +1529,10 @@
 /// Used in [PageRouteBuilder] and [showGeneralDialog].
 ///
 /// See [ModalRoute.buildPage] for complete definition of the parameters.
-typedef Widget RoutePageBuilder(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation);
+typedef RoutePageBuilder = Widget Function(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation);
 
 /// Signature for the function that builds a route's transitions.
 /// Used in [PageRouteBuilder] and [showGeneralDialog].
 ///
 /// See [ModalRoute.buildTransitions] for complete definition of the parameters.
-typedef Widget RouteTransitionsBuilder(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child);
+typedef RouteTransitionsBuilder = Widget Function(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child);
diff --git a/packages/flutter/lib/src/widgets/scroll_notification.dart b/packages/flutter/lib/src/widgets/scroll_notification.dart
index 8ab378a..ba85032 100644
--- a/packages/flutter/lib/src/widgets/scroll_notification.dart
+++ b/packages/flutter/lib/src/widgets/scroll_notification.dart
@@ -284,7 +284,7 @@
 
 /// A predicate for [ScrollNotification], used to customize widgets that
 /// listen to notifications from their children.
-typedef bool ScrollNotificationPredicate(ScrollNotification notification);
+typedef ScrollNotificationPredicate = bool Function(ScrollNotification notification);
 
 /// A [ScrollNotificationPredicate] that checks whether
 /// `notification.depth == 0`, which means that the notification did not bubble
diff --git a/packages/flutter/lib/src/widgets/scrollable.dart b/packages/flutter/lib/src/widgets/scrollable.dart
index 4cfb559..fac04a3 100644
--- a/packages/flutter/lib/src/widgets/scrollable.dart
+++ b/packages/flutter/lib/src/widgets/scrollable.dart
@@ -25,7 +25,7 @@
 
 /// Signature used by [Scrollable] to build the viewport through which the
 /// scrollable content is displayed.
-typedef Widget ViewportBuilder(BuildContext context, ViewportOffset position);
+typedef ViewportBuilder = Widget Function(BuildContext context, ViewportOffset position);
 
 /// A widget that scrolls.
 ///
diff --git a/packages/flutter/lib/src/widgets/text_selection.dart b/packages/flutter/lib/src/widgets/text_selection.dart
index 91f3710..f2019c2 100644
--- a/packages/flutter/lib/src/widgets/text_selection.dart
+++ b/packages/flutter/lib/src/widgets/text_selection.dart
@@ -60,7 +60,7 @@
 /// of the [RenderBox] given by the [TextSelectionOverlay.renderObject].
 ///
 /// Used by [TextSelectionOverlay.onSelectionOverlayChanged].
-typedef void TextSelectionOverlayChanged(TextEditingValue value, Rect caretRect);
+typedef TextSelectionOverlayChanged = void Function(TextEditingValue value, Rect caretRect);
 
 /// An interface for building the selection UI, to be provided by the
 /// implementor of the toolbar widget.
diff --git a/packages/flutter/lib/src/widgets/value_listenable_builder.dart b/packages/flutter/lib/src/widgets/value_listenable_builder.dart
index 5ab3919..21073b5 100644
--- a/packages/flutter/lib/src/widgets/value_listenable_builder.dart
+++ b/packages/flutter/lib/src/widgets/value_listenable_builder.dart
@@ -16,7 +16,7 @@
 ///
 ///  * [ValueListenableBuilder], a widget which invokes this builder each time
 ///    a [ValueListenable] changes value.
-typedef Widget ValueWidgetBuilder<T>(BuildContext context, T value, Widget child);
+typedef ValueWidgetBuilder<T> = Widget Function(BuildContext context, T value, Widget child);
 
 /// A widget whose content stays sync'ed with a [ValueListenable].
 ///
diff --git a/packages/flutter/lib/src/widgets/widget_inspector.dart b/packages/flutter/lib/src/widgets/widget_inspector.dart
index 9228dd4..09683a8 100644
--- a/packages/flutter/lib/src/widgets/widget_inspector.dart
+++ b/packages/flutter/lib/src/widgets/widget_inspector.dart
@@ -36,9 +36,9 @@
 
 /// Signature for the builder callback used by
 /// [WidgetInspector.selectButtonBuilder].
-typedef Widget InspectorSelectButtonBuilder(BuildContext context, VoidCallback onPressed);
+typedef InspectorSelectButtonBuilder = Widget Function(BuildContext context, VoidCallback onPressed);
 
-typedef void _RegisterServiceExtensionCallback({
+typedef _RegisterServiceExtensionCallback = void Function({
   @required String name,
   @required ServiceExtensionCallback callback
 });
@@ -655,7 +655,7 @@
 
 /// Signature for the selection change callback used by
 /// [WidgetInspectorService.selectionChangedCallback].
-typedef void InspectorSelectionChangedCallback();
+typedef InspectorSelectionChangedCallback = void Function();
 
 /// Structure to help reference count Dart objects referenced by a GUI tool
 /// using [WidgetInspectorService].
diff --git a/packages/flutter/test/gestures/arena_test.dart b/packages/flutter/test/gestures/arena_test.dart
index 160b77b..187ea0e 100644
--- a/packages/flutter/test/gestures/arena_test.dart
+++ b/packages/flutter/test/gestures/arena_test.dart
@@ -6,7 +6,7 @@
 
 import '../flutter_test_alternative.dart';
 
-typedef void GestureArenaCallback(Object key);
+typedef GestureArenaCallback = void Function(Object key);
 
 const int primaryKey = 4;
 
diff --git a/packages/flutter/test/gestures/gesture_binding_test.dart b/packages/flutter/test/gestures/gesture_binding_test.dart
index a0f53f8..8db85da 100644
--- a/packages/flutter/test/gestures/gesture_binding_test.dart
+++ b/packages/flutter/test/gestures/gesture_binding_test.dart
@@ -9,7 +9,7 @@
 
 import '../flutter_test_alternative.dart';
 
-typedef void HandleEventCallback(PointerEvent event);
+typedef HandleEventCallback = void Function(PointerEvent event);
 
 class TestGestureFlutterBinding extends BindingBase with GestureBinding {
   HandleEventCallback callback;
diff --git a/packages/flutter/test/gestures/gesture_tester.dart b/packages/flutter/test/gestures/gesture_tester.dart
index d282c05..5e09531 100644
--- a/packages/flutter/test/gestures/gesture_tester.dart
+++ b/packages/flutter/test/gestures/gesture_tester.dart
@@ -32,7 +32,7 @@
   }
 }
 
-typedef void GestureTest(GestureTester tester);
+typedef GestureTest = void Function(GestureTester tester);
 
 @isTest
 void testGesture(String description, GestureTest callback) {
diff --git a/packages/flutter/test/gestures/locking_test.dart b/packages/flutter/test/gestures/locking_test.dart
index f08d714..8bb75b5 100644
--- a/packages/flutter/test/gestures/locking_test.dart
+++ b/packages/flutter/test/gestures/locking_test.dart
@@ -10,7 +10,7 @@
 
 import '../flutter_test_alternative.dart';
 
-typedef void HandleEventCallback(PointerEvent event);
+typedef HandleEventCallback = void Function(PointerEvent event);
 
 class TestGestureFlutterBinding extends BindingBase with GestureBinding {
   HandleEventCallback callback;
diff --git a/packages/flutter/test/gestures/team_test.dart b/packages/flutter/test/gestures/team_test.dart
index e39a494..529d6b9 100644
--- a/packages/flutter/test/gestures/team_test.dart
+++ b/packages/flutter/test/gestures/team_test.dart
@@ -103,7 +103,7 @@
   });
 }
 
-typedef void GestureAcceptedCallback();
+typedef GestureAcceptedCallback = void Function();
 
 class PassiveGestureRecognizer extends OneSequenceGestureRecognizer {
   GestureAcceptedCallback onGestureAccepted;
diff --git a/packages/flutter/test/material/feedback_test.dart b/packages/flutter/test/material/feedback_test.dart
index c17e0e3..603ed2c 100644
--- a/packages/flutter/test/material/feedback_test.dart
+++ b/packages/flutter/test/material/feedback_test.dart
@@ -224,4 +224,4 @@
   }
 }
 
-typedef VoidCallback HandlerCreator(BuildContext context);
+typedef HandlerCreator = VoidCallback Function(BuildContext context);
diff --git a/packages/flutter/test/material/tabs_test.dart b/packages/flutter/test/material/tabs_test.dart
index 96ca887..81dc96b 100644
--- a/packages/flutter/test/material/tabs_test.dart
+++ b/packages/flutter/test/material/tabs_test.dart
@@ -86,7 +86,7 @@
   );
 }
 
-typedef Widget TabControllerFrameBuilder(BuildContext context, TabController controller);
+typedef TabControllerFrameBuilder = Widget Function(BuildContext context, TabController controller);
 
 class TabControllerFrame extends StatefulWidget {
   const TabControllerFrame({ this.length, this.initialIndex = 0, this.builder });
diff --git a/packages/flutter/test/rendering/mock_canvas.dart b/packages/flutter/test/rendering/mock_canvas.dart
index de9410a..5dc2cac 100644
--- a/packages/flutter/test/rendering/mock_canvas.dart
+++ b/packages/flutter/test/rendering/mock_canvas.dart
@@ -64,13 +64,13 @@
 /// ```dart
 /// if (methodName == #drawCircle) { ... }
 /// ```
-typedef bool PaintPatternPredicate(Symbol methodName, List<dynamic> arguments);
+typedef PaintPatternPredicate = bool Function(Symbol methodName, List<dynamic> arguments);
 
 /// The signature of [RenderObject.paint] functions.
-typedef void _ContextPainterFunction(PaintingContext context, Offset offset);
+typedef _ContextPainterFunction = void Function(PaintingContext context, Offset offset);
 
 /// The signature of functions that paint directly on a canvas.
-typedef void _CanvasPainterFunction(Canvas canvas);
+typedef _CanvasPainterFunction = void Function(Canvas canvas);
 
 /// Builder interface for patterns used to match display lists (canvas calls).
 ///
diff --git a/packages/flutter/test/widgets/dismissible_test.dart b/packages/flutter/test/widgets/dismissible_test.dart
index 2745af0..71e19d8 100644
--- a/packages/flutter/test/widgets/dismissible_test.dart
+++ b/packages/flutter/test/widgets/dismissible_test.dart
@@ -61,7 +61,7 @@
   );
 }
 
-typedef Future<Null> DismissMethod(WidgetTester tester, Finder finder, { @required AxisDirection gestureDirection });
+typedef DismissMethod = Future<Null> Function(WidgetTester tester, Finder finder, { @required AxisDirection gestureDirection });
 
 Future<Null> dismissElement(WidgetTester tester, Finder finder, { @required AxisDirection gestureDirection }) async {
   Offset downLocation;
diff --git a/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart b/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart
index a9e4c56..fdc8747 100644
--- a/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart
+++ b/packages/flutter/test/widgets/dispose_ancestor_lookup_test.dart
@@ -5,7 +5,7 @@
 import 'package:flutter_test/flutter_test.dart';
 import 'package:flutter/widgets.dart';
 
-typedef void TestCallback(BuildContext context);
+typedef TestCallback = void Function(BuildContext context);
 
 class TestWidget extends StatefulWidget {
   const TestWidget(this.callback);
diff --git a/packages/flutter/test/widgets/navigator_test.dart b/packages/flutter/test/widgets/navigator_test.dart
index 14546dc..8c9577f 100644
--- a/packages/flutter/test/widgets/navigator_test.dart
+++ b/packages/flutter/test/widgets/navigator_test.dart
@@ -42,7 +42,7 @@
   }
 }
 
-typedef void ExceptionCallback(dynamic exception);
+typedef ExceptionCallback = void Function(dynamic exception);
 
 class ThirdWidget extends StatelessWidget {
   const ThirdWidget({ this.targetKey, this.onException });
@@ -89,7 +89,7 @@
   }
 }
 
-typedef void OnObservation(Route<dynamic> route, Route<dynamic> previousRoute);
+typedef OnObservation = void Function(Route<dynamic> route, Route<dynamic> previousRoute);
 
 class TestObserver extends NavigatorObserver {
   OnObservation onPushed;
diff --git a/packages/flutter/test/widgets/semantics_traversal_test.dart b/packages/flutter/test/widgets/semantics_traversal_test.dart
index f50a550..5a6801c 100644
--- a/packages/flutter/test/widgets/semantics_traversal_test.dart
+++ b/packages/flutter/test/widgets/semantics_traversal_test.dart
@@ -14,7 +14,7 @@
 
 import 'semantics_tester.dart';
 
-typedef Future<Null> TraversalTestFunction(TraversalTester tester);
+typedef TraversalTestFunction = Future<Null> Function(TraversalTester tester);
 const Size tenByTen = Size(10.0, 10.0);
 
 void main() {
diff --git a/packages/flutter/test/widgets/shape_decoration_test.dart b/packages/flutter/test/widgets/shape_decoration_test.dart
index 64c27bd..08dc3a1 100644
--- a/packages/flutter/test/widgets/shape_decoration_test.dart
+++ b/packages/flutter/test/widgets/shape_decoration_test.dart
@@ -105,7 +105,7 @@
   });
 }
 
-typedef void Logger(String caller);
+typedef Logger = void Function(String caller);
 
 class TestBorder extends ShapeBorder {
   const TestBorder(this.onLog) : assert(onLog != null);
diff --git a/packages/flutter/test/widgets/widget_inspector_test.dart b/packages/flutter/test/widgets/widget_inspector_test.dart
index d43adb0..1816a30 100644
--- a/packages/flutter/test/widgets/widget_inspector_test.dart
+++ b/packages/flutter/test/widgets/widget_inspector_test.dart
@@ -12,7 +12,7 @@
 import 'package:flutter/widgets.dart';
 import 'package:flutter_test/flutter_test.dart';
 
-typedef FutureOr<Map<String, Object>> InspectorServiceExtensionCallback(Map<String, String> parameters);
+typedef InspectorServiceExtensionCallback = FutureOr<Map<String, Object>> Function(Map<String, String> parameters);
 
 class RenderRepaintBoundaryWithDebugPaint extends RenderRepaintBoundary {
   @override
diff --git a/packages/flutter_driver/lib/src/driver/driver.dart b/packages/flutter_driver/lib/src/driver/driver.dart
index 61d9364..fc8cc39 100644
--- a/packages/flutter_driver/lib/src/driver/driver.dart
+++ b/packages/flutter_driver/lib/src/driver/driver.dart
@@ -111,7 +111,7 @@
 /// If computation is asynchronous, the function may return a [Future].
 ///
 /// See also [FlutterDriver.waitFor].
-typedef dynamic EvaluatorFunction();
+typedef EvaluatorFunction = dynamic Function();
 
 /// Drives a Flutter Application running in another process.
 class FlutterDriver {
@@ -784,7 +784,7 @@
 }
 
 /// A function that connects to a Dart VM service given the [url].
-typedef Future<VMServiceClientConnection> VMServiceConnectFunction(String url);
+typedef VMServiceConnectFunction = Future<VMServiceClientConnection> Function(String url);
 
 /// The connection function used by [FlutterDriver.connect].
 ///
diff --git a/packages/flutter_driver/lib/src/extension/extension.dart b/packages/flutter_driver/lib/src/extension/extension.dart
index 2808d5c..bc79c99 100644
--- a/packages/flutter_driver/lib/src/extension/extension.dart
+++ b/packages/flutter_driver/lib/src/extension/extension.dart
@@ -34,7 +34,7 @@
 ///
 /// Messages are described in string form and should return a [Future] which
 /// eventually completes to a string response.
-typedef Future<String> DataHandler(String message);
+typedef DataHandler = Future<String> Function(String message);
 
 class _DriverBinding extends BindingBase with ServicesBinding, SchedulerBinding, GestureBinding, PaintingBinding, SemanticsBinding, RendererBinding, WidgetsBinding {
   _DriverBinding(this._handler, this._silenceErrors);
@@ -75,14 +75,14 @@
 }
 
 /// Signature for functions that handle a command and return a result.
-typedef Future<Result> CommandHandlerCallback(Command c);
+typedef CommandHandlerCallback = Future<Result> Function(Command c);
 
 /// Signature for functions that deserialize a JSON map to a command object.
-typedef Command CommandDeserializerCallback(Map<String, String> params);
+typedef CommandDeserializerCallback = Command Function(Map<String, String> params);
 
 /// Signature for functions that run the given finder and return the [Element]
 /// found, if any, or null otherwise.
-typedef Finder FinderConstructor(SerializableFinder finder);
+typedef FinderConstructor = Finder Function(SerializableFinder finder);
 
 /// The class that manages communication between a Flutter Driver test and the
 /// application being remote-controlled, on the application side.
diff --git a/packages/flutter_test/lib/src/finders.dart b/packages/flutter_test/lib/src/finders.dart
index 2f0c4bf..6341190 100644
--- a/packages/flutter_test/lib/src/finders.dart
+++ b/packages/flutter_test/lib/src/finders.dart
@@ -9,10 +9,10 @@
 import 'all_elements.dart';
 
 /// Signature for [CommonFinders.byWidgetPredicate].
-typedef bool WidgetPredicate(Widget widget);
+typedef WidgetPredicate = bool Function(Widget widget);
 
 /// Signature for [CommonFinders.byElementPredicate].
-typedef bool ElementPredicate(Element element);
+typedef ElementPredicate = bool Function(Element element);
 
 /// Some frequently used widget [Finder]s.
 const CommonFinders find = CommonFinders._();
diff --git a/packages/flutter_test/lib/src/matchers.dart b/packages/flutter_test/lib/src/matchers.dart
index 18d68ac..d348d80 100644
--- a/packages/flutter_test/lib/src/matchers.dart
+++ b/packages/flutter_test/lib/src/matchers.dart
@@ -865,7 +865,7 @@
 ///
 /// This makes it useful for comparing numbers, [Color]s, [Offset]s and other
 /// sets of value for which a metric space is defined.
-typedef num DistanceFunction<T>(T a, T b);
+typedef DistanceFunction<T> = num Function(T a, T b);
 
 /// The type of a union of instances of [DistanceFunction<T>] for various types
 /// T.
@@ -878,7 +878,7 @@
 ///
 /// Calling an instance of this type must either be done dynamically, or by
 /// first casting it to a [DistanceFunction<T>] for some concrete T.
-typedef num AnyDistanceFunction(Null a, Null b);
+typedef AnyDistanceFunction = num Function(Null a, Null b);
 
 const Map<Type, AnyDistanceFunction> _kStandardDistanceFunctions = <Type, AnyDistanceFunction>{
   Color: _maxComponentColorDistance,
diff --git a/packages/flutter_test/lib/src/test_exception_reporter.dart b/packages/flutter_test/lib/src/test_exception_reporter.dart
index ac50aa4..6d79f74 100644
--- a/packages/flutter_test/lib/src/test_exception_reporter.dart
+++ b/packages/flutter_test/lib/src/test_exception_reporter.dart
@@ -7,7 +7,7 @@
 import 'package:test/test.dart' as test_package;
 
 /// Signature for the [reportTestException] callback.
-typedef void TestExceptionReporter(FlutterErrorDetails details, String testDescription);
+typedef TestExceptionReporter = void Function(FlutterErrorDetails details, String testDescription);
 
 /// A function that is called by the test framework when an unexpected error
 /// occurred during a test.
diff --git a/packages/flutter_test/lib/src/test_pointer.dart b/packages/flutter_test/lib/src/test_pointer.dart
index f0ef3b0..063440e 100644
--- a/packages/flutter_test/lib/src/test_pointer.dart
+++ b/packages/flutter_test/lib/src/test_pointer.dart
@@ -113,10 +113,10 @@
 
 /// Signature for a callback that can dispatch events and returns a future that
 /// completes when the event dispatch is complete.
-typedef Future<Null> EventDispatcher(PointerEvent event, HitTestResult result);
+typedef EventDispatcher = Future<Null> Function(PointerEvent event, HitTestResult result);
 
 /// Signature for callbacks that perform hit-testing at a given location.
-typedef HitTestResult HitTester(Offset location);
+typedef HitTester = HitTestResult Function(Offset location);
 
 /// A class for performing gestures in tests.
 ///
diff --git a/packages/flutter_test/lib/src/widget_tester.dart b/packages/flutter_test/lib/src/widget_tester.dart
index df32b78..4a766fc 100644
--- a/packages/flutter_test/lib/src/widget_tester.dart
+++ b/packages/flutter_test/lib/src/widget_tester.dart
@@ -30,7 +30,7 @@
   isInstanceOf; // we have our own wrapper in matchers.dart
 
 /// Signature for callback to [testWidgets] and [benchmarkWidgets].
-typedef Future<Null> WidgetTesterCallback(WidgetTester widgetTester);
+typedef WidgetTesterCallback = Future<Null> Function(WidgetTester widgetTester);
 
 /// Runs the [callback] inside the Flutter test environment.
 ///
@@ -656,7 +656,7 @@
   }
 }
 
-typedef void _TickerDisposeCallback(_TestTicker ticker);
+typedef _TickerDisposeCallback = void Function(_TestTicker ticker);
 
 class _TestTicker extends Ticker {
   _TestTicker(TickerCallback onTick, this._onDispose) : super(onTick);
diff --git a/packages/flutter_tools/lib/src/base/context.dart b/packages/flutter_tools/lib/src/base/context.dart
index 2f8fca1..df3de18 100644
--- a/packages/flutter_tools/lib/src/base/context.dart
+++ b/packages/flutter_tools/lib/src/base/context.dart
@@ -11,7 +11,7 @@
 ///
 /// Generators are allowed to return `null`, in which case the context will
 /// store the `null` value as the value for that type.
-typedef dynamic Generator();
+typedef Generator = dynamic Function();
 
 /// An exception thrown by [AppContext] when you try to get a [Type] value from
 /// the context, and the instantiation of the value results in a dependency
diff --git a/packages/flutter_tools/lib/src/base/fingerprint.dart b/packages/flutter_tools/lib/src/base/fingerprint.dart
index 4d33ba4..fed1cbf 100644
--- a/packages/flutter_tools/lib/src/base/fingerprint.dart
+++ b/packages/flutter_tools/lib/src/base/fingerprint.dart
@@ -13,7 +13,7 @@
 import '../version.dart';
 import 'file_system.dart';
 
-typedef bool FingerprintPathFilter(String path);
+typedef FingerprintPathFilter = bool Function(String path);
 
 /// A tool that can be used to compute, compare, and write [Fingerprint]s for a
 /// set of input files and associated build settings.
diff --git a/packages/flutter_tools/lib/src/base/io.dart b/packages/flutter_tools/lib/src/base/io.dart
index 4beb040..b26e20e 100644
--- a/packages/flutter_tools/lib/src/base/io.dart
+++ b/packages/flutter_tools/lib/src/base/io.dart
@@ -77,7 +77,7 @@
         WebSocketTransformer;
 
 /// Exits the process with the given [exitCode].
-typedef void ExitFunction(int exitCode);
+typedef ExitFunction = void Function(int exitCode);
 
 const ExitFunction _defaultExitFunction = io.exit;
 
diff --git a/packages/flutter_tools/lib/src/base/logger.dart b/packages/flutter_tools/lib/src/base/logger.dart
index d71d974..a9d09d4 100644
--- a/packages/flutter_tools/lib/src/base/logger.dart
+++ b/packages/flutter_tools/lib/src/base/logger.dart
@@ -13,7 +13,7 @@
 
 const int kDefaultStatusPadding = 59;
 
-typedef void VoidCallback();
+typedef VoidCallback = void Function();
 
 abstract class Logger {
   bool get isVerbose => false;
diff --git a/packages/flutter_tools/lib/src/base/net.dart b/packages/flutter_tools/lib/src/base/net.dart
index 1f761f3..94c724e 100644
--- a/packages/flutter_tools/lib/src/base/net.dart
+++ b/packages/flutter_tools/lib/src/base/net.dart
@@ -11,7 +11,7 @@
 
 const int kNetworkProblemExitCode = 50;
 
-typedef HttpClient HttpClientFactory();
+typedef HttpClientFactory = HttpClient Function();
 
 /// Download a file from the given URL and return the bytes.
 Future<List<int>> fetchUrl(Uri url) async {
diff --git a/packages/flutter_tools/lib/src/base/process.dart b/packages/flutter_tools/lib/src/base/process.dart
index 09c146c..caf6349 100644
--- a/packages/flutter_tools/lib/src/base/process.dart
+++ b/packages/flutter_tools/lib/src/base/process.dart
@@ -11,10 +11,10 @@
 import 'process_manager.dart';
 import 'utils.dart';
 
-typedef String StringConverter(String string);
+typedef StringConverter = String Function(String string);
 
 /// A function that will be run before the VM exits.
-typedef Future<dynamic> ShutdownHook();
+typedef ShutdownHook = Future<dynamic> Function();
 
 // TODO(ianh): We have way too many ways to run subprocesses in this project.
 // Convert most of these into one or more lightweight wrappers around the
diff --git a/packages/flutter_tools/lib/src/base/utils.dart b/packages/flutter_tools/lib/src/base/utils.dart
index 8b22e86..102a0ec 100644
--- a/packages/flutter_tools/lib/src/base/utils.dart
+++ b/packages/flutter_tools/lib/src/base/utils.dart
@@ -251,7 +251,7 @@
 
 Clock get clock => context[Clock];
 
-typedef Future<Null> AsyncCallback();
+typedef AsyncCallback = Future<Null> Function();
 
 /// A [Timer] inspired class that:
 ///   - has a different initial value for the first callback delay
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart
index 2a91d94..81337c9 100644
--- a/packages/flutter_tools/lib/src/commands/daemon.dart
+++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -73,9 +73,9 @@
   }
 }
 
-typedef void DispatchCommand(Map<String, dynamic> command);
+typedef DispatchCommand = void Function(Map<String, dynamic> command);
 
-typedef Future<dynamic> CommandHandler(Map<String, dynamic> args);
+typedef CommandHandler = Future<dynamic> Function(Map<String, dynamic> args);
 
 class Daemon {
   Daemon(
@@ -305,7 +305,7 @@
   }
 }
 
-typedef Future<void> _RunOrAttach({
+typedef _RunOrAttach = Future<void> Function({
   Completer<DebugConnectionInfo> connectionInfoCompleter,
   Completer<void> appStartedCompleter
 });
@@ -553,7 +553,7 @@
   }
 }
 
-typedef void _DeviceEventHandler(Device device);
+typedef _DeviceEventHandler = void Function(Device device);
 
 /// This domain lets callers list and monitor connected devices.
 ///
diff --git a/packages/flutter_tools/lib/src/commands/drive.dart b/packages/flutter_tools/lib/src/commands/drive.dart
index 61f8d11..419371a 100644
--- a/packages/flutter_tools/lib/src/commands/drive.dart
+++ b/packages/flutter_tools/lib/src/commands/drive.dart
@@ -179,7 +179,7 @@
 }
 
 /// Finds a device to test on. May launch a simulator, if necessary.
-typedef Future<Device> TargetDeviceFinder();
+typedef TargetDeviceFinder = Future<Device> Function();
 TargetDeviceFinder targetDeviceFinder = findTargetDevice;
 void restoreTargetDeviceFinder() {
   targetDeviceFinder = findTargetDevice;
@@ -213,7 +213,7 @@
 }
 
 /// Starts the application on the device given command configuration.
-typedef Future<LaunchResult> AppStarter(DriveCommand command);
+typedef AppStarter = Future<LaunchResult> Function(DriveCommand command);
 
 AppStarter appStarter = _startApp; // (mutable for testing)
 void restoreAppStarter() {
@@ -272,7 +272,7 @@
 }
 
 /// Runs driver tests.
-typedef Future<Null> TestRunner(List<String> testArgs, String observatoryUri);
+typedef TestRunner = Future<Null> Function(List<String> testArgs, String observatoryUri);
 TestRunner testRunner = _runTests;
 void restoreTestRunner() {
   testRunner = _runTests;
@@ -299,7 +299,7 @@
 
 
 /// Stops the application.
-typedef Future<bool> AppStopper(DriveCommand command);
+typedef AppStopper = Future<bool> Function(DriveCommand command);
 AppStopper appStopper = _stopApp;
 void restoreAppStopper() {
   appStopper = _stopApp;
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart
index ff1f3e7..a98644c 100644
--- a/packages/flutter_tools/lib/src/compile.dart
+++ b/packages/flutter_tools/lib/src/compile.dart
@@ -17,7 +17,7 @@
 
 KernelCompiler get kernelCompiler => context[KernelCompiler];
 
-typedef void CompilerMessageConsumer(String message);
+typedef CompilerMessageConsumer = void Function(String message);
 
 class CompilerOutput {
   final String outputFilename;
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart
index 816c775..b4b6e6b 100644
--- a/packages/flutter_tools/lib/src/dart/pub.dart
+++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -123,7 +123,7 @@
     throwToolExit('$directory: pub did not update .packages file (pubspec.yaml file has a newer timestamp)');
 }
 
-typedef String MessageFilter(String message);
+typedef MessageFilter = String Function(String message);
 
 /// Runs pub in 'batch' mode, forwarding complete lines written by pub to its
 /// stdout/stderr streams to the corresponding stream of this process, optionally
diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart
index 7e171d5..695b235 100644
--- a/packages/flutter_tools/lib/src/test/flutter_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -189,7 +189,7 @@
 
 enum _InitialResult { crashed, timedOut, connected }
 enum _TestResult { crashed, harnessBailed, testBailed }
-typedef Future<Null> _Finalizer();
+typedef _Finalizer = Future<Null> Function();
 
 class _CompilationRequest {
   String path;
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index a99c278..599940d 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -22,7 +22,7 @@
 import 'vmservice_record_replay.dart';
 
 /// A function that opens a two-way communication channel to the specified [uri].
-typedef Future<StreamChannel<String>> _OpenChannel(Uri uri);
+typedef _OpenChannel = Future<StreamChannel<String>> Function(Uri uri);
 
 _OpenChannel _openChannel = _defaultOpenChannel;
 
@@ -37,13 +37,13 @@
 /// hot mode.
 ///
 /// See: https://github.com/dart-lang/sdk/issues/30023
-typedef Future<Null> ReloadSources(
+typedef ReloadSources = Future<Null> Function(
   String isolateId, {
   bool force,
   bool pause,
 });
 
-typedef Future<String> CompileExpression(
+typedef CompileExpression = Future<String> Function(
   String isolateId,
   String expression,
   List<String> definitions,
diff --git a/packages/flutter_tools/test/base/flags_test.dart b/packages/flutter_tools/test/base/flags_test.dart
index 8f65690..99122de 100644
--- a/packages/flutter_tools/test/base/flags_test.dart
+++ b/packages/flutter_tools/test/base/flags_test.dart
@@ -11,7 +11,7 @@
 import '../src/common.dart';
 import '../src/context.dart';
 
-typedef FutureOr<Null> _TestMethod();
+typedef _TestMethod = FutureOr<Null> Function();
 
 void main() {
   Cache.disableLocking();
diff --git a/packages/flutter_tools/test/dart/pub_get_test.dart b/packages/flutter_tools/test/dart/pub_get_test.dart
index 373ef17..16e23f3 100644
--- a/packages/flutter_tools/test/dart/pub_get_test.dart
+++ b/packages/flutter_tools/test/dart/pub_get_test.dart
@@ -146,7 +146,7 @@
   });
 }
 
-typedef void StartCallback(List<dynamic> command);
+typedef StartCallback = void Function(List<dynamic> command);
 
 class MockProcessManager implements ProcessManager {
   MockProcessManager(this.fakeExitCode);
diff --git a/packages/flutter_tools/test/ios/cocoapods_test.dart b/packages/flutter_tools/test/ios/cocoapods_test.dart
index a39c8d2..435bb96 100644
--- a/packages/flutter_tools/test/ios/cocoapods_test.dart
+++ b/packages/flutter_tools/test/ios/cocoapods_test.dart
@@ -18,7 +18,7 @@
 import '../src/common.dart';
 import '../src/context.dart';
 
-typedef Future<ProcessResult> InvokeProcess();
+typedef InvokeProcess = Future<ProcessResult> Function();
 
 void main() {
   FileSystem fs;
diff --git a/packages/flutter_tools/test/runner/flutter_command_test.dart b/packages/flutter_tools/test/runner/flutter_command_test.dart
index 29ab6df..2e78161 100644
--- a/packages/flutter_tools/test/runner/flutter_command_test.dart
+++ b/packages/flutter_tools/test/runner/flutter_command_test.dart
@@ -161,7 +161,7 @@
 
 }
 
-typedef Future<FlutterCommandResult> CommandFunction();
+typedef CommandFunction = Future<FlutterCommandResult> Function();
 
 class DummyFlutterCommand extends FlutterCommand {
 
diff --git a/packages/flutter_tools/test/src/context.dart b/packages/flutter_tools/test/src/context.dart
index 0885212..743b623 100644
--- a/packages/flutter_tools/test/src/context.dart
+++ b/packages/flutter_tools/test/src/context.dart
@@ -34,7 +34,7 @@
 MockDeviceManager get testDeviceManager => context[DeviceManager];
 MockDoctor get testDoctor => context[Doctor];
 
-typedef void ContextInitializer(AppContext testContext);
+typedef ContextInitializer = void Function(AppContext testContext);
 
 @isTest
 void testUsingContext(String description, dynamic testMethod(), {
diff --git a/packages/flutter_tools/test/src/mocks.dart b/packages/flutter_tools/test/src/mocks.dart
index 1aab448..408d111 100644
--- a/packages/flutter_tools/test/src/mocks.dart
+++ b/packages/flutter_tools/test/src/mocks.dart
@@ -109,7 +109,7 @@
 }
 
 /// A strategy for creating Process objects from a list of commands.
-typedef Process ProcessFactory(List<String> command);
+typedef ProcessFactory = Process Function(List<String> command);
 
 /// A ProcessManager that starts Processes by delegating to a ProcessFactory.
 class MockProcessManager implements ProcessManager {
diff --git a/packages/fuchsia_remote_debug_protocol/lib/src/common/logging.dart b/packages/fuchsia_remote_debug_protocol/lib/src/common/logging.dart
index d44c5d6..1e57368 100644
--- a/packages/fuchsia_remote_debug_protocol/lib/src/common/logging.dart
+++ b/packages/fuchsia_remote_debug_protocol/lib/src/common/logging.dart
@@ -43,7 +43,7 @@
 }
 
 /// Signature of a function that logs a [LogMessage].
-typedef void LoggingFunction(LogMessage log);
+typedef LoggingFunction = void Function(LogMessage log);
 
 /// The default logging function.
 ///
diff --git a/packages/fuchsia_remote_debug_protocol/lib/src/dart/dart_vm.dart b/packages/fuchsia_remote_debug_protocol/lib/src/dart/dart_vm.dart
index 0156885..02f22a5 100644
--- a/packages/fuchsia_remote_debug_protocol/lib/src/dart/dart_vm.dart
+++ b/packages/fuchsia_remote_debug_protocol/lib/src/dart/dart_vm.dart
@@ -20,7 +20,7 @@
 
 /// Signature of an asynchronous function for astablishing a JSON RPC-2
 /// connection to a [Uri].
-typedef Future<json_rpc.Peer> RpcPeerConnectionFunction(Uri uri);
+typedef RpcPeerConnectionFunction = Future<json_rpc.Peer> Function(Uri uri);
 
 /// [DartVm] uses this function to connect to the Dart VM on Fuchsia.
 ///
diff --git a/packages/fuchsia_remote_debug_protocol/lib/src/fuchsia_remote_connection.dart b/packages/fuchsia_remote_debug_protocol/lib/src/fuchsia_remote_connection.dart
index a99ab50..df33bce 100644
--- a/packages/fuchsia_remote_debug_protocol/lib/src/fuchsia_remote_connection.dart
+++ b/packages/fuchsia_remote_debug_protocol/lib/src/fuchsia_remote_connection.dart
@@ -30,7 +30,7 @@
 /// Takes a remote `address`, the target device's port, and an optional
 /// `interface` and `configFile`. The config file is used primarily for the
 /// default SSH port forwarding configuration.
-typedef Future<PortForwarder> PortForwardingFunction(
+typedef PortForwardingFunction = Future<PortForwarder> Function(
     String address, int remotePort,
     [String interface, String configFile]);