anchor.diff:    }
   
     String? getPathForUri(Uri uri) {
  -    var source = _sourceFactory.forUri2(uri);
  -    if (source == null) {
  -      return null;
  -    }
  -    return source.fullName;
  +    return _sourceFactory.forUri2(uri)?.fullName;
     }
   
     /// Computes the set of [FileState]'s used/not used to analyze the given
  
positive.code:     return _fsState._resourceProvider.getFile(path);
    }
  
    FileState? _fileForRelativeUri({
      FileState? containingLibrary,
      required String relativeUri,
      required OperationPerformanceImpl performance,
    }) {
      if (relativeUri.isEmpty) {
        return null;
      }
  
      Uri absoluteUri;
      try {
        absoluteUri = resolveRelativeUri(uri, Uri.parse(relativeUri));
      } on FormatException {
        return null;
      }
  
  
negative.code:   }
  
    void _prefetchDirectReferences() {
      var prefetchFiles = location._fsState.prefetchFiles;
      if (prefetchFiles == null) {
        return;
      }
  
      var paths = <String>{};
  
      void addRelativeUri(String relativeUri) {
        var absoluteUri = location.resolveRelativeUriStr(relativeUri);
        if (absoluteUri != null) {
          var path = location._fsState.getPathForUri(absoluteUri);
          if (path != null) {
            paths.add(path);
          }
        }
      }
  
      var unlinkedUnit = unlinked.unit;
      for (var directive in unlinkedUnit.imports) {
        addRelativeUri(directive.uri);
      }
      for (var directive in unlinkedUnit.exports) {
        addRelativeUri(directive.uri);
      }
      for (var uri in unlinkedUnit.parts) {
        addRelativeUri(uri);
      }
  
      prefetchFiles(paths.toList());
    }
  
    static CompilationUnitImpl parse(AnalysisErrorListener errorListener,
  