class NativeTypeEnum

Declaration

class NativeTypeEnum : public NativeRawSymbol { /* full declaration omitted */ };

Description

IPDBRawSymbol defines an interface used to represent an arbitrary symbol. It exposes a monolithic interface consisting of accessors for the union of all properties that are valid for any symbol type. This interface is then wrapped by a concrete class which exposes only those set of methods valid for this particular symbol type. See PDBSymbol.h for more details.

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:25

Inherits from: NativeRawSymbol

Member Variables

protected codeview::TypeIndex Index
protected Optional<codeview::EnumRecord> Record
protected llvm::pdb::NativeTypeEnum* UnmodifiedType = nullptr
protected Optional<codeview::ModifierRecord> Modifiers

Inherited from NativeRawSymbol:

protected Session
protected Tag
protected SymbolId

Method Overview

Inherited from NativeRawSymbol:

Inherited from IPDBRawSymbol:

Methods

NativeTypeEnum(
    llvm::pdb::NativeSession& Session,
    llvm::pdb::SymIndexId Id,
    llvm::pdb::NativeTypeEnum& UnmodifiedType,
    codeview::ModifierRecord Modifier)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:30

Parameters

llvm::pdb::NativeSession& Session
llvm::pdb::SymIndexId Id
llvm::pdb::NativeTypeEnum& UnmodifiedType
codeview::ModifierRecord Modifier

NativeTypeEnum(llvm::pdb::NativeSession& Session,
               llvm::pdb::SymIndexId Id,
               codeview::TypeIndex TI,
               codeview::EnumRecord Record)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:27

Parameters

llvm::pdb::NativeSession& Session
llvm::pdb::SymIndexId Id
codeview::TypeIndex TI
codeview::EnumRecord Record

void dump(
    llvm::raw_ostream& OS,
    int Indent,
    llvm::pdb::PdbSymbolIdField ShowIdFields,
    llvm::pdb::PdbSymbolIdField RecurseIdFields)
    const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:35

Parameters

llvm::raw_ostream& OS
int Indent
llvm::pdb::PdbSymbolIdField ShowIdFields
llvm::pdb::PdbSymbolIdField RecurseIdFields

std::unique_ptr<IPDBEnumSymbols> findChildren(
    llvm::pdb::PDB_SymType Type) const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:39

Parameters

llvm::pdb::PDB_SymType Type

llvm::pdb::PDB_BuiltinType getBuiltinType() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:41

const codeview::EnumRecord& getEnumRecord() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:64

uint64_t getLength() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:47

std::string getName() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:48

llvm::pdb::PDB_SymType getSymTag() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:42

llvm::pdb::SymIndexId getTypeId() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:58

const llvm::pdb::NativeTypeBuiltin&
getUnderlyingBuiltinType() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:63

llvm::pdb::SymIndexId getUnmodifiedTypeId() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:43

bool hasAssignmentOperator() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:45

bool hasCastOperator() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:46

bool hasConstructor() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:44

bool hasNestedTypes() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:54

bool hasOverloadedOperator() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:53

bool isConstType() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:49

bool isInterfaceUdt() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:61

bool isIntrinsic() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:55

bool isNested() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:52

bool isPacked() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:56

bool isRefUdt() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:59

bool isScoped() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:57

bool isUnalignedType() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:51

bool isValueUdt() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:60

bool isVolatileType() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:50

~NativeTypeEnum()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h:33