anchor.diff:  //              libraryContext.file.source, libraryContext.file.source);
   //        });
           // Compute errors.
  -        List<AnalysisError> errors;
  -        try {
  -          errors = _logger.run('Compute errors', () {
  -            return analysisContext.computeErrors(file.source);
  -          });
  -        } catch (e, st) {
  -          // TODO(scheglov) why does it fail?
  -          // Caused by Bad state: Unmatched TypeParameterElementImpl T
  -          errors = [];
  -        }
  +        List<AnalysisError> errors = _logger.run('Compute errors', () {
  +          return analysisContext.computeErrors(file.source);
  +        });
           List<String> errorStrings = errors
               .where((error) => error.errorCode is! TodoCode)
               .map((error) => error.toString())
  
positive.code:   final _filesToAnalyze = new LinkedHashSet<String>();
  
    /**
     * The mapping of [Uri]s to the mapping of textual URIs to the [Source]
     * that correspond in the current [_sourceFactory].
     */
    final _uriResolutionCache = <Uri, Map<String, Source>>{};
  
  
negative.code:    * Return the [_File] for the [uri] referenced in this file.
     */
    _File resolveUri(String uri) {
      // TODO(scheglov) Consider removing this caching after implementing other
      // optimizations, e.g. changeFile() optimization.
      Source uriSource = driver._uriResolutionCache
          .putIfAbsent(this.uri, () => <String, Source>{})
          .putIfAbsent(uri, () => driver._sourceFactory.resolveUri(source, uri));
  