anchor.diff:  // TODO(adam): use verbose
   
   part of hop_tasks;
  -
  -class _AnalyzerResult {
  -  final ProcessResult processResult;
  -  final Path path;
  -
  -  _AnalyzerResult(this.path, this.processResult);
  -
  -  String toString() {
  -    return "${_getPrefix(processResult.exitCode)}: $path";
  -  }
  -
  -  String toVerboseString() {
  -    return '''${toString()}
  -${processResult.stdout}
  -${processResult.stderr}''';
  -  }
  -
  -  static String _getPrefix(int exitCode) {
  -    switch(exitCode) {
  -      case 0:
  -        return "PASSED";
  -      case 1:
  -        return "WARNING";
  -      case 2:
  -        return "ERROR";
  -      default:
  -        return "Unknown exit code $exitCode";
  -    }
  -  }
  -}
   
   Task createDartAnalyzerTask(Iterable<String> files) {
     return new Task.async((context) {
  
positive.code: 
  Future<bool> _processAnalyzerFile(TaskContext context, List<Path> analyzerFilePaths,
      bool enableTypeChecks, bool verbose) {
    final results = new List<_AnalyzerResult>();
  
    return Future.forEach(analyzerFilePaths, (Path path) {
      return _analyzer(context, path, enableTypeChecks)
          .then((_AnalyzerResult ar) {
            if(verbose) {
              context.info(ar.toVerboseString());
            } else {
              context.info(ar.toString());
            }
            results.add(ar);
          });
      }).
      then((_) => _processResults(context, results, verbose));
  }
  
  Future<_AnalyzerResult> _analyzer(TaskContext context, Path filePath, bool enableTypeChecks) {
    TempDir tmpDir;
  
    return TempDir.create()
  
negative.code: 
          processArgs.addAll([filePath.toNativePath()]);
  
          return Process.start('dart_analyzer', processArgs);
        })
        .then((process) {
          if(verbose) {
            return pipeProcess(process,
                stdOutWriter: context.fine,
                stdErrWriter: context.severe);
          } else {
            return pipeProcess(process);
          }
        })
        .whenComplete(() {
  