LLVM: include/llvm/ObjectYAML/COFFYAML.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_OBJECTYAML_COFFYAML_H

14#define LLVM_OBJECTYAML_COFFYAML_H

15

23#include

24#include

25#include

26

27namespace llvm {

28

29namespace COFF {

30

35

41

47

48}

49

50

51

53

57

69

79

84 std::vectorCodeViewYAML::YAMLDebugSubsection DebugS;

85 std::vectorCodeViewYAML::LeafRecord DebugT;

86 std::vectorCodeViewYAML::LeafRecord DebugP;

87 std::optionalCodeViewYAML::DebugHSection DebugH;

91

93};

94

104 std::optionalCOFF::AuxiliaryCLRToken CLRToken;

106

108};

109

112 std::optionalCOFF::DataDirectory

114};

115

124

125}

126

127}

128

133

134namespace llvm {

135namespace yaml {

136

137template <>

141

142template <>

146

147template <>

151

152template <>

156

157template <>

161

162template <>

166

167template <>

171

172template <>

176

177template <>

181

185

186template <>

190

191template <>

195

196template <>

200

201template <>

205

206template <>

210

211template <>

215

216template <>

220

221template <>

225

226template <>

230

231template <>

235

239

243

247

251

255

259

263

267

268template <>

272

276

277template <>

281

282template <>

286

287}

288}

289

290#endif

#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)

Utility for declaring that a std::vector of a particular type should be considered a YAML sequence.

#define LLVM_YAML_STRONG_TYPEDEF(_base, _type)

YAML I/O does conversion based on types. But often native data types are just a typedef of built in i...

StringRef - Represent a constant reference to a string, i.e.

LLVM Value Representation.

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

Specialized YAMLIO scalar type for representing a binary blob.

Characteristics operator|(Characteristics a, Characteristics b)

Definition COFFYAML.h:31

SymbolStorageClass

Storage class tells where and what the symbol represents.

@ IMAGE_SYM_TYPE_NULL

No type information or unknown base type.

@ IMAGE_SYM_DTYPE_NULL

No complex type; simple scalar variable.

This is an optimization pass for GlobalISel generic memory operations.

Definition COFFYAML.h:116

std::optional< PEHeader > OptionalHeader

Definition COFFYAML.h:117

std::vector< Section > Sections

Definition COFFYAML.h:119

std::vector< Symbol > Symbols

Definition COFFYAML.h:120

COFF::header Header

Definition COFFYAML.h:118

uint32_t VirtualAddress

Definition COFFYAML.h:59

StringRef SymbolName

Definition COFFYAML.h:66

std::optional< uint32_t > SymbolTableIndex

Definition COFFYAML.h:67

uint16_t Type

Definition COFFYAML.h:60

std::optional< object::coff_load_configuration64 > LoadConfig64

Definition COFFYAML.h:74

std::optional< object::coff_load_configuration32 > LoadConfig32

Definition COFFYAML.h:73

void writeAsBinary(raw_ostream &OS) const

std::optional< uint32_t > UInt32

Definition COFFYAML.h:71

yaml::BinaryRef Binary

Definition COFFYAML.h:72

std::vector< CodeViewYAML::YAMLDebugSubsection > DebugS

Definition COFFYAML.h:84

std::vector< SectionDataEntry > StructuredData

Definition COFFYAML.h:88

unsigned Alignment

Definition COFFYAML.h:82

StringRef Name

Definition COFFYAML.h:90

std::vector< CodeViewYAML::LeafRecord > DebugT

Definition COFFYAML.h:85

yaml::BinaryRef SectionData

Definition COFFYAML.h:83

std::optional< CodeViewYAML::DebugHSection > DebugH

Definition COFFYAML.h:87

std::vector< CodeViewYAML::LeafRecord > DebugP

Definition COFFYAML.h:86

COFF::section Header

Definition COFFYAML.h:81

std::vector< Relocation > Relocations

Definition COFFYAML.h:89

std::optional< COFF::AuxiliaryWeakExternal > WeakExternal

Definition COFFYAML.h:101

StringRef Name

Definition COFFYAML.h:105

std::optional< COFF::AuxiliarybfAndefSymbol > bfAndefSymbol

Definition COFFYAML.h:100

StringRef File

Definition COFFYAML.h:102

COFF::SymbolComplexType ComplexType

Definition COFFYAML.h:98

std::optional< COFF::AuxiliarySectionDefinition > SectionDefinition

Definition COFFYAML.h:103

std::optional< COFF::AuxiliaryFunctionDefinition > FunctionDefinition

Definition COFFYAML.h:99

COFF::symbol Header

Definition COFFYAML.h:96

COFF::SymbolBaseType SimpleType

Definition COFFYAML.h:97

std::optional< COFF::AuxiliaryCLRToken > CLRToken

Definition COFFYAML.h:104

32-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY32)

64-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY64)

static void mapping(IO &IO, COFFYAML::Object &Obj)

static void mapping(IO &IO, COFFYAML::Relocation &Rel)

static void mapping(IO &IO, COFFYAML::SectionDataEntry &Sec)

static void mapping(IO &IO, COFFYAML::Section &Sec)

static void mapping(IO &IO, COFFYAML::Symbol &S)

static void mapping(IO &IO, COFF::AuxiliaryCLRToken &ACT)

static void mapping(IO &IO, COFF::AuxiliaryFunctionDefinition &AFD)

static void mapping(IO &IO, COFF::AuxiliarySectionDefinition &ASD)

static void mapping(IO &IO, COFF::AuxiliaryWeakExternal &AWE)

static void mapping(IO &IO, COFF::AuxiliarybfAndefSymbol &AAS)

static void mapping(IO &IO, COFF::DataDirectory &DD)

static void mapping(IO &IO, object::coff_load_config_code_integrity &ACT)

static void mapping(IO &IO, object::coff_load_configuration32 &ACT)

static void mapping(IO &IO, object::coff_load_configuration64 &ACT)

This class should be specialized by any type that needs to be converted to/from a YAML mapping.

static void bitset(IO &IO, COFF::Characteristics &Value)

static void bitset(IO &IO, COFF::DLLCharacteristics &Value)

static void bitset(IO &IO, COFF::SectionCharacteristics &Value)

This class should be specialized by any integer type that is a union of bit values and the YAML repre...

static void enumeration(IO &IO, COFFYAML::AuxSymbolType &Value)

static void enumeration(IO &IO, COFFYAML::COMDATType &Value)

static void enumeration(IO &IO, COFFYAML::WeakExternalCharacteristics &Value)

static void enumeration(IO &IO, COFF::MachineTypes &Value)

static void enumeration(IO &IO, COFF::RelocationTypeAMD64 &Value)

static void enumeration(IO &IO, COFF::RelocationTypeI386 &Value)

static void enumeration(IO &IO, COFF::RelocationTypesARM64 &Value)

static void enumeration(IO &IO, COFF::RelocationTypesARM &Value)

static void enumeration(IO &IO, COFF::RelocationTypesMips &Value)

static void enumeration(IO &IO, COFF::SymbolBaseType &Value)

static void enumeration(IO &IO, COFF::SymbolComplexType &Value)

static void enumeration(IO &IO, COFF::SymbolStorageClass &Value)

static void enumeration(IO &IO, COFF::WindowsSubsystem &Value)

This class should be specialized by any integral type that converts to/from a YAML scalar where there...