11 #include "llvm/Support/SHA1.h"
17 auto Hash = llvm::SHA1::hash(llvm::arrayRefFromStringRef(
USR));
18 static_assert(
sizeof(Hash) >=
RawSize,
"RawSize larger than SHA1");
19 memcpy(HashValue.data(), Hash.data(),
RawSize);
23 return llvm::StringRef(
reinterpret_cast<const char *
>(HashValue.data()),
30 memcpy(
ID.HashValue.data(), Raw.data(),
RawSize);
38 return error(
"Bad ID length");
40 if (!llvm::isHexDigit(
C))
41 return error(
"Bad hex ID");
42 return fromRaw(llvm::fromHex(Str));
46 return OS << llvm::toHex(
ID.raw());