anchor.diff:  import 'package:analyzer/src/workspace/gn.dart';
   import 'package:analyzer_plugin/protocol/protocol_common.dart'
       show KytheEntry, KytheVName;
  +import 'package:path/path.dart' show relative;
   
   import 'schema.dart' as schema;
   
  
positive.code:   return '$start-$end';
  }
  
  String _getPath(ResourceProvider provider, Element? e) {
    // TODO(jwren) This method simply serves to provide the WORKSPACE relative
    // path for sources in Elements, it needs to be written in a more robust way.
    // TODO(jwren) figure out what source generates a e != null, but
  
negative.code:     // "dynamic"
      return '';
    }
    if (sdkRootPath != null) {
      final uri = source.uri;
      if (uri.isScheme('dart')) {
        final pathSegments = uri.pathSegments;
        if (pathSegments.length == 1) {
          final libraryName = pathSegments.single;
          return '$sdkRootPath/lib/$libraryName/$libraryName.dart';
        } else {
          return '$sdkRootPath/lib/${uri.path}';
        }
      }
      return relative(source.fullName, from: '/$corpus/');
    }
  
    var path = source.fullName;
    var bazelWorkspace = BazelWorkspace.find(provider, path);
    if (bazelWorkspace != null) {
  