anchor.diff:    /// Loading an image consists in assembling an analyzer `main()`, configured
     /// to include the appropriate analyzer plugins as specified in
     /// `.analyzer_options` which is then run in a spawned isolate.
  -  void load() {
  +  Future load() {
       List<PluginInfo> plugins = _validate(config.plugins);
       String mainSource = new Assembler(plugins).createMain();
  +
  +    Completer completer = new Completer();
  +    ReceivePort exitListener = new ReceivePort();
  +    exitListener.listen((data) {
  +      completer.complete();
  +      exitListener.close();
  +    });
   
       Uri uri =
           Uri.parse('data:application/dart;charset=utf-8,${Uri.encodeComponent(
  
positive.code:         packageRootPath != null ? packageRootPath : './packages';
      Uri packageUri = new Uri.file(packageRoot);
  
      Isolate.spawnUri(uri, args, null /* msg */, packageRoot: packageUri);
    }
  }
  
negative.code: 
  library analyzer_cli.src.bootloader;
  
  import 'dart:async';
  import 'dart:isolate';
  
  import 'package:analyzer/file_system/physical_file_system.dart';
  