lldb-enumerations.h revision cf09f885c201becf51acc4a5cfac00b3df53f2a8
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 /// The enum -> string code is in LanguageRuntime.cpp, don't change this 305 /// table without updating that code as well. 306 //---------------------------------------------------------------------- 307 typedef enum LanguageType 308 { 309 eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value. 310 eLanguageTypeC89 = 0x0001, ///< ISO C:1989. 311 eLanguageTypeC = 0x0002, ///< Non-standardized C, such as K&R. 312 eLanguageTypeAda83 = 0x0003, ///< ISO Ada:1983. 313 eLanguageTypeC_plus_plus = 0x0004, ///< ISO C++:1998. 314 eLanguageTypeCobol74 = 0x0005, ///< ISO Cobol:1974. 315 eLanguageTypeCobol85 = 0x0006, ///< ISO Cobol:1985. 316 eLanguageTypeFortran77 = 0x0007, ///< ISO Fortran 77. 317 eLanguageTypeFortran90 = 0x0008, ///< ISO Fortran 90. 318 eLanguageTypePascal83 = 0x0009, ///< ISO Pascal:1983. 319 eLanguageTypeModula2 = 0x000a, ///< ISO Modula-2:1996. 320 eLanguageTypeJava = 0x000b, ///< Java. 321 eLanguageTypeC99 = 0x000c, ///< ISO C:1999. 322 eLanguageTypeAda95 = 0x000d, ///< ISO Ada:1995. 323 eLanguageTypeFortran95 = 0x000e, ///< ISO Fortran 95. 324 eLanguageTypePLI = 0x000f, ///< ANSI PL/I:1976. 325 eLanguageTypeObjC = 0x0010, ///< Objective-C. 326 eLanguageTypeObjC_plus_plus = 0x0011, ///< Objective-C++. 327 eLanguageTypeUPC = 0x0012, ///< Unified Parallel C. 328 eLanguageTypeD = 0x0013, ///< D. 329 eLanguageTypePython = 0x0014 ///< Python. 330 } LanguageType; 331 332 typedef enum DynamicValueType 333 { 334 eNoDynamicValues = 0, 335 eDynamicCanRunTarget = 1, 336 eDynamicDontRunTarget = 2 337 } DynamicValueType; 338 339 typedef enum AccessType 340 { 341 eAccessNone, 342 eAccessPublic, 343 eAccessPrivate, 344 eAccessProtected, 345 eAccessPackage 346 } AccessType; 347 348 typedef enum CommandArgumentType 349 { 350 eArgTypeAddress = 0, 351 eArgTypeAliasName, 352 eArgTypeAliasOptions, 353 eArgTypeArchitecture, 354 eArgTypeBoolean, 355 eArgTypeBreakpointID, 356 eArgTypeBreakpointIDRange, 357 eArgTypeByteSize, 358 eArgTypeClassName, 359 eArgTypeCommandName, 360 eArgTypeCount, 361 eArgTypeEndAddress, 362 eArgTypeExpression, 363 eArgTypeExpressionPath, 364 eArgTypeExprFormat, 365 eArgTypeFilename, 366 eArgTypeFormat, 367 eArgTypeFrameIndex, 368 eArgTypeFullName, 369 eArgTypeFunctionName, 370 eArgTypeGDBFormat, 371 eArgTypeIndex, 372 eArgTypeLanguage, 373 eArgTypeLineNum, 374 eArgTypeLogCategory, 375 eArgTypeLogChannel, 376 eArgTypeMethod, 377 eArgTypeName, 378 eArgTypeNewPathPrefix, 379 eArgTypeNumLines, 380 eArgTypeNumberPerLine, 381 eArgTypeOffset, 382 eArgTypeOldPathPrefix, 383 eArgTypeOneLiner, 384 eArgTypePath, 385 eArgTypePid, 386 eArgTypePlugin, 387 eArgTypeProcessName, 388 eArgTypePythonClass, 389 eArgTypePythonFunction, 390 eArgTypePythonScript, 391 eArgTypeQueueName, 392 eArgTypeRegisterName, 393 eArgTypeRegularExpression, 394 eArgTypeRunArgs, 395 eArgTypeRunMode, 396 eArgTypeScriptedCommandSynchronicity, 397 eArgTypeScriptLang, 398 eArgTypeSearchWord, 399 eArgTypeSelector, 400 eArgTypeSettingIndex, 401 eArgTypeSettingKey, 402 eArgTypeSettingPrefix, 403 eArgTypeSettingVariableName, 404 eArgTypeShlibName, 405 eArgTypeSourceFile, 406 eArgTypeSortOrder, 407 eArgTypeStartAddress, 408 eArgTypeSummaryString, 409 eArgTypeSymbol, 410 eArgTypeThreadID, 411 eArgTypeThreadIndex, 412 eArgTypeThreadName, 413 eArgTypeUnsignedInteger, 414 eArgTypeUnixSignal, 415 eArgTypeVarName, 416 eArgTypeValue, 417 eArgTypeWidth, 418 eArgTypeNone, 419 eArgTypePlatform, 420 eArgTypeWatchpointID, 421 eArgTypeWatchpointIDRange, 422 eArgTypeWatchType, 423 eArgTypeLastArg // Always keep this entry as the last entry in this enumeration!! 424 } CommandArgumentType; 425 426 //---------------------------------------------------------------------- 427 // Symbol types 428 //---------------------------------------------------------------------- 429 typedef enum SymbolType 430 { 431 eSymbolTypeAny = 0, 432 eSymbolTypeInvalid = 0, 433 eSymbolTypeAbsolute, 434 eSymbolTypeCode, 435 eSymbolTypeData, 436 eSymbolTypeTrampoline, 437 eSymbolTypeRuntime, 438 eSymbolTypeException, 439 eSymbolTypeSourceFile, 440 eSymbolTypeHeaderFile, 441 eSymbolTypeObjectFile, 442 eSymbolTypeCommonBlock, 443 eSymbolTypeBlock, 444 eSymbolTypeLocal, 445 eSymbolTypeParam, 446 eSymbolTypeVariable, 447 eSymbolTypeVariableType, 448 eSymbolTypeLineEntry, 449 eSymbolTypeLineHeader, 450 eSymbolTypeScopeBegin, 451 eSymbolTypeScopeEnd, 452 eSymbolTypeAdditional, // When symbols take more than one entry, the extra entries get this type 453 eSymbolTypeCompiler, 454 eSymbolTypeInstrumentation, 455 eSymbolTypeUndefined, 456 eSymbolTypeObjCClass, 457 eSymbolTypeObjCMetaClass, 458 eSymbolTypeObjCIVar 459 } SymbolType; 460 461 typedef enum SectionType 462 { 463 eSectionTypeInvalid, 464 eSectionTypeCode, 465 eSectionTypeContainer, // The section contains child sections 466 eSectionTypeData, 467 eSectionTypeDataCString, // Inlined C string data 468 eSectionTypeDataCStringPointers, // Pointers to C string data 469 eSectionTypeDataSymbolAddress, // Address of a symbol in the symbol table 470 eSectionTypeData4, 471 eSectionTypeData8, 472 eSectionTypeData16, 473 eSectionTypeDataPointers, 474 eSectionTypeDebug, 475 eSectionTypeZeroFill, 476 eSectionTypeDataObjCMessageRefs, // Pointer to function pointer + selector 477 eSectionTypeDataObjCCFStrings, // Objective C const CFString/NSString objects 478 eSectionTypeDWARFDebugAbbrev, 479 eSectionTypeDWARFDebugAranges, 480 eSectionTypeDWARFDebugFrame, 481 eSectionTypeDWARFDebugInfo, 482 eSectionTypeDWARFDebugLine, 483 eSectionTypeDWARFDebugLoc, 484 eSectionTypeDWARFDebugMacInfo, 485 eSectionTypeDWARFDebugPubNames, 486 eSectionTypeDWARFDebugPubTypes, 487 eSectionTypeDWARFDebugRanges, 488 eSectionTypeDWARFDebugStr, 489 eSectionTypeDWARFAppleNames, 490 eSectionTypeDWARFAppleTypes, 491 eSectionTypeDWARFAppleNamespaces, 492 eSectionTypeDWARFAppleObjC, 493 eSectionTypeEHFrame, 494 eSectionTypeOther 495 496 } SectionType; 497 498 typedef enum EmulateInstructionOptions 499 { 500 eEmulateInstructionOptionNone = (0u), 501 eEmulateInstructionOptionAutoAdvancePC = (1u << 0), 502 eEmulateInstructionOptionIgnoreConditions = (1u << 1) 503 } EmulateInstructionOptions; 504 505 typedef enum FunctionNameType 506 { 507 eFunctionNameTypeNone = 0u, 508 eFunctionNameTypeAuto = (1u << 1), // Automatically figure out which FunctionNameType 509 // bits to set based on the function name. 510 eFunctionNameTypeFull = (1u << 2), // The function name. 511 // For C this is the same as just the name of the function 512 // For C++ this is the mangled or demangled version of the mangled name. 513 // For ObjC this is the full function signature with the + or 514 // - and the square brackets and the class and selector 515 eFunctionNameTypeBase = (1u << 3), // The function name only, no namespaces or arguments and no class 516 // methods or selectors will be searched. 517 eFunctionNameTypeMethod = (1u << 4), // Find function by method name (C++) with no namespace or arguments 518 eFunctionNameTypeSelector = (1u << 5), // Find function by selector name (ObjC) names 519 eFunctionNameTypeAny = (eFunctionNameTypeFull | 520 eFunctionNameTypeBase | 521 eFunctionNameTypeMethod | 522 eFunctionNameTypeSelector ) 523 } FunctionNameType; 524 525 526 //---------------------------------------------------------------------- 527 // Basic types enumeration for the public API SBType::GetBasicType() 528 //---------------------------------------------------------------------- 529 typedef enum BasicType 530 { 531 eBasicTypeInvalid = 0, 532 eBasicTypeVoid = 1, 533 eBasicTypeChar, 534 eBasicTypeSignedChar, 535 eBasicTypeWChar, 536 eBasicTypeChar16, 537 eBasicTypeChar32, 538 eBasicTypeShort, 539 eBasicTypeUnsignedShort, 540 eBasicTypeInt, 541 eBasicTypeUnsignedInt, 542 eBasicTypeLong, 543 eBasicTypeUnsignedLong, 544 eBasicTypeLongLong, 545 eBasicTypeUnsignedLongLong, 546 eBasicTypeInt128, 547 eBasicTypeUnsignedInt128, 548 eBasicTypeBool, 549 eBasicTypeFloat, 550 eBasicTypeDouble, 551 eBasicTypeLongDouble, 552 eBasicTypeFloatComplex, 553 eBasicTypeDoubleComplex, 554 eBasicTypeLongDoubleComplex, 555 eBasicTypeObjCID, 556 eBasicTypeObjCClass, 557 eBasicTypeObjCSel 558 } BasicType; 559 560 typedef enum TypeClass 561 { 562 eTypeClassInvalid = (0u), 563 eTypeClassArray = (1u << 0), 564 eTypeClassBlockPointer = (1u << 1), 565 eTypeClassBuiltin = (1u << 2), 566 eTypeClassClass = (1u << 3), 567 eTypeClassComplexFloat = (1u << 4), 568 eTypeClassComplexInteger = (1u << 5), 569 eTypeClassEnumeration = (1u << 6), 570 eTypeClassFunction = (1u << 7), 571 eTypeClassMemberPointer = (1u << 8), 572 eTypeClassObjCObject = (1u << 9), 573 eTypeClassObjCInterface = (1u << 10), 574 eTypeClassObjCObjectPointer = (1u << 11), 575 eTypeClassPointer = (1u << 12), 576 eTypeClassReference = (1u << 13), 577 eTypeClassStruct = (1u << 14), 578 eTypeClassTypedef = (1u << 15), 579 eTypeClassUnion = (1u << 16), 580 eTypeClassVector = (1u << 17), 581 // Define the last type class as the MSBit of a 32 bit value 582 eTypeClassOther = (1u << 31), 583 // Define a mask that can be used for any type when finding types 584 eTypeClassAny = (0xffffffffu) 585 }TypeClass; 586 587 typedef enum TemplateArgumentKind 588 { 589 eTemplateArgumentKindNull = 0, 590 eTemplateArgumentKindType, 591 eTemplateArgumentKindDeclaration, 592 eTemplateArgumentKindIntegral, 593 eTemplateArgumentKindTemplate, 594 eTemplateArgumentKindTemplateExpansion, 595 eTemplateArgumentKindExpression, 596 eTemplateArgumentKindPack 597 598 } TemplateArgumentKind; 599 600 //---------------------------------------------------------------------- 601 // Options that can be set for a formatter to alter its behavior 602 // Not all of these are applicable to all formatter types 603 //---------------------------------------------------------------------- 604 typedef enum TypeOptions 605 { 606 eTypeOptionNone = (0u), 607 eTypeOptionCascade = (1u << 0), 608 eTypeOptionSkipPointers = (1u << 1), 609 eTypeOptionSkipReferences = (1u << 2), 610 eTypeOptionHideChildren = (1u << 3), 611 eTypeOptionHideValue = (1u << 4), 612 eTypeOptionShowOneLiner = (1u << 5), 613 eTypeOptionHideNames = (1u << 6) 614 } TypeOptions; 615 616 //---------------------------------------------------------------------- 617 // This is the return value for frame comparisons. When frame A pushes 618 // frame B onto the stack, frame A is OLDER than frame B. 619 //---------------------------------------------------------------------- 620 typedef enum FrameComparison 621 { 622 eFrameCompareInvalid, 623 eFrameCompareUnknown, 624 eFrameCompareEqual, 625 eFrameCompareYounger, 626 eFrameCompareOlder 627 } FrameComparison; 628 629} // namespace lldb 630 631 632#endif // LLDB_lldb_enumerations_h_ 633