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

1

2

3

4

5

6

7

8

11

13

14#include

15

16using namespace llvm;

19

26

32

34

39

43 RecurseIdFields);

44 }

47 RecurseIdFields);

54 Indent);

65 }

68}

69

78

81 return Record->getSize();

82

83 switch (TI.getSimpleMode()) {

87 return 2;

90 return 4;

92 return 8;

94 return 16;

95 default:

96 assert(false && "invalid simple type mode!");

97 }

98 return 0;

99}

100

102

104

105 return Session.getSymbolCache().findSymbolByTypeIndex(Referent);

106}

107

113

119

125

131

137

144

151

158

164

167 return false;

169 Record->getMemberInfo(),

172}

173

176 return false;

178 Record->getMemberInfo(),

181}

182

185 return false;

187 Record->getMemberInfo(),

190}

191

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

static bool isInheritanceKind(const MemberPointerInfo &MPI, PointerToMemberRepresentation P1, PointerToMemberRepresentation P2)

Definition NativeTypePointer.cpp:159

PointerToMemberRepresentation getRepresentation() const

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

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

SymIndexId getTypeId() const override

Definition NativeTypePointer.cpp:101

bool isPointerToDataMember() const override

Definition NativeTypePointer.cpp:120

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

Definition NativeTypePointer.cpp:35

bool isPointerToMemberFunction() const override

Definition NativeTypePointer.cpp:126

SymIndexId getClassParentId() const override

Definition NativeTypePointer.cpp:70

~NativeTypePointer() override

bool isReference() const override

Definition NativeTypePointer.cpp:108

bool isVirtualInheritance() const override

Definition NativeTypePointer.cpp:183

bool isConstType() const override

Definition NativeTypePointer.cpp:132

bool isSingleInheritance() const override

Definition NativeTypePointer.cpp:165

bool isMultipleInheritance() const override

Definition NativeTypePointer.cpp:174

bool isMemberPointer() const

Definition NativeTypePointer.cpp:192

bool isRValueReference() const override

Definition NativeTypePointer.cpp:114

NativeTypePointer(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI)

Definition NativeTypePointer.cpp:20

bool isUnalignedType() const override

Definition NativeTypePointer.cpp:152

bool isVolatileType() const override

Definition NativeTypePointer.cpp:145

uint64_t getLength() const override

Definition NativeTypePointer.cpp:79

std::optional< codeview::PointerRecord > Record

bool isRestrictedType() const override

Definition NativeTypePointer.cpp:138

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

@ PointerToMemberFunction

PointerToMemberRepresentation

Equivalent to CV_pmtype_e.

@ MultipleInheritanceData

@ SingleInheritanceFunction

@ VirtualInheritanceFunction

@ MultipleInheritanceFunction

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

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.