1 //===- EnumTables.cpp - Enum to string conversion tables --------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "llvm/DebugInfo/CodeView/EnumTables.h" 11 12 using namespace llvm; 13 using namespace codeview; 14 15 #define CV_ENUM_CLASS_ENT(enum_class, enum) \ 16 { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) } 17 18 #define CV_ENUM_ENT(ns, enum) \ 19 { #enum, ns::enum } 20 21 static const EnumEntry<SymbolKind> SymbolTypeNames[] = { 22 #define CV_SYMBOL(enum, val) {#enum, enum}, 23 #include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" 24 #undef CV_SYMBOL 25 }; 26 27 static const EnumEntry<TypeLeafKind> TypeLeafNames[] = { 28 #define CV_TYPE(name, val) {#name, name}, 29 #include "llvm/DebugInfo/CodeView/CodeViewTypes.def" 30 #undef CV_TYPE 31 }; 32 33 static const EnumEntry<uint16_t> RegisterNames[] = { 34 CV_ENUM_CLASS_ENT(RegisterId, Unknown), 35 CV_ENUM_CLASS_ENT(RegisterId, VFrame), 36 CV_ENUM_CLASS_ENT(RegisterId, AL), 37 CV_ENUM_CLASS_ENT(RegisterId, CL), 38 CV_ENUM_CLASS_ENT(RegisterId, DL), 39 CV_ENUM_CLASS_ENT(RegisterId, BL), 40 CV_ENUM_CLASS_ENT(RegisterId, AH), 41 CV_ENUM_CLASS_ENT(RegisterId, CH), 42 CV_ENUM_CLASS_ENT(RegisterId, DH), 43 CV_ENUM_CLASS_ENT(RegisterId, BH), 44 CV_ENUM_CLASS_ENT(RegisterId, AX), 45 CV_ENUM_CLASS_ENT(RegisterId, CX), 46 CV_ENUM_CLASS_ENT(RegisterId, DX), 47 CV_ENUM_CLASS_ENT(RegisterId, BX), 48 CV_ENUM_CLASS_ENT(RegisterId, SP), 49 CV_ENUM_CLASS_ENT(RegisterId, BP), 50 CV_ENUM_CLASS_ENT(RegisterId, SI), 51 CV_ENUM_CLASS_ENT(RegisterId, DI), 52 CV_ENUM_CLASS_ENT(RegisterId, EAX), 53 CV_ENUM_CLASS_ENT(RegisterId, ECX), 54 CV_ENUM_CLASS_ENT(RegisterId, EDX), 55 CV_ENUM_CLASS_ENT(RegisterId, EBX), 56 CV_ENUM_CLASS_ENT(RegisterId, ESP), 57 CV_ENUM_CLASS_ENT(RegisterId, EBP), 58 CV_ENUM_CLASS_ENT(RegisterId, ESI), 59 CV_ENUM_CLASS_ENT(RegisterId, EDI), 60 CV_ENUM_CLASS_ENT(RegisterId, ES), 61 CV_ENUM_CLASS_ENT(RegisterId, CS), 62 CV_ENUM_CLASS_ENT(RegisterId, SS), 63 CV_ENUM_CLASS_ENT(RegisterId, DS), 64 CV_ENUM_CLASS_ENT(RegisterId, FS), 65 CV_ENUM_CLASS_ENT(RegisterId, GS), 66 CV_ENUM_CLASS_ENT(RegisterId, IP), 67 CV_ENUM_CLASS_ENT(RegisterId, RAX), 68 CV_ENUM_CLASS_ENT(RegisterId, RBX), 69 CV_ENUM_CLASS_ENT(RegisterId, RCX), 70 CV_ENUM_CLASS_ENT(RegisterId, RDX), 71 CV_ENUM_CLASS_ENT(RegisterId, RSI), 72 CV_ENUM_CLASS_ENT(RegisterId, RDI), 73 CV_ENUM_CLASS_ENT(RegisterId, RBP), 74 CV_ENUM_CLASS_ENT(RegisterId, RSP), 75 CV_ENUM_CLASS_ENT(RegisterId, R8), 76 CV_ENUM_CLASS_ENT(RegisterId, R9), 77 CV_ENUM_CLASS_ENT(RegisterId, R10), 78 CV_ENUM_CLASS_ENT(RegisterId, R11), 79 CV_ENUM_CLASS_ENT(RegisterId, R12), 80 CV_ENUM_CLASS_ENT(RegisterId, R13), 81 CV_ENUM_CLASS_ENT(RegisterId, R14), 82 CV_ENUM_CLASS_ENT(RegisterId, R15), 83 }; 84 85 static const EnumEntry<uint32_t> PublicSymFlagNames[] = { 86 CV_ENUM_CLASS_ENT(PublicSymFlags, Code), 87 CV_ENUM_CLASS_ENT(PublicSymFlags, Function), 88 CV_ENUM_CLASS_ENT(PublicSymFlags, Managed), 89 CV_ENUM_CLASS_ENT(PublicSymFlags, MSIL), 90 }; 91 92 static const EnumEntry<uint8_t> ProcSymFlagNames[] = { 93 CV_ENUM_CLASS_ENT(ProcSymFlags, HasFP), 94 CV_ENUM_CLASS_ENT(ProcSymFlags, HasIRET), 95 CV_ENUM_CLASS_ENT(ProcSymFlags, HasFRET), 96 CV_ENUM_CLASS_ENT(ProcSymFlags, IsNoReturn), 97 CV_ENUM_CLASS_ENT(ProcSymFlags, IsUnreachable), 98 CV_ENUM_CLASS_ENT(ProcSymFlags, HasCustomCallingConv), 99 CV_ENUM_CLASS_ENT(ProcSymFlags, IsNoInline), 100 CV_ENUM_CLASS_ENT(ProcSymFlags, HasOptimizedDebugInfo), 101 }; 102 103 static const EnumEntry<uint16_t> LocalFlags[] = { 104 CV_ENUM_CLASS_ENT(LocalSymFlags, IsParameter), 105 CV_ENUM_CLASS_ENT(LocalSymFlags, IsAddressTaken), 106 CV_ENUM_CLASS_ENT(LocalSymFlags, IsCompilerGenerated), 107 CV_ENUM_CLASS_ENT(LocalSymFlags, IsAggregate), 108 CV_ENUM_CLASS_ENT(LocalSymFlags, IsAggregated), 109 CV_ENUM_CLASS_ENT(LocalSymFlags, IsAliased), 110 CV_ENUM_CLASS_ENT(LocalSymFlags, IsAlias), 111 CV_ENUM_CLASS_ENT(LocalSymFlags, IsReturnValue), 112 CV_ENUM_CLASS_ENT(LocalSymFlags, IsOptimizedOut), 113 CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredGlobal), 114 CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredStatic), 115 }; 116 117 static const EnumEntry<uint8_t> FrameCookieKinds[] = { 118 CV_ENUM_CLASS_ENT(FrameCookieKind, Copy), 119 CV_ENUM_CLASS_ENT(FrameCookieKind, XorStackPointer), 120 CV_ENUM_CLASS_ENT(FrameCookieKind, XorFramePointer), 121 CV_ENUM_CLASS_ENT(FrameCookieKind, XorR13), 122 }; 123 124 static const EnumEntry<codeview::SourceLanguage> SourceLanguages[] = { 125 CV_ENUM_ENT(SourceLanguage, C), CV_ENUM_ENT(SourceLanguage, Cpp), 126 CV_ENUM_ENT(SourceLanguage, Fortran), CV_ENUM_ENT(SourceLanguage, Masm), 127 CV_ENUM_ENT(SourceLanguage, Pascal), CV_ENUM_ENT(SourceLanguage, Basic), 128 CV_ENUM_ENT(SourceLanguage, Cobol), CV_ENUM_ENT(SourceLanguage, Link), 129 CV_ENUM_ENT(SourceLanguage, Cvtres), CV_ENUM_ENT(SourceLanguage, Cvtpgd), 130 CV_ENUM_ENT(SourceLanguage, CSharp), CV_ENUM_ENT(SourceLanguage, VB), 131 CV_ENUM_ENT(SourceLanguage, ILAsm), CV_ENUM_ENT(SourceLanguage, Java), 132 CV_ENUM_ENT(SourceLanguage, JScript), CV_ENUM_ENT(SourceLanguage, MSIL), 133 CV_ENUM_ENT(SourceLanguage, HLSL), 134 }; 135 136 static const EnumEntry<uint32_t> CompileSym2FlagNames[] = { 137 CV_ENUM_CLASS_ENT(CompileSym2Flags, EC), 138 CV_ENUM_CLASS_ENT(CompileSym2Flags, NoDbgInfo), 139 CV_ENUM_CLASS_ENT(CompileSym2Flags, LTCG), 140 CV_ENUM_CLASS_ENT(CompileSym2Flags, NoDataAlign), 141 CV_ENUM_CLASS_ENT(CompileSym2Flags, ManagedPresent), 142 CV_ENUM_CLASS_ENT(CompileSym2Flags, SecurityChecks), 143 CV_ENUM_CLASS_ENT(CompileSym2Flags, HotPatch), 144 CV_ENUM_CLASS_ENT(CompileSym2Flags, CVTCIL), 145 CV_ENUM_CLASS_ENT(CompileSym2Flags, MSILModule), 146 }; 147 148 static const EnumEntry<uint32_t> CompileSym3FlagNames[] = { 149 CV_ENUM_CLASS_ENT(CompileSym3Flags, EC), 150 CV_ENUM_CLASS_ENT(CompileSym3Flags, NoDbgInfo), 151 CV_ENUM_CLASS_ENT(CompileSym3Flags, LTCG), 152 CV_ENUM_CLASS_ENT(CompileSym3Flags, NoDataAlign), 153 CV_ENUM_CLASS_ENT(CompileSym3Flags, ManagedPresent), 154 CV_ENUM_CLASS_ENT(CompileSym3Flags, SecurityChecks), 155 CV_ENUM_CLASS_ENT(CompileSym3Flags, HotPatch), 156 CV_ENUM_CLASS_ENT(CompileSym3Flags, CVTCIL), 157 CV_ENUM_CLASS_ENT(CompileSym3Flags, MSILModule), 158 CV_ENUM_CLASS_ENT(CompileSym3Flags, Sdl), 159 CV_ENUM_CLASS_ENT(CompileSym3Flags, PGO), 160 CV_ENUM_CLASS_ENT(CompileSym3Flags, Exp), 161 }; 162 163 static const EnumEntry<uint32_t> FileChecksumNames[] = { 164 CV_ENUM_CLASS_ENT(FileChecksumKind, None), 165 CV_ENUM_CLASS_ENT(FileChecksumKind, MD5), 166 CV_ENUM_CLASS_ENT(FileChecksumKind, SHA1), 167 CV_ENUM_CLASS_ENT(FileChecksumKind, SHA256), 168 }; 169 170 static const EnumEntry<unsigned> CPUTypeNames[] = { 171 CV_ENUM_CLASS_ENT(CPUType, Intel8080), 172 CV_ENUM_CLASS_ENT(CPUType, Intel8086), 173 CV_ENUM_CLASS_ENT(CPUType, Intel80286), 174 CV_ENUM_CLASS_ENT(CPUType, Intel80386), 175 CV_ENUM_CLASS_ENT(CPUType, Intel80486), 176 CV_ENUM_CLASS_ENT(CPUType, Pentium), 177 CV_ENUM_CLASS_ENT(CPUType, PentiumPro), 178 CV_ENUM_CLASS_ENT(CPUType, Pentium3), 179 CV_ENUM_CLASS_ENT(CPUType, MIPS), 180 CV_ENUM_CLASS_ENT(CPUType, MIPS16), 181 CV_ENUM_CLASS_ENT(CPUType, MIPS32), 182 CV_ENUM_CLASS_ENT(CPUType, MIPS64), 183 CV_ENUM_CLASS_ENT(CPUType, MIPSI), 184 CV_ENUM_CLASS_ENT(CPUType, MIPSII), 185 CV_ENUM_CLASS_ENT(CPUType, MIPSIII), 186 CV_ENUM_CLASS_ENT(CPUType, MIPSIV), 187 CV_ENUM_CLASS_ENT(CPUType, MIPSV), 188 CV_ENUM_CLASS_ENT(CPUType, M68000), 189 CV_ENUM_CLASS_ENT(CPUType, M68010), 190 CV_ENUM_CLASS_ENT(CPUType, M68020), 191 CV_ENUM_CLASS_ENT(CPUType, M68030), 192 CV_ENUM_CLASS_ENT(CPUType, M68040), 193 CV_ENUM_CLASS_ENT(CPUType, Alpha), 194 CV_ENUM_CLASS_ENT(CPUType, Alpha21164), 195 CV_ENUM_CLASS_ENT(CPUType, Alpha21164A), 196 CV_ENUM_CLASS_ENT(CPUType, Alpha21264), 197 CV_ENUM_CLASS_ENT(CPUType, Alpha21364), 198 CV_ENUM_CLASS_ENT(CPUType, PPC601), 199 CV_ENUM_CLASS_ENT(CPUType, PPC603), 200 CV_ENUM_CLASS_ENT(CPUType, PPC604), 201 CV_ENUM_CLASS_ENT(CPUType, PPC620), 202 CV_ENUM_CLASS_ENT(CPUType, PPCFP), 203 CV_ENUM_CLASS_ENT(CPUType, PPCBE), 204 CV_ENUM_CLASS_ENT(CPUType, SH3), 205 CV_ENUM_CLASS_ENT(CPUType, SH3E), 206 CV_ENUM_CLASS_ENT(CPUType, SH3DSP), 207 CV_ENUM_CLASS_ENT(CPUType, SH4), 208 CV_ENUM_CLASS_ENT(CPUType, SHMedia), 209 CV_ENUM_CLASS_ENT(CPUType, ARM3), 210 CV_ENUM_CLASS_ENT(CPUType, ARM4), 211 CV_ENUM_CLASS_ENT(CPUType, ARM4T), 212 CV_ENUM_CLASS_ENT(CPUType, ARM5), 213 CV_ENUM_CLASS_ENT(CPUType, ARM5T), 214 CV_ENUM_CLASS_ENT(CPUType, ARM6), 215 CV_ENUM_CLASS_ENT(CPUType, ARM_XMAC), 216 CV_ENUM_CLASS_ENT(CPUType, ARM_WMMX), 217 CV_ENUM_CLASS_ENT(CPUType, ARM7), 218 CV_ENUM_CLASS_ENT(CPUType, Omni), 219 CV_ENUM_CLASS_ENT(CPUType, Ia64), 220 CV_ENUM_CLASS_ENT(CPUType, Ia64_2), 221 CV_ENUM_CLASS_ENT(CPUType, CEE), 222 CV_ENUM_CLASS_ENT(CPUType, AM33), 223 CV_ENUM_CLASS_ENT(CPUType, M32R), 224 CV_ENUM_CLASS_ENT(CPUType, TriCore), 225 CV_ENUM_CLASS_ENT(CPUType, X64), 226 CV_ENUM_CLASS_ENT(CPUType, EBC), 227 CV_ENUM_CLASS_ENT(CPUType, Thumb), 228 CV_ENUM_CLASS_ENT(CPUType, ARMNT), 229 CV_ENUM_CLASS_ENT(CPUType, D3D11_Shader), 230 }; 231 232 static const EnumEntry<uint32_t> FrameProcSymFlagNames[] = { 233 CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasAlloca), 234 CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasSetJmp), 235 CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasLongJmp), 236 CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasInlineAssembly), 237 CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasExceptionHandling), 238 CV_ENUM_CLASS_ENT(FrameProcedureOptions, MarkedInline), 239 CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasStructuredExceptionHandling), 240 CV_ENUM_CLASS_ENT(FrameProcedureOptions, Naked), 241 CV_ENUM_CLASS_ENT(FrameProcedureOptions, SecurityChecks), 242 CV_ENUM_CLASS_ENT(FrameProcedureOptions, AsynchronousExceptionHandling), 243 CV_ENUM_CLASS_ENT(FrameProcedureOptions, NoStackOrderingForSecurityChecks), 244 CV_ENUM_CLASS_ENT(FrameProcedureOptions, Inlined), 245 CV_ENUM_CLASS_ENT(FrameProcedureOptions, StrictSecurityChecks), 246 CV_ENUM_CLASS_ENT(FrameProcedureOptions, SafeBuffers), 247 CV_ENUM_CLASS_ENT(FrameProcedureOptions, ProfileGuidedOptimization), 248 CV_ENUM_CLASS_ENT(FrameProcedureOptions, ValidProfileCounts), 249 CV_ENUM_CLASS_ENT(FrameProcedureOptions, OptimizedForSpeed), 250 CV_ENUM_CLASS_ENT(FrameProcedureOptions, GuardCfg), 251 CV_ENUM_CLASS_ENT(FrameProcedureOptions, GuardCfw), 252 }; 253 254 static const EnumEntry<uint32_t> ModuleSubstreamKindNames[] = { 255 CV_ENUM_CLASS_ENT(DebugSubsectionKind, None), 256 CV_ENUM_CLASS_ENT(DebugSubsectionKind, Symbols), 257 CV_ENUM_CLASS_ENT(DebugSubsectionKind, Lines), 258 CV_ENUM_CLASS_ENT(DebugSubsectionKind, StringTable), 259 CV_ENUM_CLASS_ENT(DebugSubsectionKind, FileChecksums), 260 CV_ENUM_CLASS_ENT(DebugSubsectionKind, FrameData), 261 CV_ENUM_CLASS_ENT(DebugSubsectionKind, InlineeLines), 262 CV_ENUM_CLASS_ENT(DebugSubsectionKind, CrossScopeImports), 263 CV_ENUM_CLASS_ENT(DebugSubsectionKind, CrossScopeExports), 264 CV_ENUM_CLASS_ENT(DebugSubsectionKind, ILLines), 265 CV_ENUM_CLASS_ENT(DebugSubsectionKind, FuncMDTokenMap), 266 CV_ENUM_CLASS_ENT(DebugSubsectionKind, TypeMDTokenMap), 267 CV_ENUM_CLASS_ENT(DebugSubsectionKind, MergedAssemblyInput), 268 CV_ENUM_CLASS_ENT(DebugSubsectionKind, CoffSymbolRVA), 269 }; 270 271 static const EnumEntry<uint16_t> ExportSymFlagNames[] = { 272 CV_ENUM_CLASS_ENT(ExportFlags, IsConstant), 273 CV_ENUM_CLASS_ENT(ExportFlags, IsData), 274 CV_ENUM_CLASS_ENT(ExportFlags, IsPrivate), 275 CV_ENUM_CLASS_ENT(ExportFlags, HasNoName), 276 CV_ENUM_CLASS_ENT(ExportFlags, HasExplicitOrdinal), 277 CV_ENUM_CLASS_ENT(ExportFlags, IsForwarder), 278 }; 279 280 static const EnumEntry<uint8_t> ThunkOrdinalNames[] = { 281 CV_ENUM_CLASS_ENT(ThunkOrdinal, Standard), 282 CV_ENUM_CLASS_ENT(ThunkOrdinal, ThisAdjustor), 283 CV_ENUM_CLASS_ENT(ThunkOrdinal, Vcall), 284 CV_ENUM_CLASS_ENT(ThunkOrdinal, Pcode), 285 CV_ENUM_CLASS_ENT(ThunkOrdinal, UnknownLoad), 286 CV_ENUM_CLASS_ENT(ThunkOrdinal, TrampIncremental), 287 CV_ENUM_CLASS_ENT(ThunkOrdinal, BranchIsland), 288 }; 289 290 static const EnumEntry<uint16_t> TrampolineNames[] = { 291 CV_ENUM_CLASS_ENT(TrampolineType, TrampIncremental), 292 CV_ENUM_CLASS_ENT(TrampolineType, BranchIsland), 293 }; 294 295 static const EnumEntry<COFF::SectionCharacteristics> 296 ImageSectionCharacteristicNames[] = { 297 CV_ENUM_ENT(COFF, IMAGE_SCN_TYPE_NOLOAD), 298 CV_ENUM_ENT(COFF, IMAGE_SCN_TYPE_NO_PAD), 299 CV_ENUM_ENT(COFF, IMAGE_SCN_CNT_CODE), 300 CV_ENUM_ENT(COFF, IMAGE_SCN_CNT_INITIALIZED_DATA), 301 CV_ENUM_ENT(COFF, IMAGE_SCN_CNT_UNINITIALIZED_DATA), 302 CV_ENUM_ENT(COFF, IMAGE_SCN_LNK_OTHER), 303 CV_ENUM_ENT(COFF, IMAGE_SCN_LNK_INFO), 304 CV_ENUM_ENT(COFF, IMAGE_SCN_LNK_REMOVE), 305 CV_ENUM_ENT(COFF, IMAGE_SCN_LNK_COMDAT), 306 CV_ENUM_ENT(COFF, IMAGE_SCN_GPREL), 307 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_PURGEABLE), 308 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_16BIT), 309 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_LOCKED), 310 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_PRELOAD), 311 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_1BYTES), 312 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_2BYTES), 313 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_4BYTES), 314 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_8BYTES), 315 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_16BYTES), 316 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_32BYTES), 317 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_64BYTES), 318 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_128BYTES), 319 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_256BYTES), 320 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_512BYTES), 321 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_1024BYTES), 322 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_2048BYTES), 323 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_4096BYTES), 324 CV_ENUM_ENT(COFF, IMAGE_SCN_ALIGN_8192BYTES), 325 CV_ENUM_ENT(COFF, IMAGE_SCN_LNK_NRELOC_OVFL), 326 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_DISCARDABLE), 327 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_NOT_CACHED), 328 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_NOT_PAGED), 329 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_SHARED), 330 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_EXECUTE), 331 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_READ), 332 CV_ENUM_ENT(COFF, IMAGE_SCN_MEM_WRITE)}; 333 334 namespace llvm { 335 namespace codeview { 336 ArrayRef<EnumEntry<SymbolKind>> getSymbolTypeNames() { 337 return makeArrayRef(SymbolTypeNames); 338 } 339 340 ArrayRef<EnumEntry<TypeLeafKind>> getTypeLeafNames() { 341 return makeArrayRef(TypeLeafNames); 342 } 343 344 ArrayRef<EnumEntry<uint16_t>> getRegisterNames() { 345 return makeArrayRef(RegisterNames); 346 } 347 348 ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames() { 349 return makeArrayRef(PublicSymFlagNames); 350 } 351 ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames() { 352 return makeArrayRef(ProcSymFlagNames); 353 } 354 ArrayRef<EnumEntry<uint16_t>> getLocalFlagNames() { 355 return makeArrayRef(LocalFlags); 356 } 357 ArrayRef<EnumEntry<uint8_t>> getFrameCookieKindNames() { 358 return makeArrayRef(FrameCookieKinds); 359 } 360 ArrayRef<EnumEntry<SourceLanguage>> getSourceLanguageNames() { 361 return makeArrayRef(SourceLanguages); 362 } 363 ArrayRef<EnumEntry<uint32_t>> getCompileSym2FlagNames() { 364 return makeArrayRef(CompileSym2FlagNames); 365 } 366 ArrayRef<EnumEntry<uint32_t>> getCompileSym3FlagNames() { 367 return makeArrayRef(CompileSym3FlagNames); 368 } 369 ArrayRef<EnumEntry<uint32_t>> getFileChecksumNames() { 370 return makeArrayRef(FileChecksumNames); 371 } 372 ArrayRef<EnumEntry<unsigned>> getCPUTypeNames() { 373 return makeArrayRef(CPUTypeNames); 374 } 375 ArrayRef<EnumEntry<uint32_t>> getFrameProcSymFlagNames() { 376 return makeArrayRef(FrameProcSymFlagNames); 377 } 378 ArrayRef<EnumEntry<uint16_t>> getExportSymFlagNames() { 379 return makeArrayRef(ExportSymFlagNames); 380 } 381 ArrayRef<EnumEntry<uint32_t>> getModuleSubstreamKindNames() { 382 return makeArrayRef(ModuleSubstreamKindNames); 383 } 384 ArrayRef<EnumEntry<uint8_t>> getThunkOrdinalNames() { 385 return makeArrayRef(ThunkOrdinalNames); 386 } 387 ArrayRef<EnumEntry<uint16_t>> getTrampolineNames() { 388 return makeArrayRef(TrampolineNames); 389 } 390 ArrayRef<EnumEntry<COFF::SectionCharacteristics>> 391 getImageSectionCharacteristicNames() { 392 return makeArrayRef(ImageSectionCharacteristicNames); 393 } 394 } 395 } 396