anchor.diff:    }
   
     /**
  -   * Returns the [Uri] for the given input file.
  -   *
  -   * Usually it is a `file:` [Uri], but if [file] is located in the `lib`
  -   * directory of the [sdk], then returns a `dart:` [Uri].
  -   */
  -  static Uri getUri(JavaFile file) {
  -    // may be file in SDK
  -    {
  -      Source source = sdk.fromFileUri(file.toURI());
  -      if (source != null) {
  -        return source.uri;
  -      }
  -    }
  -    // some generic file
  -    return file.toURI();
  -  }
  -
  -  /**
      * Convert [sourcePath] into an absolute path.
      */
     static String _normalizeSourcePath(String sourcePath) {
  
positive.code:     return _analyzeSync(printMode);
    }
  
    void prepareAnalysisContext(JavaFile sourceFile, Source source) {
      List<UriResolver> resolvers = [
        new CustomUriResolver(options.customUrlMappings),
        new DartUriResolver(sdk),
        new FileUriResolver()
      ];
      // maybe add package resolver
      {
        JavaFile packageDirectory;
        if (options.packageRootPath != null) {
          packageDirectory = new JavaFile(options.packageRootPath);
          resolvers.add(new PackageUriResolver([packageDirectory]));
        } else {
          PubPackageMapProvider pubPackageMapProvider =
              new PubPackageMapProvider(PhysicalResourceProvider.INSTANCE, sdk);
          PackageMapInfo packageMapInfo = pubPackageMapProvider.computePackageMap(
              PhysicalResourceProvider.INSTANCE.getResource('.'));
          Map<String, List<Folder>> packageMap = packageMapInfo.packageMap;
          if (packageMap != null) {
            resolvers.add(new PackageMapUriResolver(
                PhysicalResourceProvider.INSTANCE, packageMap));
          }
        }
      }
      sourceFactory = new SourceFactory(resolvers);
      context = AnalysisEngine.instance.createAnalysisContext();
      context.sourceFactory = sourceFactory;
      Map<String, String> definedVariables = options.definedVariables;
  
negative.code:     if (sourcePath == null) {
        throw new ArgumentError("sourcePath cannot be null");
      }
      // prepare context
      prepareAnalysisContext();
    }
  
    /// The async version of the analysis
  