LLVM  6.0.0svn
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/BinaryByteStream.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 30 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 112 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 33 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 139 of file TypeDumpVisitor.cpp.

◆ LabelTypeEnum

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

Definition at line 145 of file TypeDumpVisitor.cpp.

◆ LeafTypeNames

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

Definition at line 25 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:258

Definition at line 48 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:266
#define ENUM_ENTRY(enum_class, enum)

Definition at line 61 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:277

Definition at line 53 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:326
#define ENUM_ENTRY(enum_class, enum)

Definition at line 71 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:364

Definition at line 95 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:343

Definition at line 87 of file TypeDumpVisitor.cpp.

◆ TypeModifierNames

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

Definition at line 107 of file TypeDumpVisitor.cpp.