LLVM: lib/DebugInfo/PDB/Native/NativeTypeUDT.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

14

15using namespace llvm;

18

23

28

34

36

40

42

46 RecurseIdFields);

50 RecurseIdFields);

53 Indent);

71}

72

76

77 return std::string(Tag->getName());

78}

79

81

88

92

94 return Session.getSymbolCache().findSymbolByTypeIndex(Class->VTableShape);

95

96 return 0;

97}

98

102

104 return Class->getSize();

105

106 return Union->getSize();

107}

108

112

113 switch (Tag->Kind) {

114 case TypeRecordKind::Class:

116 case TypeRecordKind::Union:

118 case TypeRecordKind::Struct:

120 case TypeRecordKind::Interface:

122 default:

124 }

125}

126

134

141

149

157

165

173

175

182

189

196

198

205

207

214

NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)

void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override

PDB_UdtType getUdtKind() const override

Definition NativeTypeUDT.cpp:109

SymIndexId getVirtualTableShapeId() const override

Definition NativeTypeUDT.cpp:89

bool hasNestedTypes() const override

Definition NativeTypeUDT.cpp:158

bool isPacked() const override

Definition NativeTypeUDT.cpp:190

bool isRefUdt() const override

Definition NativeTypeUDT.cpp:197

bool isUnalignedType() const override

Definition NativeTypeUDT.cpp:208

uint64_t getLength() const override

Definition NativeTypeUDT.cpp:99

bool isVolatileType() const override

Definition NativeTypeUDT.cpp:215

bool isValueUdt() const override

Definition NativeTypeUDT.cpp:206

void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override

Definition NativeTypeUDT.cpp:37

bool isScoped() const override

Definition NativeTypeUDT.cpp:199

NativeTypeUDT * UnmodifiedType

~NativeTypeUDT() override

SymIndexId getUnmodifiedTypeId() const override

Definition NativeTypeUDT.cpp:82

NativeTypeUDT(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::ClassRecord Class)

Definition NativeTypeUDT.cpp:19

SymIndexId getLexicalParentId() const override

Definition NativeTypeUDT.cpp:80

std::optional< codeview::UnionRecord > Union

std::optional< codeview::ClassRecord > Class

bool hasAssignmentOperator() const override

Definition NativeTypeUDT.cpp:142

bool hasCastOperator() const override

Definition NativeTypeUDT.cpp:150

std::optional< codeview::ModifierRecord > Modifiers

codeview::TagRecord * Tag

bool hasConstructor() const override

Definition NativeTypeUDT.cpp:127

std::string getName() const override

Definition NativeTypeUDT.cpp:73

codeview::TypeIndex Index

bool isConstType() const override

Definition NativeTypeUDT.cpp:135

bool hasOverloadedOperator() const override

Definition NativeTypeUDT.cpp:166

bool isNested() const override

Definition NativeTypeUDT.cpp:183

bool isIntrinsic() const override

Definition NativeTypeUDT.cpp:176

bool isInterfaceUdt() const override

Definition NativeTypeUDT.cpp:174

This class implements an extremely fast bulk output stream that can only output to a stream.

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

@ HasConstructorOrDestructor

@ HasOverloadedAssignmentOperator

void dumpSymbolField(raw_ostream &OS, StringRef Name, T Value, int Indent)

PDB_UdtType

These values correspond to the UdtKind enumeration, and are documented here: https://msdn....

PDB_SymType

These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....

LLVM_ABI void dumpSymbolIdField(raw_ostream &OS, StringRef Name, SymIndexId Value, int Indent, const IPDBSession &Session, PdbSymbolIdField FieldId, PdbSymbolIdField ShowFlags, PdbSymbolIdField RecurseFlags)

This is an optimization pass for GlobalISel generic memory operations.

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.