anchor.diff:      return completer.future;
     }
   
  +  ApiSignature getUnitKeyByPath(String path) {
  +    var file = fsState.getFileForPath(path);
  +    ApiSignature signature = new ApiSignature();
  +    signature.addUint32List(_salt);
  +    signature.addString(file.transitiveSignature);
  +    return signature;
  +  }
  +
     /**
      * Return a [Future] that completes with a [ParseResult] for the file
      * with the given [path].
  
positive.code:     CompilationUnit unit = file.parse(listener);
      return new ParseResult(file.path, file.uri, file.content, file.contentHash,
          unit.lineInfo, unit, listener.errors);
    }
  
    /**
  
negative.code:     return completer.future;
    }
  
    ApiSignature getResolvedUnitKeyByPath(String path) {
      ApiSignature signature = getUnitKeyByPath(path);
      var file = fsState.getFileForPath(path);
      signature.addString(file.contentHash);
      return signature;
    }
  
    /**
     * Return a [Future] that completes with a [AnalysisResult] for the Dart
     * file with the given [path]. If the file is not a Dart file or cannot
  