Version 2.18.0-61.0.dev

Merge commit '63a2c5790347c1795e71bb7588be8f63e8b5f307' into 'dev'
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 0531d3b..8426836 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -15,7 +15,6 @@
 import 'package:analysis_server/src/channel/channel.dart';
 import 'package:analysis_server/src/computer/computer_highlights.dart';
 import 'package:analysis_server/src/context_manager.dart';
-import 'package:analysis_server/src/domain_server.dart';
 import 'package:analysis_server/src/domains/analysis/occurrences.dart';
 import 'package:analysis_server/src/domains/analysis/occurrences_dart.dart';
 import 'package:analysis_server/src/flutter/flutter_notifications.dart';
@@ -72,6 +71,10 @@
 import 'package:analysis_server/src/handler/legacy/search_find_top_level_declarations.dart';
 import 'package:analysis_server/src/handler/legacy/search_get_element_declarations.dart';
 import 'package:analysis_server/src/handler/legacy/search_get_type_hierarchy.dart';
+import 'package:analysis_server/src/handler/legacy/server_cancel_request.dart';
+import 'package:analysis_server/src/handler/legacy/server_get_version.dart';
+import 'package:analysis_server/src/handler/legacy/server_set_subscriptions.dart';
+import 'package:analysis_server/src/handler/legacy/server_shutdown.dart';
 import 'package:analysis_server/src/handler/legacy/unsupported_request.dart';
 import 'package:analysis_server/src/operation/operation_analysis.dart';
 import 'package:analysis_server/src/plugin/notification_manager.dart';
@@ -201,6 +204,11 @@
     SEARCH_REQUEST_GET_ELEMENT_DECLARATIONS:
         SearchGetElementDeclarationsHandler.new,
     SEARCH_REQUEST_GET_TYPE_HIERARCHY: SearchGetTypeHierarchyHandler.new,
+    //
+    SERVER_REQUEST_GET_VERSION: ServerGetVersionHandler.new,
+    SERVER_REQUEST_SET_SUBSCRIPTIONS: ServerSetSubscriptionsHandler.new,
+    SERVER_REQUEST_SHUTDOWN: ServerShutdownHandler.new,
+    SERVER_REQUEST_CANCEL_REQUEST: ServerCancelRequestHandler.new,
   };
 
   /// The channel from which requests are received and to which responses should
@@ -211,10 +219,6 @@
   /// status message to the client.
   bool statusAnalyzing = false;
 
-  /// A list of the request handlers used to handle the requests sent to this
-  /// server.
-  late List<RequestHandler> handlers;
-
   /// A set of the [ServerService]s to send notifications for.
   Set<ServerService> serverServices = HashSet<ServerService>();
 
@@ -364,9 +368,6 @@
     );
     debounceRequests(channel, discardedRequests)
         .listen(handleRequest, onDone: done, onError: error);
-    handlers = <server.RequestHandler>[
-      ServerDomainHandler(this),
-    ];
     refactoringWorkspace = RefactoringWorkspace(driverMap.values, searchEngine);
     _newRefactoringManager();
   }
@@ -452,19 +453,6 @@
         var handler = generator(this, request, cancellationToken);
         handler.handle();
       } else {
-        // TODO(brianwilkerson) When all the handlers are in [handlerGenerators]
-        //  remove local variable and for loop below.
-        var count = handlers.length;
-        for (var i = 0; i < count; i++) {
-          var response = handlers[i].handleRequest(request, cancellationToken);
-          if (response == Response.DELAYED_RESPONSE) {
-            return;
-          }
-          if (response != null) {
-            sendResponse(response);
-            return;
-          }
-        }
         sendResponse(Response.unknownRequest(request));
       }
     }, (exception, stackTrace) {
diff --git a/pkg/analysis_server/lib/src/domain_server.dart b/pkg/analysis_server/lib/src/domain_server.dart
deleted file mode 100644
index 0c23f50..0000000
--- a/pkg/analysis_server/lib/src/domain_server.dart
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:analysis_server/protocol/protocol.dart';
-import 'package:analysis_server/protocol/protocol_constants.dart';
-import 'package:analysis_server/src/analysis_server.dart';
-import 'package:analysis_server/src/handler/legacy/server_cancel_request.dart';
-import 'package:analysis_server/src/handler/legacy/server_get_version.dart';
-import 'package:analysis_server/src/handler/legacy/server_set_subscriptions.dart';
-import 'package:analysis_server/src/handler/legacy/server_shutdown.dart';
-import 'package:analyzer/src/utilities/cancellation.dart';
-
-/// Instances of the class [ServerDomainHandler] implement a [RequestHandler]
-/// that handles requests in the server domain.
-class ServerDomainHandler implements RequestHandler {
-  /// The analysis server that is using this handler to process requests.
-  final AnalysisServer server;
-
-  /// Initialize a newly created handler to handle requests for the given
-  /// [server].
-  ServerDomainHandler(this.server);
-
-  @override
-  Response? handleRequest(
-      Request request, CancellationToken cancellationToken) {
-    try {
-      var requestName = request.method;
-      if (requestName == SERVER_REQUEST_GET_VERSION) {
-        ServerGetVersionHandler(server, request, cancellationToken).handle();
-        return Response.DELAYED_RESPONSE;
-      } else if (requestName == SERVER_REQUEST_SET_SUBSCRIPTIONS) {
-        ServerSetSubscriptionsHandler(server, request, cancellationToken)
-            .handle();
-        return Response.DELAYED_RESPONSE;
-      } else if (requestName == SERVER_REQUEST_SHUTDOWN) {
-        ServerShutdownHandler(server, request, cancellationToken).handle();
-        return Response.DELAYED_RESPONSE;
-      } else if (requestName == SERVER_REQUEST_CANCEL_REQUEST) {
-        ServerCancelRequestHandler(server, request, cancellationToken).handle();
-        return Response.DELAYED_RESPONSE;
-      }
-    } on RequestFailure catch (exception) {
-      return exception.response;
-    }
-    return null;
-  }
-}
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
index 4bf1a54..9a57c30 100644
--- a/pkg/analysis_server/test/analysis_server_test.dart
+++ b/pkg/analysis_server/test/analysis_server_test.dart
@@ -6,7 +6,6 @@
 import 'package:analysis_server/protocol/protocol_constants.dart';
 import 'package:analysis_server/protocol/protocol_generated.dart';
 import 'package:analysis_server/src/analysis_server.dart';
-import 'package:analysis_server/src/domain_server.dart';
 import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
 import 'package:analysis_server/src/utilities/mocks.dart';
 import 'package:analyzer/file_system/file_system.dart';
@@ -16,7 +15,6 @@
 import 'package:analyzer/src/test_utilities/mock_sdk.dart';
 import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
 import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
-import 'package:analyzer/src/utilities/cancellation.dart';
 import 'package:analyzer_plugin/protocol/protocol_common.dart';
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -171,15 +169,6 @@
     expect(await getUriNotExistErrors(), hasLength(0));
   }
 
-  Future test_echo() {
-    server.handlers = [EchoHandler(server)];
-    var request = Request('my22', 'echo');
-    return channel.sendRequest(request).then((Response response) {
-      expect(response.id, equals('my22'));
-      expect(response.error, isNull);
-    });
-  }
-
   Future test_serverStatusNotifications_hasFile() async {
     server.serverServices.add(ServerService.STATUS);
 
@@ -285,7 +274,6 @@
   }
 
   Future test_shutdown() {
-    server.handlers = [ServerDomainHandler(server)];
     var request = Request('my28', SERVER_REQUEST_SHUTDOWN);
     return channel.sendRequest(request).then((Response response) {
       expect(response.id, equals('my28'));
@@ -293,39 +281,7 @@
     });
   }
 
-  Future test_slowEcho_cancelled() async {
-    server.handlers = [
-      ServerDomainHandler(server),
-      EchoHandler(server),
-    ];
-    // Send the normal request.
-    var responseFuture = channel.sendRequest(Request('my22', 'slowEcho'));
-    // Send a cancellation for it for waiting for it to complete.
-    channel.sendRequest(
-      Request(
-        'my23',
-        'server.cancelRequest',
-        {'id': 'my22'},
-      ),
-    );
-    var response = await responseFuture;
-    expect(response.id, equals('my22'));
-    expect(response.error, isNull);
-    expect(response.result!['cancelled'], isTrue);
-  }
-
-  Future test_slowEcho_notCancelled() {
-    server.handlers = [EchoHandler(server)];
-    var request = Request('my22', 'slowEcho');
-    return channel.sendRequest(request).then((Response response) {
-      expect(response.id, equals('my22'));
-      expect(response.error, isNull);
-      expect(response.result!['cancelled'], isFalse);
-    });
-  }
-
   Future test_unknownRequest() {
-    server.handlers = [EchoHandler(server)];
     var request = Request('my22', 'randomRequest');
     return channel.sendRequest(request).then((Response response) {
       expect(response.id, equals('my22'));
@@ -347,31 +303,3 @@
     return file.parent;
   }
 }
-
-class EchoHandler implements RequestHandler {
-  final AnalysisServer server;
-
-  EchoHandler(this.server);
-
-  @override
-  Response? handleRequest(
-      Request request, CancellationToken cancellationToken) {
-    if (request.method == 'echo') {
-      return Response(request.id, result: {'echo': true});
-    } else if (request.method == 'slowEcho') {
-      _slowEcho(request, cancellationToken);
-      return Response.DELAYED_RESPONSE;
-    }
-    return null;
-  }
-
-  void _slowEcho(Request request, CancellationToken cancellationToken) async {
-    for (var i = 0; i < 100; i++) {
-      if (cancellationToken.isCancellationRequested) {
-        server.sendResponse(Response(request.id, result: {'cancelled': true}));
-      }
-      await Future.delayed(const Duration(milliseconds: 10));
-    }
-    server.sendResponse(Response(request.id, result: {'cancelled': false}));
-  }
-}
diff --git a/pkg/analysis_server/test/socket_server_test.dart b/pkg/analysis_server/test/socket_server_test.dart
index 068bd50..2e3ae08 100644
--- a/pkg/analysis_server/test/socket_server_test.dart
+++ b/pkg/analysis_server/test/socket_server_test.dart
@@ -12,7 +12,6 @@
 import 'package:analysis_server/src/utilities/mocks.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/sdk.dart';
-import 'package:analyzer/src/utilities/cancellation.dart';
 import 'package:test/test.dart';
 
 void main() {
@@ -21,9 +20,6 @@
         SocketServerTest.createAnalysisServer_successful);
     test('createAnalysisServer_alreadyStarted',
         SocketServerTest.createAnalysisServer_alreadyStarted);
-    test('requestHandler_exception', SocketServerTest.requestHandler_exception);
-    test('requestHandler_futureException',
-        SocketServerTest.requestHandler_futureException);
   });
 }
 
@@ -66,39 +62,6 @@
     });
   }
 
-  static Future requestHandler_exception() {
-    var channel = MockServerChannel();
-    var server = _createSocketServer(channel);
-    channel.expectMsgCount(notificationCount: 1);
-    expect(
-        channel.notificationsReceived[0].event, SERVER_NOTIFICATION_CONNECTED);
-    var handler = _MockRequestHandler(false);
-    server.analysisServer!.handlers = [handler];
-    var request = ServerGetVersionParams().toRequest('0');
-    return channel.sendRequest(request).then((Response response) {
-      expect(response.id, equals('0'));
-      var error = response.error!;
-      expect(error.code, equals(RequestErrorCode.SERVER_ERROR));
-      expect(error.message, equals('mock request exception'));
-      expect(error.stackTrace, isNotNull);
-      expect(error.stackTrace, isNotEmpty);
-      channel.expectMsgCount(responseCount: 1, notificationCount: 2);
-    });
-  }
-
-  static Future requestHandler_futureException() async {
-    var channel = MockServerChannel();
-    var server = _createSocketServer(channel);
-    var handler = _MockRequestHandler(true);
-    server.analysisServer!.handlers = [handler];
-    var request = ServerGetVersionParams().toRequest('0');
-    var response = await channel.sendRequest(request, throwOnError: false);
-    expect(response.id, equals('0'));
-    expect(response.error, isNull);
-    channel.expectMsgCount(responseCount: 2, notificationCount: 2);
-    expect(channel.notificationsReceived[1].event, SERVER_NOTIFICATION_ERROR);
-  }
-
   static SocketServer _createSocketServer(MockServerChannel channel) {
     final errorNotifier = ErrorNotifier();
     final server = SocketServer(
@@ -117,22 +80,3 @@
     return server;
   }
 }
-
-class _MockRequestHandler implements RequestHandler {
-  final bool futureException;
-
-  _MockRequestHandler(this.futureException);
-
-  @override
-  Response handleRequest(Request request, CancellationToken cancellationToken) {
-    if (futureException) {
-      Future(throwException);
-      return Response(request.id);
-    }
-    throw 'mock request exception';
-  }
-
-  void throwException() {
-    throw 'mock future exception';
-  }
-}
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index e1c9a9c..435f11f 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -1053,7 +1053,7 @@
     if (_resolveForCompletionRequests.isNotEmpty) {
       final request = _resolveForCompletionRequests.removeLast();
       try {
-        final result = _resolveForCompletion(request);
+        final result = await _resolveForCompletion(request);
         request.completer.complete(result);
       } catch (exception, stackTrace) {
         _reportException(request.path, exception, stackTrace);
@@ -1935,24 +1935,24 @@
               files: contextFiles);
       var bytes = contextBuilder.toBuffer();
 
-      String _twoDigits(int n) {
+      String twoDigits(int n) {
         if (n >= 10) return '$n';
         return '0$n';
       }
 
-      String _threeDigits(int n) {
+      String threeDigits(int n) {
         if (n >= 100) return '$n';
         if (n >= 10) return '0$n';
         return '00$n';
       }
 
       DateTime time = DateTime.now();
-      String m = _twoDigits(time.month);
-      String d = _twoDigits(time.day);
-      String h = _twoDigits(time.hour);
-      String min = _twoDigits(time.minute);
-      String sec = _twoDigits(time.second);
-      String ms = _threeDigits(time.millisecond);
+      String m = twoDigits(time.month);
+      String d = twoDigits(time.day);
+      String h = twoDigits(time.hour);
+      String min = twoDigits(time.minute);
+      String sec = twoDigits(time.second);
+      String ms = threeDigits(time.millisecond);
       String key = 'exception_${time.year}$m${d}_$h$min${sec}_$ms';
 
       _byteStore.put(key, bytes);
diff --git a/pkg/analyzer/lib/src/dart/analysis/referenced_names.dart b/pkg/analyzer/lib/src/dart/analysis/referenced_names.dart
index 0cc56cb..945a0c8 100644
--- a/pkg/analyzer/lib/src/dart/analysis/referenced_names.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/referenced_names.dart
@@ -17,7 +17,7 @@
 Set<String> computeSubtypedNames(CompilationUnit unit) {
   Set<String> subtypedNames = <String>{};
 
-  void _addSubtypedName(NamedType? type) {
+  void addSubtypedName(NamedType? type) {
     if (type != null) {
       Identifier name = type.name;
       if (name is SimpleIdentifier) {
@@ -28,25 +28,25 @@
     }
   }
 
-  void _addSubtypedNames(List<NamedType>? types) {
-    types?.forEach(_addSubtypedName);
+  void addSubtypedNames(List<NamedType>? types) {
+    types?.forEach(addSubtypedName);
   }
 
   for (CompilationUnitMember declaration in unit.declarations) {
     if (declaration is ClassDeclaration) {
-      _addSubtypedName(declaration.extendsClause?.superclass);
-      _addSubtypedNames(declaration.withClause?.mixinTypes);
-      _addSubtypedNames(declaration.implementsClause?.interfaces);
+      addSubtypedName(declaration.extendsClause?.superclass);
+      addSubtypedNames(declaration.withClause?.mixinTypes);
+      addSubtypedNames(declaration.implementsClause?.interfaces);
     } else if (declaration is ClassTypeAlias) {
-      _addSubtypedName(declaration.superclass);
-      _addSubtypedNames(declaration.withClause.mixinTypes);
-      _addSubtypedNames(declaration.implementsClause?.interfaces);
+      addSubtypedName(declaration.superclass);
+      addSubtypedNames(declaration.withClause.mixinTypes);
+      addSubtypedNames(declaration.implementsClause?.interfaces);
     } else if (declaration is EnumDeclaration) {
-      _addSubtypedNames(declaration.withClause?.mixinTypes);
-      _addSubtypedNames(declaration.implementsClause?.interfaces);
+      addSubtypedNames(declaration.withClause?.mixinTypes);
+      addSubtypedNames(declaration.implementsClause?.interfaces);
     } else if (declaration is MixinDeclaration) {
-      _addSubtypedNames(declaration.onClause?.superclassConstraints);
-      _addSubtypedNames(declaration.implementsClause?.interfaces);
+      addSubtypedNames(declaration.onClause?.superclassConstraints);
+      addSubtypedNames(declaration.implementsClause?.interfaces);
     }
   }
 
diff --git a/pkg/analyzer/test/src/dart/element/runtime_type_equality_test.dart b/pkg/analyzer/test/src/dart/element/runtime_type_equality_test.dart
index be647f5..eabafc2 100644
--- a/pkg/analyzer/test/src/dart/element/runtime_type_equality_test.dart
+++ b/pkg/analyzer/test/src/dart/element/runtime_type_equality_test.dart
@@ -242,27 +242,27 @@
   }
 
   test_interfaceType_typeArguments() {
-    void _equal(DartType T1, DartType T2) {
-      this._equal(listNone(T1), listNone(T2));
+    void equal(DartType T1, DartType T2) {
+      _equal(listNone(T1), listNone(T2));
     }
 
-    void _notEqual(DartType T1, DartType T2) {
-      this._notEqual(listNone(T1), listNone(T2));
+    void notEqual(DartType T1, DartType T2) {
+      _notEqual(listNone(T1), listNone(T2));
     }
 
-    _notEqual(intNone, boolNone);
+    notEqual(intNone, boolNone);
 
-    _equal(intNone, intNone);
-    _notEqual(intNone, intQuestion);
-    _equal(intNone, intStar);
+    equal(intNone, intNone);
+    notEqual(intNone, intQuestion);
+    equal(intNone, intStar);
 
-    _notEqual(intQuestion, intNone);
-    _equal(intQuestion, intQuestion);
-    _notEqual(intQuestion, intStar);
+    notEqual(intQuestion, intNone);
+    equal(intQuestion, intQuestion);
+    notEqual(intQuestion, intStar);
 
-    _equal(intStar, intNone);
-    _notEqual(intStar, intQuestion);
-    _equal(intStar, intStar);
+    equal(intStar, intNone);
+    notEqual(intStar, intQuestion);
+    equal(intStar, intStar);
   }
 
   test_never() {
diff --git a/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart b/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart
index 125e786..492f8fa 100644
--- a/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart
+++ b/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart
@@ -2085,27 +2085,27 @@
     var bElementStar = class_(name: 'B', superType: aStar);
     var bElementNone = class_(name: 'B', superType: aNone);
 
-    InterfaceType _bTypeStarElement(NullabilitySuffix nullability) {
+    InterfaceType bTypeStarElement(NullabilitySuffix nullability) {
       return interfaceType(
         bElementStar,
         nullabilitySuffix: nullability,
       );
     }
 
-    InterfaceType _bTypeNoneElement(NullabilitySuffix nullability) {
+    InterfaceType bTypeNoneElement(NullabilitySuffix nullability) {
       return interfaceType(
         bElementNone,
         nullabilitySuffix: nullability,
       );
     }
 
-    var bStarQuestion = _bTypeStarElement(NullabilitySuffix.question);
-    var bStarStar = _bTypeStarElement(NullabilitySuffix.star);
-    var bStarNone = _bTypeStarElement(NullabilitySuffix.none);
+    var bStarQuestion = bTypeStarElement(NullabilitySuffix.question);
+    var bStarStar = bTypeStarElement(NullabilitySuffix.star);
+    var bStarNone = bTypeStarElement(NullabilitySuffix.none);
 
-    var bNoneQuestion = _bTypeNoneElement(NullabilitySuffix.question);
-    var bNoneStar = _bTypeNoneElement(NullabilitySuffix.star);
-    var bNoneNone = _bTypeNoneElement(NullabilitySuffix.none);
+    var bNoneQuestion = bTypeNoneElement(NullabilitySuffix.question);
+    var bNoneStar = bTypeNoneElement(NullabilitySuffix.star);
+    var bNoneNone = bTypeNoneElement(NullabilitySuffix.none);
 
     void assertLUB(DartType type1, DartType type2, DartType expected) {
       expect(typeSystem.getLeastUpperBound(type1, type2), expected);
diff --git a/pkg/analyzer/test/util/id_testing_helper.dart b/pkg/analyzer/test/util/id_testing_helper.dart
index f5e4f87..48017a9 100644
--- a/pkg/analyzer/test/util/id_testing_helper.dart
+++ b/pkg/analyzer/test/util/id_testing_helper.dart
@@ -176,12 +176,12 @@
           }
         });
       } else {
-        String _formatError(AnalysisError e) {
+        String formatError(AnalysisError e) {
           var locationInfo = result.unit.lineInfo.getLocation(e.offset);
           return '$locationInfo: ${e.errorCode}: ${e.message}';
         }
 
-        onFailure('Errors found:\n  ${errors.map(_formatError).join('\n  ')}');
+        onFailure('Errors found:\n  ${errors.map(formatError).join('\n  ')}');
         return TestResult<T>.erroneous();
       }
     }
diff --git a/pkg/dartdev/lib/src/commands/fix.dart b/pkg/dartdev/lib/src/commands/fix.dart
index 0e78626..8f502da 100644
--- a/pkg/dartdev/lib/src/commands/fix.dart
+++ b/pkg/dartdev/lib/src/commands/fix.dart
@@ -118,7 +118,7 @@
       io.exit(1);
     });
 
-    Future<Map<String, BulkFix>> _applyAllEdits() async {
+    Future<Map<String, BulkFix>> applyAllEdits() async {
       var detailsMap = <String, BulkFix>{};
       List<SourceFileEdit> edits;
       var pass = 0;
@@ -134,7 +134,7 @@
       return detailsMap;
     }
 
-    var detailsMap = await _applyAllEdits();
+    var detailsMap = await applyAllEdits();
     await server.shutdown();
 
     if (computeFixesProgress != null) {
diff --git a/pkg/dartdev/test/commands/pub_test.dart b/pkg/dartdev/test/commands/pub_test.dart
index 0c11319..b984f92 100644
--- a/pkg/dartdev/test/commands/pub_test.dart
+++ b/pkg/dartdev/test/commands/pub_test.dart
@@ -17,7 +17,7 @@
 
   tearDown(() async => await p.dispose());
 
-  void _assertPubHelpInvoked(ProcessResult result) {
+  void assertPubHelpInvoked(ProcessResult result) {
     expect(result, isNotNull);
     expect(result.exitCode, 0);
     expect(result.stdout, contains('Work with packages'));
@@ -35,11 +35,11 @@
   });
 
   test('--help', () async {
-    _assertPubHelpInvoked(await project().run(['pub', '--help']));
+    assertPubHelpInvoked(await project().run(['pub', '--help']));
   });
 
   test('-h', () async {
-    _assertPubHelpInvoked(await project().run(['pub', '-h']));
+    assertPubHelpInvoked(await project().run(['pub', '-h']));
   });
 
   test('help cache', () async {
diff --git a/pkg/dartdev/test/core_test.dart b/pkg/dartdev/test/core_test.dart
index dc74efa..118df8c 100644
--- a/pkg/dartdev/test/core_test.dart
+++ b/pkg/dartdev/test/core_test.dart
@@ -25,7 +25,7 @@
 }
 
 void _dartdevCommand() {
-  void _assertDartdevCommandProperties(
+  void assertDartdevCommandProperties(
       DartdevCommand command, String name, String expectedUsagePath,
       [int subcommandCount = 0]) {
     expect(command, isNotNull);
@@ -37,62 +37,62 @@
   }
 
   test('analyze', () {
-    _assertDartdevCommandProperties(AnalyzeCommand(), 'analyze', 'analyze');
+    assertDartdevCommandProperties(AnalyzeCommand(), 'analyze', 'analyze');
   });
 
   test('compile', () {
-    _assertDartdevCommandProperties(CompileCommand(), 'compile', 'compile', 5);
+    assertDartdevCommandProperties(CompileCommand(), 'compile', 'compile', 5);
   });
 
   test('compile/js', () {
-    _assertDartdevCommandProperties(
+    assertDartdevCommandProperties(
         CompileCommand().subcommands['js'] as DartdevCommand,
         'js',
         'compile/js');
   });
 
   test('compile/jit-snapshot', () {
-    _assertDartdevCommandProperties(
+    assertDartdevCommandProperties(
         CompileCommand().subcommands['jit-snapshot'] as DartdevCommand,
         'jit-snapshot',
         'compile/jit-snapshot');
   });
 
   test('compile/kernel', () {
-    _assertDartdevCommandProperties(
+    assertDartdevCommandProperties(
         CompileCommand().subcommands['kernel'] as DartdevCommand,
         'kernel',
         'compile/kernel');
   });
 
   test('compile/exe', () {
-    _assertDartdevCommandProperties(
+    assertDartdevCommandProperties(
         CompileCommand().subcommands['exe'] as DartdevCommand,
         'exe',
         'compile/exe');
   });
 
   test('compile/aot-snapshot', () {
-    _assertDartdevCommandProperties(
+    assertDartdevCommandProperties(
         CompileCommand().subcommands['aot-snapshot'] as DartdevCommand,
         'aot-snapshot',
         'compile/aot-snapshot');
   });
 
   test('create', () {
-    _assertDartdevCommandProperties(CreateCommand(), 'create', 'create');
+    assertDartdevCommandProperties(CreateCommand(), 'create', 'create');
   });
 
   test('fix', () {
-    _assertDartdevCommandProperties(FixCommand(), 'fix', 'fix');
+    assertDartdevCommandProperties(FixCommand(), 'fix', 'fix');
   });
 
   test('run', () {
-    _assertDartdevCommandProperties(RunCommand(verbose: false), 'run', 'run');
+    assertDartdevCommandProperties(RunCommand(verbose: false), 'run', 'run');
   });
 
   test('test', () {
-    _assertDartdevCommandProperties(TestCommand(), 'test', 'test');
+    assertDartdevCommandProperties(TestCommand(), 'test', 'test');
   });
 }
 
diff --git a/tools/VERSION b/tools/VERSION
index f81f109..cb60cd8 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 60
+PRERELEASE 61
 PRERELEASE_PATCH 0
\ No newline at end of file