21 return Name ==
"<unnamed-tag>" || Name ==
"__unnamed" ||
22 Name.ends_with(
"::<unnamed-tag>") || Name.ends_with(
"::__unnamed");
35 if (!ForwardRef && !
Scoped && !IsAnon)
67 return TagRecordHash{std::move(Deserialized), ThisRecordHash, 0};
72 Scoped ? Deserialized.getUniqueName() : Deserialized.getName();
74 return TagRecordHash{std::move(Deserialized), FullHash, ThisRecordHash};
89 switch (
Type.kind()) {
99 assert(
false &&
"Type is not a tag record!");
106 switch (Rec.
kind()) {
116 case LF_UDT_SRC_LINE:
118 case LF_UDT_MOD_SRC_LINE:
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
static Expected< uint32_t > getSourceLineHash(const CVType &Rec)
static bool isAnonymous(StringRef Name)
static Expected< TagRecordHash > getTagRecordHashForUdt(const CVType &Rec)
static uint32_t getHashForUdt(const TagRecord &Rec, ArrayRef< uint8_t > FullRecord)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Tagged union holding either a T or a Error.
LLVM_ABI void update(ArrayRef< uint8_t > Data)
StringRef - Represent a constant reference to a string, i.e.
ArrayRef< uint8_t > data() const
ClassOptions getOptions() const
StringRef getName() const
StringRef getUniqueName() const
static Error deserializeAs(CVType &CVT, T &Record)
CVRecord< TypeLeafKind > CVType
LLVM_ABI uint32_t hashStringV1(StringRef Str)
LLVM_ABI Expected< uint32_t > hashTypeRecord(const llvm::codeview::CVType &Type)
LLVM_ABI uint32_t hashBufferV8(ArrayRef< uint8_t > Data)
LLVM_ABI Expected< TagRecordHash > hashTagRecord(const codeview::CVType &Type)
Given a CVType referring to a class, structure, union, or enum, compute the hash of its forward decl ...
void write32le(void *P, uint32_t V)
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI std::error_code inconvertibleErrorCode()
The value returned by this function can be returned from convertToErrorCode for Error values where no...
Error make_error(ArgTs &&... Args)
Make a Error instance representing failure using the given error info type.