LLVM  8.0.1
Macros | Functions | Variables
TypeDumpVisitor.cpp File Reference
#include "llvm/DebugInfo/CodeView/TypeDumpVisitor.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/Formatters.h"
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
Include dependency graph for TypeDumpVisitor.cpp:

Go to the source code of this file.

Macros

#define CV_TYPE(enum, val)   {#enum, enum},
 
#define ENUM_ENTRY(enum_class, enum)   { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }
 
#define TYPE_RECORD(ename, value, name)
 

Functions

static StringRef getLeafTypeName (TypeLeafKind LT)
 

Variables

static const EnumEntry< TypeLeafKindLeafTypeNames []
 
static const EnumEntry< uint16_t > ClassOptionNames []
 
static const EnumEntry< uint8_t > MemberAccessNames []
 
static const EnumEntry< uint16_t > MethodOptionNames []
 
static const EnumEntry< uint16_t > MemberKindNames []
 
static const EnumEntry< uint8_t > PtrKindNames []
 
static const EnumEntry< uint8_t > PtrModeNames []
 
static const EnumEntry< uint16_t > PtrMemberRepNames []
 
static const EnumEntry< uint16_t > TypeModifierNames []
 
static const EnumEntry< uint8_t > CallingConventions []
 
static const EnumEntry< uint8_t > FunctionOptionEnum []
 
static const EnumEntry< uint16_t > LabelTypeEnum []
 

Macro Definition Documentation

◆ CV_TYPE

#define CV_TYPE (   enum,
  val 
)    {#enum, enum},

◆ ENUM_ENTRY

#define ENUM_ENTRY (   enum_class,
  enum 
)    { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }

Definition at line 29 of file TypeDumpVisitor.cpp.

◆ TYPE_RECORD

#define TYPE_RECORD (   ename,
  value,
  name 
)
Value:
case ename: \
return #name;
static const char * name

Function Documentation

◆ getLeafTypeName()

static StringRef getLeafTypeName ( TypeLeafKind  LT)
static

Variable Documentation

◆ CallingConventions

const EnumEntry<uint8_t> CallingConventions[]
static
Initial value:
= {
}
#define ENUM_ENTRY(enum_class, enum)
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition: CodeView.h:173

Definition at line 111 of file TypeDumpVisitor.cpp.

◆ ClassOptionNames

const EnumEntry<uint16_t> ClassOptionNames[]
static
Initial value:
= {
ENUM_ENTRY(ClassOptions, HasConstructorOrDestructor),
ENUM_ENTRY(ClassOptions, HasOverloadedOperator),
ENUM_ENTRY(ClassOptions, ContainsNestedClass),
ENUM_ENTRY(ClassOptions, HasOverloadedAssignmentOperator),
ENUM_ENTRY(ClassOptions, HasConversionOperator),
ENUM_ENTRY(ClassOptions, ForwardReference),
ENUM_ENTRY(ClassOptions, HasUniqueName),
ENUM_ENTRY(ClassOptions, Intrinsic),
}
#define ENUM_ENTRY(enum_class, enum)

Definition at line 32 of file TypeDumpVisitor.cpp.

◆ FunctionOptionEnum

const EnumEntry<uint8_t> FunctionOptionEnum[]
static
Initial value:
= {
ENUM_ENTRY(FunctionOptions, CxxReturnUdt),
ENUM_ENTRY(FunctionOptions, Constructor),
ENUM_ENTRY(FunctionOptions, ConstructorWithVirtualBases),
}
#define ENUM_ENTRY(enum_class, enum)

Definition at line 138 of file TypeDumpVisitor.cpp.

◆ LabelTypeEnum

const EnumEntry<uint16_t> LabelTypeEnum[]
static
Initial value:
= {
}
LabelType
Equivalent to CV_LABEL_TYPE_e.
Definition: CodeView.h:292
#define ENUM_ENTRY(enum_class, enum)

Definition at line 144 of file TypeDumpVisitor.cpp.

◆ LeafTypeNames

const EnumEntry<TypeLeafKind> LeafTypeNames[]
static
Initial value:
= {
#define CV_TYPE(enum, val)
}

Definition at line 24 of file TypeDumpVisitor.cpp.

◆ MemberAccessNames

const EnumEntry<uint8_t> MemberAccessNames[]
static
Initial value:
= {
}
const NoneType None
Definition: None.h:24
#define ENUM_ENTRY(enum_class, enum)
MemberAccess
Source-level access specifier. (CV_access_e)
Definition: CodeView.h:260

Definition at line 47 of file TypeDumpVisitor.cpp.

◆ MemberKindNames

const EnumEntry<uint16_t> MemberKindNames[]
static
Initial value:
= {
ENUM_ENTRY(MethodKind, IntroducingVirtual),
ENUM_ENTRY(MethodKind, PureVirtual),
ENUM_ENTRY(MethodKind, PureIntroducingVirtual),
}
MethodKind
Part of member attribute flags. (CV_methodprop_e)
Definition: CodeView.h:268
#define ENUM_ENTRY(enum_class, enum)

Definition at line 60 of file TypeDumpVisitor.cpp.

◆ MethodOptionNames

const EnumEntry<uint16_t> MethodOptionNames[]
static
Initial value:
= {
ENUM_ENTRY(MethodOptions, NoConstruct),
ENUM_ENTRY(MethodOptions, CompilerGenerated),
}
#define ENUM_ENTRY(enum_class, enum)
MethodOptions
Equivalent to CV_fldattr_t bitfield.
Definition: CodeView.h:279

Definition at line 52 of file TypeDumpVisitor.cpp.

◆ PtrKindNames

const EnumEntry<uint8_t> PtrKindNames[]
static
Initial value:
= {
ENUM_ENTRY(PointerKind, BasedOnSegment),
ENUM_ENTRY(PointerKind, BasedOnValue),
ENUM_ENTRY(PointerKind, BasedOnSegmentValue),
ENUM_ENTRY(PointerKind, BasedOnAddress),
ENUM_ENTRY(PointerKind, BasedOnSegmentAddress),
ENUM_ENTRY(PointerKind, BasedOnType),
ENUM_ENTRY(PointerKind, BasedOnSelf),
}
PointerKind
Equivalent to CV_ptrtype_e.
Definition: CodeView.h:328
#define ENUM_ENTRY(enum_class, enum)

Definition at line 70 of file TypeDumpVisitor.cpp.

◆ PtrMemberRepNames

const EnumEntry<uint16_t> PtrMemberRepNames[]
static
Initial value:
= {
ENUM_ENTRY(PointerToMemberRepresentation, SingleInheritanceData),
ENUM_ENTRY(PointerToMemberRepresentation, MultipleInheritanceData),
ENUM_ENTRY(PointerToMemberRepresentation, VirtualInheritanceData),
ENUM_ENTRY(PointerToMemberRepresentation, SingleInheritanceFunction),
ENUM_ENTRY(PointerToMemberRepresentation, MultipleInheritanceFunction),
ENUM_ENTRY(PointerToMemberRepresentation, VirtualInheritanceFunction),
}
#define ENUM_ENTRY(enum_class, enum)
PointerToMemberRepresentation
Equivalent to CV_pmtype_e.
Definition: CodeView.h:368

Definition at line 94 of file TypeDumpVisitor.cpp.

◆ PtrModeNames

const EnumEntry<uint8_t> PtrModeNames[]
static
Initial value:
= {
ENUM_ENTRY(PointerMode, LValueReference),
ENUM_ENTRY(PointerMode, PointerToDataMember),
ENUM_ENTRY(PointerMode, PointerToMemberFunction),
ENUM_ENTRY(PointerMode, RValueReference),
}
#define ENUM_ENTRY(enum_class, enum)
PointerMode
Equivalent to CV_ptrmode_e.
Definition: CodeView.h:345

Definition at line 86 of file TypeDumpVisitor.cpp.

◆ TypeModifierNames

const EnumEntry<uint16_t> TypeModifierNames[]
static
Initial value:
= {
}
ModifierOptions
Equivalent to CV_modifier_t.
Definition: CodeView.h:299
#define ENUM_ENTRY(enum_class, enum)

Definition at line 106 of file TypeDumpVisitor.cpp.