anchor.diff:          }
         }
   
  +      ErrorSeverity severity;
  +      if (options.buildSummaryOnly) {
  +        severity = ErrorSeverity.NONE;
  +      } else {
  +        // Process errors.
  +        await _printErrors(outputPath: options.buildAnalysisOutput);
  +        severity = await _computeMaxSeverity();
  +      }
  +
         if (dependencyTracker != null) {
           io.File file = new io.File(dependencyTracker.outputPath);
           file.writeAsStringSync(dependencyTracker.dependencies.join('\n'));
         }
   
  -      if (options.buildSummaryOnly) {
  -        return ErrorSeverity.NONE;
  -      } else {
  -        // Process errors.
  -        await _printErrors(outputPath: options.buildAnalysisOutput);
  -        return await _computeMaxSeverity();
  -      }
  +      return severity;
       });
     }
   
  
positive.code: 
      var sourceFactory = new SourceFactory(<UriResolver>[
        new DartUriResolver(sdk),
        new InSummaryUriResolver(resourceProvider, summaryDataStore),
        new ExplicitSourceResolver(uriToFileMap)
      ]);
  
  
negative.code:     return cache.get(inputs, path);
    }
  }
  
  /**
   * Wrapper for [InSummaryUriResolver] that tracks accesses to summaries.
   */
  class TrackingInSummaryUriResolver extends UriResolver {
    // May be null.
    final DependencyTracker dependencyTracker;
    final InSummaryUriResolver inSummaryUriResolver;
  
    TrackingInSummaryUriResolver(
        this.inSummaryUriResolver, this.dependencyTracker);
  
    @override
    Source resolveAbsolute(Uri uri, [Uri actualUri]) {
      var source = inSummaryUriResolver.resolveAbsolute(uri, actualUri);
      if (dependencyTracker != null &&
          source != null &&
          source is InSummarySource) {
        dependencyTracker.record(source.summaryPath);
      }
      return source;
    }
  }
  