lldb-enumerations.h revision 16376ed044df3ee70fcf69e19f06af01e71a8e9a
1//===-- lldb-enumerations.h -------------------------------------*- 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#ifndef LLDB_lldb_enumerations_h_ 11#define LLDB_lldb_enumerations_h_ 12 13namespace lldb { 14 15 //---------------------------------------------------------------------- 16 // Process and Thread States 17 //---------------------------------------------------------------------- 18 typedef enum StateType 19 { 20 eStateInvalid = 0, 21 eStateUnloaded, ///< Process is object is valid, but not currently loaded 22 eStateConnected, ///< Process is connected to remote debug services, but not launched or attached to anything yet 23 eStateAttaching, ///< Process is currently trying to attach 24 eStateLaunching, ///< Process is in the process of launching 25 eStateStopped, ///< Process or thread is stopped and can be examined. 26 eStateRunning, ///< Process or thread is running and can't be examined. 27 eStateStepping, ///< Process or thread is in the process of stepping and can not be examined. 28 eStateCrashed, ///< Process or thread has crashed and can be examined. 29 eStateDetached, ///< Process has been detached and can't be examined. 30 eStateExited, ///< Process has exited and can't be examined. 31 eStateSuspended ///< Process or thread is in a suspended state as far 32 ///< as the debugger is concerned while other processes 33 ///< or threads get the chance to run. 34 } StateType; 35 36 //---------------------------------------------------------------------- 37 // Launch Flags 38 //---------------------------------------------------------------------- 39 typedef enum LaunchFlags 40 { 41 eLaunchFlagNone = 0u, 42 eLaunchFlagExec = (1u << 0), ///< Exec when launching and turn the calling process into a new process 43 eLaunchFlagDebug = (1u << 1), ///< Stop as soon as the process launches to allow the process to be debugged 44 eLaunchFlagStopAtEntry = (1u << 2), ///< Stop at the program entry point instead of auto-continuing when launching or attaching at entry point 45 eLaunchFlagDisableASLR = (1u << 3), ///< Disable Address Space Layout Randomization 46 eLaunchFlagDisableSTDIO = (1u << 4), ///< Disable stdio for inferior process (e.g. for a GUI app) 47 eLaunchFlagLaunchInTTY = (1u << 5), ///< Launch the process in a new TTY if supported by the host 48 eLaunchFlagLaunchInShell= (1u << 6) ///< Launch the process inside a shell to get shell expansion 49 } LaunchFlags; 50 51 //---------------------------------------------------------------------- 52 // Thread Run Modes 53 //---------------------------------------------------------------------- 54 typedef enum RunMode { 55 eOnlyThisThread, 56 eAllThreads, 57 eOnlyDuringStepping 58 } RunMode; 59 60 //---------------------------------------------------------------------- 61 // Byte ordering definitions 62 //---------------------------------------------------------------------- 63 typedef enum ByteOrder 64 { 65 eByteOrderInvalid = 0, 66 eByteOrderBig = 1, 67 eByteOrderPDP = 2, 68 eByteOrderLittle = 4 69 } ByteOrder; 70 71 //---------------------------------------------------------------------- 72 // Register encoding definitions 73 //---------------------------------------------------------------------- 74 typedef enum Encoding 75 { 76 eEncodingInvalid = 0, 77 eEncodingUint, // unsigned integer 78 eEncodingSint, // signed integer 79 eEncodingIEEE754, // float 80 eEncodingVector // vector registers 81 } Encoding; 82 83 //---------------------------------------------------------------------- 84 // Display format definitions 85 //---------------------------------------------------------------------- 86 typedef enum Format 87 { 88 eFormatDefault = 0, 89 eFormatInvalid = 0, 90 eFormatBoolean, 91 eFormatBinary, 92 eFormatBytes, 93 eFormatBytesWithASCII, 94 eFormatChar, 95 eFormatCharPrintable, // Only printable characters, space if not printable 96 eFormatComplex, // Floating point complex type 97 eFormatComplexFloat = eFormatComplex, 98 eFormatCString, // NULL terminated C strings 99 eFormatDecimal, 100 eFormatEnum, 101 eFormatHex, 102 eFormatFloat, 103 eFormatOctal, 104 eFormatOSType, // OS character codes encoded into an integer 'PICT' 'text' etc... 105 eFormatUnicode16, 106 eFormatUnicode32, 107 eFormatUnsigned, 108 eFormatPointer, 109 eFormatVectorOfChar, 110 eFormatVectorOfSInt8, 111 eFormatVectorOfUInt8, 112 eFormatVectorOfSInt16, 113 eFormatVectorOfUInt16, 114 eFormatVectorOfSInt32, 115 eFormatVectorOfUInt32, 116 eFormatVectorOfSInt64, 117 eFormatVectorOfUInt64, 118 eFormatVectorOfFloat32, 119 eFormatVectorOfFloat64, 120 eFormatVectorOfUInt128, 121 eFormatComplexInteger, // Integer complex type 122 eFormatCharArray, // Print characters with no single quotes, used for character arrays that can contain non printable characters 123 eFormatAddressInfo, // Describe what an address points to (func + offset with file/line, symbol + offset, data, etc) 124 eFormatHexFloat, // ISO C99 hex float string 125 eFormatInstruction, // Disassemble an opcode 126 kNumFormats 127 } Format; 128 129 //---------------------------------------------------------------------- 130 // Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls 131 //---------------------------------------------------------------------- 132 typedef enum DescriptionLevel 133 { 134 eDescriptionLevelBrief = 0, 135 eDescriptionLevelFull, 136 eDescriptionLevelVerbose, 137 kNumDescriptionLevels 138 } DescriptionLevel; 139 140 //---------------------------------------------------------------------- 141 // Script interpreter types 142 //---------------------------------------------------------------------- 143 typedef enum ScriptLanguage 144 { 145 eScriptLanguageNone, 146 eScriptLanguagePython, 147 eScriptLanguageDefault = eScriptLanguagePython 148 } ScriptLanguage; 149 150 //---------------------------------------------------------------------- 151 // Register numbering types 152 //---------------------------------------------------------------------- 153 typedef enum RegisterKind 154 { 155 eRegisterKindGCC = 0, // the register numbers seen in eh_frame 156 eRegisterKindDWARF, // the register numbers seen DWARF 157 eRegisterKindGeneric, // insn ptr reg, stack ptr reg, etc not specific to any particular target 158 eRegisterKindGDB, // the register numbers gdb uses (matches stabs numbers?) 159 eRegisterKindLLDB, // lldb's internal register numbers 160 kNumRegisterKinds 161 } RegisterKind; 162 163 //---------------------------------------------------------------------- 164 // Thread stop reasons 165 //---------------------------------------------------------------------- 166 typedef enum StopReason 167 { 168 eStopReasonInvalid = 0, 169 eStopReasonNone, 170 eStopReasonTrace, 171 eStopReasonBreakpoint, 172 eStopReasonWatchpoint, 173 eStopReasonSignal, 174 eStopReasonException, 175 eStopReasonPlanComplete 176 } StopReason; 177 178 //---------------------------------------------------------------------- 179 // Command Return Status Types 180 //---------------------------------------------------------------------- 181 typedef enum ReturnStatus 182 { 183 eReturnStatusInvalid, 184 eReturnStatusSuccessFinishNoResult, 185 eReturnStatusSuccessFinishResult, 186 eReturnStatusSuccessContinuingNoResult, 187 eReturnStatusSuccessContinuingResult, 188 eReturnStatusStarted, 189 eReturnStatusFailed, 190 eReturnStatusQuit 191 } ReturnStatus; 192 193 194 //---------------------------------------------------------------------- 195 // Connection Status Types 196 //---------------------------------------------------------------------- 197 typedef enum ConnectionStatus 198 { 199 eConnectionStatusSuccess, // Success 200 eConnectionStatusEndOfFile, // End-of-file encountered 201 eConnectionStatusError, // Check GetError() for details 202 eConnectionStatusTimedOut, // Request timed out 203 eConnectionStatusNoConnection, // No connection 204 eConnectionStatusLostConnection // Lost connection while connected to a valid connection 205 } ConnectionStatus; 206 207 typedef enum ErrorType 208 { 209 eErrorTypeInvalid, 210 eErrorTypeGeneric, ///< Generic errors that can be any value. 211 eErrorTypeMachKernel, ///< Mach kernel error codes. 212 eErrorTypePOSIX ///< POSIX error codes. 213 } ErrorType; 214 215 216 typedef enum ValueType 217 { 218 eValueTypeInvalid = 0, 219 eValueTypeVariableGlobal = 1, // globals variable 220 eValueTypeVariableStatic = 2, // static variable 221 eValueTypeVariableArgument = 3, // function argument variables 222 eValueTypeVariableLocal = 4, // function local variables 223 eValueTypeRegister = 5, // stack frame register value 224 eValueTypeRegisterSet = 6, // A collection of stack frame register values 225 eValueTypeConstResult = 7 // constant result variables 226 } ValueType; 227 228 //---------------------------------------------------------------------- 229 // Token size/granularities for Input Readers 230 //---------------------------------------------------------------------- 231 232 typedef enum InputReaderGranularity 233 { 234 eInputReaderGranularityInvalid = 0, 235 eInputReaderGranularityByte, 236 eInputReaderGranularityWord, 237 eInputReaderGranularityLine, 238 eInputReaderGranularityAll 239 } InputReaderGranularity; 240 241 //------------------------------------------------------------------ 242 /// These mask bits allow a common interface for queries that can 243 /// limit the amount of information that gets parsed to only the 244 /// information that is requested. These bits also can indicate what 245 /// actually did get resolved during query function calls. 246 /// 247 /// Each definition corresponds to a one of the member variables 248 /// in this class, and requests that that item be resolved, or 249 /// indicates that the member did get resolved. 250 //------------------------------------------------------------------ 251 typedef enum SymbolContextItem 252 { 253 eSymbolContextTarget = (1 << 0), ///< Set when \a target is requested from a query, or was located in query results 254 eSymbolContextModule = (1 << 1), ///< Set when \a module is requested from a query, or was located in query results 255 eSymbolContextCompUnit = (1 << 2), ///< Set when \a comp_unit is requested from a query, or was located in query results 256 eSymbolContextFunction = (1 << 3), ///< Set when \a function is requested from a query, or was located in query results 257 eSymbolContextBlock = (1 << 4), ///< Set when the deepest \a block is requested from a query, or was located in query results 258 eSymbolContextLineEntry = (1 << 5), ///< Set when \a line_entry is requested from a query, or was located in query results 259 eSymbolContextSymbol = (1 << 6), ///< Set when \a symbol is requested from a query, or was located in query results 260 eSymbolContextEverything = ((eSymbolContextSymbol << 1) - 1) ///< Indicates to try and lookup everything up during a query. 261 } SymbolContextItem; 262 263 typedef enum Permissions 264 { 265 ePermissionsWritable = (1 << 0), 266 ePermissionsReadable = (1 << 1), 267 ePermissionsExecutable = (1 << 2) 268 } Permissions; 269 270 typedef enum InputReaderAction 271 { 272 eInputReaderActivate, // reader is newly pushed onto the reader stack 273 eInputReaderAsynchronousOutputWritten, // an async output event occurred; the reader may want to do something 274 eInputReaderReactivate, // reader is on top of the stack again after another reader was popped off 275 eInputReaderDeactivate, // another reader was pushed on the stack 276 eInputReaderGotToken, // reader got one of its tokens (granularity) 277 eInputReaderInterrupt, // reader received an interrupt signal (probably from a control-c) 278 eInputReaderEndOfFile, // reader received an EOF char (probably from a control-d) 279 eInputReaderDone // reader was just popped off the stack and is done 280 } InputReaderAction; 281 282 typedef enum BreakpointEventType 283 { 284 eBreakpointEventTypeInvalidType = (1u << 0), 285 eBreakpointEventTypeAdded = (1u << 1), 286 eBreakpointEventTypeRemoved = (1u << 2), 287 eBreakpointEventTypeLocationsAdded = (1u << 3), // Locations added doesn't get sent when the breakpoint is created 288 eBreakpointEventTypeLocationsRemoved = (1u << 4), 289 eBreakpointEventTypeLocationsResolved = (1u << 5), 290 eBreakpointEventTypeEnabled = (1u << 6), 291 eBreakpointEventTypeDisabled = (1u << 7), 292 eBreakpointEventTypeCommandChanged = (1u << 8), 293 eBreakpointEventTypeConditionChanged = (1u << 9), 294 eBreakpointEventTypeIgnoreChanged = (1u << 10), 295 eBreakpointEventTypeThreadChanged = (1u << 11) 296 } BreakpointEventType; 297 298 299 //---------------------------------------------------------------------- 300 /// Programming language type. 301 /// 302 /// These enumerations use the same language enumerations as the DWARF 303 /// specification for ease of use and consistency. 304 //---------------------------------------------------------------------- 305 typedef enum LanguageType 306 { 307 eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value. 308 eLanguageTypeC89 = 0x0001, ///< ISO C:1989. 309 eLanguageTypeC = 0x0002, ///< Non-standardized C, such as K&R. 310 eLanguageTypeAda83 = 0x0003, ///< ISO Ada:1983. 311 eLanguageTypeC_plus_plus = 0x0004, ///< ISO C++:1998. 312 eLanguageTypeCobol74 = 0x0005, ///< ISO Cobol:1974. 313 eLanguageTypeCobol85 = 0x0006, ///< ISO Cobol:1985. 314 eLanguageTypeFortran77 = 0x0007, ///< ISO Fortran 77. 315 eLanguageTypeFortran90 = 0x0008, ///< ISO Fortran 90. 316 eLanguageTypePascal83 = 0x0009, ///< ISO Pascal:1983. 317 eLanguageTypeModula2 = 0x000a, ///< ISO Modula-2:1996. 318 eLanguageTypeJava = 0x000b, ///< Java. 319 eLanguageTypeC99 = 0x000c, ///< ISO C:1999. 320 eLanguageTypeAda95 = 0x000d, ///< ISO Ada:1995. 321 eLanguageTypeFortran95 = 0x000e, ///< ISO Fortran 95. 322 eLanguageTypePLI = 0x000f, ///< ANSI PL/I:1976. 323 eLanguageTypeObjC = 0x0010, ///< Objective-C. 324 eLanguageTypeObjC_plus_plus = 0x0011, ///< Objective-C++. 325 eLanguageTypeUPC = 0x0012, ///< Unified Parallel C. 326 eLanguageTypeD = 0x0013, ///< D. 327 eLanguageTypePython = 0x0014 ///< Python. 328 } LanguageType; 329 330 typedef enum DynamicValueType 331 { 332 eNoDynamicValues = 0, 333 eDynamicCanRunTarget = 1, 334 eDynamicDontRunTarget = 2 335 } DynamicValueType; 336 337 typedef enum SyntheticValueType 338 { 339 eNoSyntheticFilter = false, 340 eUseSyntheticFilter = true 341 } SyntheticValueType; 342 343 typedef enum AccessType 344 { 345 eAccessNone, 346 eAccessPublic, 347 eAccessPrivate, 348 eAccessProtected, 349 eAccessPackage 350 } AccessType; 351 352 typedef enum CommandArgumentType 353 { 354 eArgTypeAddress = 0, 355 eArgTypeAliasName, 356 eArgTypeAliasOptions, 357 eArgTypeArchitecture, 358 eArgTypeBoolean, 359 eArgTypeBreakpointID, 360 eArgTypeBreakpointIDRange, 361 eArgTypeByteSize, 362 eArgTypeClassName, 363 eArgTypeCommandName, 364 eArgTypeCount, 365 eArgTypeEndAddress, 366 eArgTypeExpression, 367 eArgTypeExpressionPath, 368 eArgTypeExprFormat, 369 eArgTypeFilename, 370 eArgTypeFormat, 371 eArgTypeFrameIndex, 372 eArgTypeFullName, 373 eArgTypeFunctionName, 374 eArgTypeGDBFormat, 375 eArgTypeIndex, 376 eArgTypeLineNum, 377 eArgTypeLogCategory, 378 eArgTypeLogChannel, 379 eArgTypeMethod, 380 eArgTypeName, 381 eArgTypeNewPathPrefix, 382 eArgTypeNumLines, 383 eArgTypeNumberPerLine, 384 eArgTypeOffset, 385 eArgTypeOldPathPrefix, 386 eArgTypeOneLiner, 387 eArgTypePath, 388 eArgTypePid, 389 eArgTypePlugin, 390 eArgTypeProcessName, 391 eArgTypePythonClass, 392 eArgTypePythonFunction, 393 eArgTypePythonScript, 394 eArgTypeQueueName, 395 eArgTypeRegisterName, 396 eArgTypeRegularExpression, 397 eArgTypeRunArgs, 398 eArgTypeRunMode, 399 eArgTypeScriptedCommandSynchronicity, 400 eArgTypeScriptLang, 401 eArgTypeSearchWord, 402 eArgTypeSelector, 403 eArgTypeSettingIndex, 404 eArgTypeSettingKey, 405 eArgTypeSettingPrefix, 406 eArgTypeSettingVariableName, 407 eArgTypeShlibName, 408 eArgTypeSourceFile, 409 eArgTypeSortOrder, 410 eArgTypeStartAddress, 411 eArgTypeSummaryString, 412 eArgTypeSymbol, 413 eArgTypeThreadID, 414 eArgTypeThreadIndex, 415 eArgTypeThreadName, 416 eArgTypeUnsignedInteger, 417 eArgTypeUnixSignal, 418 eArgTypeVarName, 419 eArgTypeValue, 420 eArgTypeWidth, 421 eArgTypeNone, 422 eArgTypePlatform, 423 eArgTypeWatchpointID, 424 eArgTypeWatchpointIDRange, 425 eArgTypeWatchType, 426 eArgTypeLastArg // Always keep this entry as the last entry in this enumeration!! 427 } CommandArgumentType; 428 429 //---------------------------------------------------------------------- 430 // Symbol types 431 //---------------------------------------------------------------------- 432 typedef enum SymbolType 433 { 434 eSymbolTypeAny = 0, 435 eSymbolTypeInvalid = 0, 436 eSymbolTypeAbsolute, 437 eSymbolTypeCode, 438 eSymbolTypeData, 439 eSymbolTypeTrampoline, 440 eSymbolTypeRuntime, 441 eSymbolTypeException, 442 eSymbolTypeSourceFile, 443 eSymbolTypeHeaderFile, 444 eSymbolTypeObjectFile, 445 eSymbolTypeCommonBlock, 446 eSymbolTypeBlock, 447 eSymbolTypeLocal, 448 eSymbolTypeParam, 449 eSymbolTypeVariable, 450 eSymbolTypeVariableType, 451 eSymbolTypeLineEntry, 452 eSymbolTypeLineHeader, 453 eSymbolTypeScopeBegin, 454 eSymbolTypeScopeEnd, 455 eSymbolTypeAdditional, // When symbols take more than one entry, the extra entries get this type 456 eSymbolTypeCompiler, 457 eSymbolTypeInstrumentation, 458 eSymbolTypeUndefined, 459 eSymbolTypeObjCClass, 460 eSymbolTypeObjCMetaClass, 461 eSymbolTypeObjCIVar 462 } SymbolType; 463 464 typedef enum SectionType 465 { 466 eSectionTypeInvalid, 467 eSectionTypeCode, 468 eSectionTypeContainer, // The section contains child sections 469 eSectionTypeData, 470 eSectionTypeDataCString, // Inlined C string data 471 eSectionTypeDataCStringPointers, // Pointers to C string data 472 eSectionTypeDataSymbolAddress, // Address of a symbol in the symbol table 473 eSectionTypeData4, 474 eSectionTypeData8, 475 eSectionTypeData16, 476 eSectionTypeDataPointers, 477 eSectionTypeDebug, 478 eSectionTypeZeroFill, 479 eSectionTypeDataObjCMessageRefs, // Pointer to function pointer + selector 480 eSectionTypeDataObjCCFStrings, // Objective C const CFString/NSString objects 481 eSectionTypeDWARFDebugAbbrev, 482 eSectionTypeDWARFDebugAranges, 483 eSectionTypeDWARFDebugFrame, 484 eSectionTypeDWARFDebugInfo, 485 eSectionTypeDWARFDebugLine, 486 eSectionTypeDWARFDebugLoc, 487 eSectionTypeDWARFDebugMacInfo, 488 eSectionTypeDWARFDebugPubNames, 489 eSectionTypeDWARFDebugPubTypes, 490 eSectionTypeDWARFDebugRanges, 491 eSectionTypeDWARFDebugStr, 492 eSectionTypeDWARFAppleNames, 493 eSectionTypeDWARFAppleTypes, 494 eSectionTypeDWARFAppleNamespaces, 495 eSectionTypeDWARFAppleObjC, 496 eSectionTypeEHFrame, 497 eSectionTypeOther 498 499 } SectionType; 500 501 typedef enum EmulateInstructionOptions 502 { 503 eEmulateInstructionOptionNone = (0u), 504 eEmulateInstructionOptionAutoAdvancePC = (1u << 0), 505 eEmulateInstructionOptionIgnoreConditions = (1u << 1) 506 } EmulateInstructionOptions; 507 508 typedef enum FunctionNameType 509 { 510 eFunctionNameTypeNone = 0u, 511 eFunctionNameTypeAuto = (1u << 1), // Automatically figure out which FunctionNameType 512 // bits to set based on the function name. 513 eFunctionNameTypeFull = (1u << 2), // The function name. 514 // For C this is the same as just the name of the function 515 // For C++ this is the mangled or demangled version of the mangled name. 516 // For ObjC this is the full function signature with the + or 517 // - and the square brackets and the class and selector 518 eFunctionNameTypeBase = (1u << 3), // The function name only, no namespaces or arguments and no class 519 // methods or selectors will be searched. 520 eFunctionNameTypeMethod = (1u << 4), // Find function by method name (C++) with no namespace or arguments 521 eFunctionNameTypeSelector = (1u << 5), // Find function by selector name (ObjC) names 522 eFunctionNameTypeAny = (eFunctionNameTypeFull | 523 eFunctionNameTypeBase | 524 eFunctionNameTypeMethod | 525 eFunctionNameTypeSelector ) 526 } FunctionNameType; 527 528 529 //---------------------------------------------------------------------- 530 // Basic types enumeration for the public API SBType::GetBasicType() 531 //---------------------------------------------------------------------- 532 typedef enum BasicType 533 { 534 eBasicTypeInvalid = 0, 535 eBasicTypeVoid = 1, 536 eBasicTypeChar, 537 eBasicTypeSignedChar, 538 eBasicTypeWChar, 539 eBasicTypeChar16, 540 eBasicTypeChar32, 541 eBasicTypeShort, 542 eBasicTypeUnsignedShort, 543 eBasicTypeInt, 544 eBasicTypeUnsignedInt, 545 eBasicTypeLong, 546 eBasicTypeUnsignedLong, 547 eBasicTypeLongLong, 548 eBasicTypeUnsignedLongLong, 549 eBasicTypeInt128, 550 eBasicTypeUnsignedInt128, 551 eBasicTypeBool, 552 eBasicTypeFloat, 553 eBasicTypeDouble, 554 eBasicTypeLongDouble, 555 eBasicTypeFloatComplex, 556 eBasicTypeDoubleComplex, 557 eBasicTypeLongDoubleComplex, 558 eBasicTypeObjCID, 559 eBasicTypeObjCClass, 560 eBasicTypeObjCSel 561 } BasicType; 562 563 typedef enum TypeClass 564 { 565 eTypeClassInvalid = (0u), 566 eTypeClassArray = (1u << 0), 567 eTypeClassBlockPointer = (1u << 1), 568 eTypeClassBuiltin = (1u << 2), 569 eTypeClassClass = (1u << 3), 570 eTypeClassComplexFloat = (1u << 4), 571 eTypeClassComplexInteger = (1u << 5), 572 eTypeClassEnumeration = (1u << 6), 573 eTypeClassFunction = (1u << 7), 574 eTypeClassMemberPointer = (1u << 8), 575 eTypeClassObjCObject = (1u << 9), 576 eTypeClassObjCInterface = (1u << 10), 577 eTypeClassObjCObjectPointer = (1u << 11), 578 eTypeClassPointer = (1u << 12), 579 eTypeClassReference = (1u << 13), 580 eTypeClassStruct = (1u << 14), 581 eTypeClassTypedef = (1u << 15), 582 eTypeClassUnion = (1u << 16), 583 eTypeClassVector = (1u << 17), 584 // Define the last type class as the MSBit of a 32 bit value 585 eTypeClassOther = (1u << 31), 586 // Define a mask that can be used for any type when finding types 587 eTypeClassAny = (0xffffffffu) 588 }TypeClass; 589 590 typedef enum TemplateArgumentKind 591 { 592 eTemplateArgumentKindNull = 0, 593 eTemplateArgumentKindType, 594 eTemplateArgumentKindDeclaration, 595 eTemplateArgumentKindIntegral, 596 eTemplateArgumentKindTemplate, 597 eTemplateArgumentKindTemplateExpansion, 598 eTemplateArgumentKindExpression, 599 eTemplateArgumentKindPack 600 601 } TemplateArgumentKind; 602 603 //---------------------------------------------------------------------- 604 // Options that can be set for a formatter to alter its behavior 605 // Not all of these are applicable to all formatter types 606 //---------------------------------------------------------------------- 607 typedef enum TypeOptions 608 { 609 eTypeOptionNone = (0u), 610 eTypeOptionCascade = (1u << 0), 611 eTypeOptionSkipPointers = (1u << 1), 612 eTypeOptionSkipReferences = (1u << 2), 613 eTypeOptionHideChildren = (1u << 3), 614 eTypeOptionHideValue = (1u << 4), 615 eTypeOptionShowOneLiner = (1u << 5), 616 eTypeOptionHideNames = (1u << 6) 617 } TypeOptions; 618 619} // namespace lldb 620 621 622#endif // LLDB_lldb_enumerations_h_ 623