anchor.diff:    AnalysisServerWrapper(this.sdkPath) {
       _logger.info("AnalysisServerWrapper ctor");
       sourceDirectory = io.Directory.systemTemp.createTempSync('analysisServer');
  -    mainPath = "${sourceDirectory.path}${io.Platform.pathSeparator}main.dart";
  +    mainPath = _getPathFromName("main.dart");
       serverConnection = new _Server(this.sdkPath);
     }
   
     Future<api.CompleteResponse> complete(String src, int offset) async =>
  -    completeMulti({mainPath : src},
  +    completeMulti({"main.dart" : src},
         new api.Location()
  -        ..fullName = mainPath
  +        ..fullName = "main.dart"
           ..offset = offset);
   
     Future<api.CompleteResponse> completeMulti(
  
positive.code: 
    Future<api.FixesResponse> getFixes(String src, int offset) async =>
      getFixesMulti(
        {mainPath : src},
        new api.Location()
          ..fullName = mainPath
          ..offset = offset);
  
    Future<api.FixesResponse> getFixesMulti(
  
negative.code:   }
  
    Future<EditGetFixesResult> _getFixesImpl(
        Map<String, String> sources, String sourceName, int offset) async {
      sources = _rewriteOverlayNamesToPaths(sources);
      String path = _getPathFromName(sourceName);
  
      await serverConnection._ensureSetup();
      await serverConnection.loadSources(sources);
      await serverConnection.analysisComplete.first;
      var fixes = await serverConnection.sendGetFixes(path, offset);
      await serverConnection.unloadSources(sources.keys.toList());
      return fixes;
    }
  
    Future<EditFormatResult> _formatImpl(String src, int offset) async {
      await serverConnection._ensureSetup();
      await serverConnection.loadSources({mainPath : src});
      await serverConnection.analysisComplete.first;
      var formatResult = await serverConnection.sendFormat(offset);
      await serverConnection.unloadSources([mainPath]);
      return formatResult;
    }
  
    Map<String, String> _rewriteOverlayNamesToPaths(Map<String, String> overlay) {
      var newOverlay = {};
      overlay.forEach((k,v) => newOverlay.putIfAbsent(
        _getPathFromName(k), () => v)
      );
      return newOverlay;
    }
  
    String _getPathFromName(String sourceName) =>
      "${sourceDirectory.path}${io.Platform.pathSeparator}$sourceName";
  
    /// Warm up the analysis server to be ready for use.
    Future warmup([bool useHtml = false]) =>
  