anchor.diff:    
     int advance() => bytes[++byteOffset];
     
  -  void scan() {
  +  List<String> getDependencies() {
  +    // Reset scanner instance
  +    dependencies = new List<String>();
  +    byteOffset = -1;
  +    
       _log("Running scan()");
       int next = advance();
       while (!identical(next, _U.$EOF)) {
         next = bigSwitch(next);
         _log("bigSwich output = $next");
       }
  +    
  +    return dependencies;
     }
     
     int bigSwitch(int next) {
  
positive.code:   String utf8String(int start, int offset) {
      _log("Running utf8String($start, $offset)");
      
      return new String.fromCharCodes(bytes.sublist(start,byteOffset+offset+1));
    }
    
    int error(String message) {
      _err("Running error($message)");
      
      throw message;
    }
    
    int appendPath(String path, int returnValueIfAppended) {
      _log("Running appendPath($path, $returnValueIfAppended)");
      
      if (nextTokenIsImportant) {
        paths.add(path);
        nextTokenIsImportant = false;
      }
      return returnValueIfAppended;
  
negative.code: part of distributed_dart;
  
  /**
   * Simple scanner implementation to scan for dependencies in Dart files.
   * 
   * Highly inspired of the Dart projects own scanner.
   */
  class Scanner {
    List<int> bytes;
    int byteOffset;
    List<String> dependencies;
    
    /* This is a primitive way to simulate token system. Because we only need to 
     * know if the next string is an import, export or part operation is should 
  