anchor.diff:    if (!files.add(start)) return;
     var unit = parseDirectives(start);
     for (var directive in unit.directives) {
  -    if (directive is! UriBasedDirective) continue;
  -    var next = sources.resolveUri(start, directive.uri.stringValue);
  -    collectSources(next, files);
  +    if (directive is UriBasedDirective) {
  +      var next = sources.resolveUri(start, directive.uri.stringValue);
  +      collectSources(next, files);
  +    }
     }
   }
   
  
positive.code: 
    print('input size: ${scanTotalChars} chars');
    var loadTime = loadTimer.elapsedMicroseconds - scanTimer.elapsedMicroseconds;
    report("Loader", loadTime);
    report("Scanner", scanTimer.elapsedMicroseconds);
    return files;
  }
  
  
negative.code:   }
  
    totalTimer.stop();
    report("total", totalTimer.elapsedMicroseconds);
  }
  
  /// Sets up analyzer to be able to load and resolve app, packages, and sdk
  /// sources.
  void setup(Uri packageRoot) {
    var provider = PhysicalResourceProvider.INSTANCE;
    var packageMap = new ContextBuilder(provider, null, null)
        .convertPackagesToMap(getPackagesDirectory(packageRoot));
    sources = new SourceFactory([
      new ResourceUriResolver(provider),
      new PackageMapUriResolver(provider, packageMap),
      new DartUriResolver(
          new FolderBasedDartSdk(provider, provider.getFolder("sdk"))),
    ]);
  