anchor.diff:        .then(compilationDone);
   }
   
  -// TODO(ahe): Get rid of this class if http://dartbug.com/8118 is fixed.
  -class CountingSink implements EventSink<String> {
  -  final EventSink<String> sink;
  -  int count = 0;
  -
  -  CountingSink(this.sink);
  -
  -  void add(String value) {
  -    sink.add(value);
  -    count += value.length;
  -  }
  -
  -  void addError(Object error) { sink.addError(error); }
  -
  -  void close() { sink.close(); }
  +class EventSinkWrapper extends EventSink<String> {
  +  var onAdd, onClose;
  +
  +  EventSinkWrapper(this.onAdd, this.onClose);
  +
  +  void add(String data) => onAdd(data);
  +
  +  void addError(error) => throw error;
  +
  +  void close() => onClose();
   }
   
   class AbortLeg {
  
positive.code: import 'dart:async';
  import 'dart:collection' show Queue, LinkedHashMap;
  import 'dart:io';
  import 'dart:utf';
  
  import '../compiler.dart' as api;
  
negative.code: 
    diagnosticHandler.info('package root is $packageRoot');
  
    int totalCharactersWritten = 0;
  
    options.add('--source-map=$sourceMapOut');
  
  