anchor.diff:    String get shortName => fullName;
   
     @override
  -  Uri get uri =>
  -      throw new UnsupportedError("StringSource doesn't support uri.");
  -
  -  UriKind get uriKind =>
  -      throw new UnsupportedError("StringSource doesn't support uriKind.");
  +  UriKind get uriKind => UriKind.FILE_URI;
   
     /**
      * Return `true` if the given [object] is a string source that is equal to
  
positive.code:   bool exists() => true;
  
    @override
    Uri resolveRelativeUri(Uri relativeUri) => throw new UnsupportedError(
        "StringSource doesn't support resolveRelative.");
  
    @override
    String toString() => 'StringSource ($fullName)';
  
negative.code:   final String fullName;
  
    @override
    final Uri uri;
  
    @override
    final int modificationStamp;
  
    StringSource(this._contents, String fullName)
        : this.fullName = fullName,
          uri = fullName == null ? null : new Uri.file(fullName),
          modificationStamp = new DateTime.now().millisecondsSinceEpoch;
  
    @override
    TimestampedData<String> get contents =>
        new TimestampedData(modificationStamp, _contents);
  
    @override
    String get encoding => uri.toString();
  
    @override
    int get hashCode => _contents.hashCode ^ fullName.hashCode;
  