anchor.diff:      function GetBytes: TBytes;
       property Bytes: TBytes read GetBytes;
     end;
  -  {$IFNDEF FPC}
  +
       TStringStreamHelper = class helper for TStringStream
         function GetDataString: string;
  +      {$IFNDEF FPC}
         property DataString: string read GetDataString;
  -    end;
  -  {$ENDIF}
  +      {$ENDIF}
  +    end;
   
   function TBytesStreamHelper.GetBytes: TBytes;
   begin
  
positive.code:   end
    else
      StringStream := TStringStream(SourceStream);
    FLexer.Origin := PChar(StringStream.DataString);
    ParseFile;
    if OwnStream then
      StringStream.Free;
  
negative.code:   end
    else
      Result := Self.FEncoding.GetString(Bytes, 0, Size);
  end;
  {$ELSE}
  function TStringStreamHelper.GetDataString: string;
  var
    Encoding: TEncoding;
    Bytes: TBytes;
  begin
    Encoding := nil;
    SetLength(Bytes, Self.Size);
    Bytes := BytesOf(DataString);
    TEncoding.GetBufferEncoding(Bytes, Encoding);
    Result := Encoding.GetString(Bytes, Length(Encoding.GetPreamble), Size);
  end;
  {$ENDIF}
  
  