anchor.diff:  // Copyright (c) 2019, 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.
  -
  -// @dart = 2.9
   
   /// This executable provides the ability to run the migration tool in process
   /// on a single package.  It should be invoked with two command-line arguments:
  
positive.code:   migrationTest.setUp();
    print('Migrating');
    await migrationTest.run(packageRoot, port);
    if (port == null) {
      print('Done');
      io.exit(0);
    } else {
      print('Done.  Please point your browser to localhost:$port/\$filePath');
    }
  }
  
  class MigrationBase {
    ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE;
    MockServerChannel serverChannel;
    AnalysisServer server;
  
    AnalysisServer createAnalysisServer() {
      //
  
negative.code:   Map<String, String> get externalPackages =>
        ((testInfoJson['external_packages'] ?? {}) as Map).cast<String, String>();
  
    String get outputRoot => testInfoJson['output_root'] as String;
  
    int get port => testInfoJson['port'] as int;
  
    String get sdkRoot => testInfoJson['sdk_root'] as String;
  
    String packageRoot(String packageName) {
      if (thirdPartyPackages.contains(packageName)) {
  