summaryrefslogtreecommitdiff
path: root/include/lldb/lldb-enumerations.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/lldb-enumerations.h')
-rw-r--r--include/lldb/lldb-enumerations.h86
1 files changed, 6 insertions, 80 deletions
diff --git a/include/lldb/lldb-enumerations.h b/include/lldb/lldb-enumerations.h
index 1c4d6f509a2a9..f9830c04bc39f 100644
--- a/include/lldb/lldb-enumerations.h
+++ b/include/lldb/lldb-enumerations.h
@@ -1,9 +1,8 @@
//===-- lldb-enumerations.h -------------------------------------*- C++ -*-===//
//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
@@ -70,9 +69,7 @@
namespace lldb {
-//----------------------------------------------------------------------
// Process and Thread States
-//----------------------------------------------------------------------
enum StateType {
eStateInvalid = 0,
eStateUnloaded, ///< Process is object is valid, but not currently loaded
@@ -96,9 +93,7 @@ enum StateType {
kLastStateType = eStateSuspended
};
-//----------------------------------------------------------------------
// Launch Flags
-//----------------------------------------------------------------------
FLAGS_ENUM(LaunchFlags){
eLaunchFlagNone = 0u,
eLaunchFlagExec = (1u << 0), ///< Exec when launching and turn the calling
@@ -131,14 +126,10 @@ FLAGS_ENUM(LaunchFlags){
eLaunchFlagCloseTTYOnExit = (1u << 11), ///< Close the open TTY on exit
};
-//----------------------------------------------------------------------
// Thread Run Modes
-//----------------------------------------------------------------------
enum RunMode { eOnlyThisThread, eAllThreads, eOnlyDuringStepping };
-//----------------------------------------------------------------------
// Byte ordering definitions
-//----------------------------------------------------------------------
enum ByteOrder {
eByteOrderInvalid = 0,
eByteOrderBig = 1,
@@ -146,9 +137,7 @@ enum ByteOrder {
eByteOrderLittle = 4
};
-//----------------------------------------------------------------------
// Register encoding definitions
-//----------------------------------------------------------------------
enum Encoding {
eEncodingInvalid = 0,
eEncodingUint, // unsigned integer
@@ -157,9 +146,7 @@ enum Encoding {
eEncodingVector // vector registers
};
-//----------------------------------------------------------------------
// Display format definitions
-//----------------------------------------------------------------------
enum Format {
eFormatDefault = 0,
eFormatInvalid = 0,
@@ -209,10 +196,8 @@ enum Format {
kNumFormats
};
-//----------------------------------------------------------------------
// Description levels for "void GetDescription(Stream *, DescriptionLevel)"
// calls
-//----------------------------------------------------------------------
enum DescriptionLevel {
eDescriptionLevelBrief = 0,
eDescriptionLevelFull,
@@ -221,9 +206,7 @@ enum DescriptionLevel {
kNumDescriptionLevels
};
-//----------------------------------------------------------------------
// Script interpreter types
-//----------------------------------------------------------------------
enum ScriptLanguage {
eScriptLanguageNone,
eScriptLanguagePython,
@@ -231,11 +214,9 @@ enum ScriptLanguage {
eScriptLanguageUnknown
};
-//----------------------------------------------------------------------
// Register numbering types
// See RegisterContext::ConvertRegisterKindToRegisterNumber to convert any of
// these to the lldb internal register numbering scheme (eRegisterKindLLDB).
-//----------------------------------------------------------------------
enum RegisterKind {
eRegisterKindEHFrame = 0, // the register numbers seen in eh_frame
eRegisterKindDWARF, // the register numbers seen DWARF
@@ -247,9 +228,7 @@ enum RegisterKind {
kNumRegisterKinds
};
-//----------------------------------------------------------------------
// Thread stop reasons
-//----------------------------------------------------------------------
enum StopReason {
eStopReasonInvalid = 0,
eStopReasonNone,
@@ -264,9 +243,7 @@ enum StopReason {
eStopReasonInstrumentation
};
-//----------------------------------------------------------------------
// Command Return Status Types
-//----------------------------------------------------------------------
enum ReturnStatus {
eReturnStatusInvalid,
eReturnStatusSuccessFinishNoResult,
@@ -278,9 +255,7 @@ enum ReturnStatus {
eReturnStatusQuit
};
-//----------------------------------------------------------------------
// The results of expression evaluation:
-//----------------------------------------------------------------------
enum ExpressionResults {
eExpressionCompleted = 0,
eExpressionSetupError,
@@ -304,9 +279,7 @@ enum SearchDepth {
kLastSearchDepthKind = eSearchDepthAddress
};
-//----------------------------------------------------------------------
// Connection Status Types
-//----------------------------------------------------------------------
enum ConnectionStatus {
eConnectionStatusSuccess, // Success
eConnectionStatusEndOfFile, // End-of-file encountered
@@ -339,9 +312,7 @@ enum ValueType {
eValueTypeVariableThreadLocal = 8 // thread local storage variable
};
-//----------------------------------------------------------------------
// Token size/granularities for Input Readers
-//----------------------------------------------------------------------
enum InputReaderGranularity {
eInputReaderGranularityInvalid = 0,
@@ -351,7 +322,6 @@ enum InputReaderGranularity {
eInputReaderGranularityAll
};
-//------------------------------------------------------------------
/// These mask bits allow a common interface for queries that can
/// limit the amount of information that gets parsed to only the
/// information that is requested. These bits also can indicate what
@@ -360,7 +330,6 @@ enum InputReaderGranularity {
/// Each definition corresponds to a one of the member variables
/// in this class, and requests that that item be resolved, or
/// indicates that the member did get resolved.
-//------------------------------------------------------------------
FLAGS_ENUM(SymbolContextItem){
eSymbolContextTarget = (1u << 0), ///< Set when \a target is requested from
/// a query, or was located in query
@@ -447,14 +416,12 @@ FLAGS_ENUM(WatchpointEventType){
eWatchpointEventTypeThreadChanged = (1u << 11),
eWatchpointEventTypeTypeChanged = (1u << 12)};
-//----------------------------------------------------------------------
/// Programming language type.
///
/// These enumerations use the same language enumerations as the DWARF
/// specification for ease of use and consistency.
/// The enum -> string code is in Language.cpp, don't change this
/// table without updating that code as well.
-//----------------------------------------------------------------------
enum LanguageType {
eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value.
eLanguageTypeC89 = 0x0001, ///< ISO C:1989.
@@ -624,9 +591,9 @@ enum CommandArgumentType {
// enumeration!!
};
-//----------------------------------------------------------------------
// Symbol types
-//----------------------------------------------------------------------
+// Symbol holds the SymbolType in a 6-bit field (m_type), so if you get over 63
+// entries you will have to resize that field.
enum SymbolType {
eSymbolTypeAny = 0,
eSymbolTypeInvalid = 0,
@@ -719,6 +686,7 @@ enum SectionType {
eSectionTypeDWARFDebugInfoDwo,
eSectionTypeDWARFDebugStrDwo,
eSectionTypeDWARFDebugStrOffsetsDwo,
+ eSectionTypeDWARFDebugTypesDwo,
};
FLAGS_ENUM(EmulateInstructionOptions){
@@ -748,9 +716,7 @@ FLAGS_ENUM(FunctionNameType){
};
LLDB_MARK_AS_BITMASK_ENUM(FunctionNameType)
-//----------------------------------------------------------------------
// Basic types enumeration for the public API SBType::GetBasicType()
-//----------------------------------------------------------------------
enum BasicType {
eBasicTypeInvalid = 0,
eBasicTypeVoid = 1,
@@ -835,10 +801,8 @@ enum TemplateArgumentKind {
eTemplateArgumentKindNullPtr,
};
-//----------------------------------------------------------------------
// Options that can be set for a formatter to alter its behavior Not all of
// these are applicable to all formatter types
-//----------------------------------------------------------------------
FLAGS_ENUM(TypeOptions){eTypeOptionNone = (0u),
eTypeOptionCascade = (1u << 0),
eTypeOptionSkipPointers = (1u << 1),
@@ -852,7 +816,6 @@ FLAGS_ENUM(TypeOptions){eTypeOptionNone = (0u),
eTypeOptionFrontEndWantsDereference = (1u << 9)
};
-//----------------------------------------------------------------------
// This is the return value for frame comparisons. If you are comparing frame
// A to frame B the following cases arise: 1) When frame A pushes frame B (or a
// frame that ends up pushing B) A is Older than B. 2) When frame A pushed
@@ -864,7 +827,6 @@ FLAGS_ENUM(TypeOptions){eTypeOptionNone = (0u),
// 5) If the two frames are on different threads or processes the comparison is
// Invalid 6) If for some reason we can't figure out what went on, we return
// Unknown.
-//----------------------------------------------------------------------
enum FrameComparison {
eFrameCompareInvalid,
eFrameCompareUnknown,
@@ -874,12 +836,10 @@ enum FrameComparison {
eFrameCompareOlder
};
-//----------------------------------------------------------------------
// File Permissions
//
// Designed to mimic the unix file permission bits so they can be used with
// functions that set 'mode_t' to certain values for permissions.
-//----------------------------------------------------------------------
FLAGS_ENUM(FilePermissions){
eFilePermissionsUserRead = (1u << 8), eFilePermissionsUserWrite = (1u << 7),
eFilePermissionsUserExecute = (1u << 6),
@@ -935,35 +895,29 @@ FLAGS_ENUM(FilePermissions){
eFilePermissionsDirectoryDefault = eFilePermissionsUserRWX,
};
-//----------------------------------------------------------------------
// Queue work item types
//
// The different types of work that can be enqueued on a libdispatch aka Grand
// Central Dispatch (GCD) queue.
-//----------------------------------------------------------------------
enum QueueItemKind {
eQueueItemKindUnknown = 0,
eQueueItemKindFunction,
eQueueItemKindBlock
};
-//----------------------------------------------------------------------
// Queue type
// libdispatch aka Grand Central Dispatch (GCD) queues can be either serial
// (executing on one thread) or concurrent (executing on multiple threads).
-//----------------------------------------------------------------------
enum QueueKind {
eQueueKindUnknown = 0,
eQueueKindSerial,
eQueueKindConcurrent
};
-//----------------------------------------------------------------------
// Expression Evaluation Stages
// These are the cancellable stages of expression evaluation, passed to the
// expression evaluation callback, so that you can interrupt expression
// evaluation at the various points in its lifecycle.
-//----------------------------------------------------------------------
enum ExpressionEvaluationPhase {
eExpressionEvaluationParse = 0,
eExpressionEvaluationIRGen,
@@ -971,11 +925,9 @@ enum ExpressionEvaluationPhase {
eExpressionEvaluationComplete
};
-//----------------------------------------------------------------------
// Watchpoint Kind
// Indicates what types of events cause the watchpoint to fire. Used by Native
// *Protocol-related classes.
-//----------------------------------------------------------------------
FLAGS_ENUM(WatchpointKind){eWatchpointKindWrite = (1u << 0),
eWatchpointKindRead = (1u << 1)};
@@ -988,11 +940,9 @@ enum GdbSignal {
eGdbSignalBreakpoint = 0x96
};
-//----------------------------------------------------------------------
// Used with SBHost::GetPath (lldb::PathType) to find files that are related to
// LLDB on the current host machine. Most files are relative to LLDB or are in
// known locations.
-//----------------------------------------------------------------------
enum PathType {
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB
// mach-o file in LLDB.framework (MacOSX) exists
@@ -1009,10 +959,8 @@ enum PathType {
ePathTypeClangDir // Find path to Clang builtin headers
};
-//----------------------------------------------------------------------
// Kind of member function
// Used by the type system
-//----------------------------------------------------------------------
enum MemberFunctionKind {
eMemberFunctionKindUnknown = 0, // Not sure what the type of this is
eMemberFunctionKindConstructor, // A function used to create instances
@@ -1024,14 +972,10 @@ enum MemberFunctionKind {
// than any instance
};
-//----------------------------------------------------------------------
// String matching algorithm used by SBTarget
-//----------------------------------------------------------------------
enum MatchType { eMatchTypeNormal, eMatchTypeRegex, eMatchTypeStartsWith };
-//----------------------------------------------------------------------
// Bitmask that describes details about a type
-//----------------------------------------------------------------------
FLAGS_ENUM(TypeFlags){
eTypeHasChildren = (1u << 0), eTypeHasValue = (1u << 1),
eTypeIsArray = (1u << 2), eTypeIsBlock = (1u << 3),
@@ -1047,7 +991,6 @@ FLAGS_ENUM(TypeFlags){
eTypeInstanceIsPointer = (1u << 22)};
FLAGS_ENUM(CommandFlags){
- //----------------------------------------------------------------------
// eCommandRequiresTarget
//
// Ensures a valid target is contained in m_exe_ctx prior to executing the
@@ -1055,9 +998,7 @@ FLAGS_ENUM(CommandFlags){
// and CommandObject::GetInvalidTargetDescription() will be returned as the
// error. CommandObject subclasses can override the virtual function for
// GetInvalidTargetDescription() to provide custom strings when needed.
- //----------------------------------------------------------------------
eCommandRequiresTarget = (1u << 0),
- //----------------------------------------------------------------------
// eCommandRequiresProcess
//
// Ensures a valid process is contained in m_exe_ctx prior to executing the
@@ -1066,9 +1007,7 @@ FLAGS_ENUM(CommandFlags){
// the error. CommandObject subclasses can override the virtual function
// for GetInvalidProcessDescription() to provide custom strings when
// needed.
- //----------------------------------------------------------------------
eCommandRequiresProcess = (1u << 1),
- //----------------------------------------------------------------------
// eCommandRequiresThread
//
// Ensures a valid thread is contained in m_exe_ctx prior to executing the
@@ -1076,9 +1015,7 @@ FLAGS_ENUM(CommandFlags){
// and CommandObject::GetInvalidThreadDescription() will be returned as the
// error. CommandObject subclasses can override the virtual function for
// GetInvalidThreadDescription() to provide custom strings when needed.
- //----------------------------------------------------------------------
eCommandRequiresThread = (1u << 2),
- //----------------------------------------------------------------------
// eCommandRequiresFrame
//
// Ensures a valid frame is contained in m_exe_ctx prior to executing the
@@ -1086,9 +1023,7 @@ FLAGS_ENUM(CommandFlags){
// and CommandObject::GetInvalidFrameDescription() will be returned as the
// error. CommandObject subclasses can override the virtual function for
// GetInvalidFrameDescription() to provide custom strings when needed.
- //----------------------------------------------------------------------
eCommandRequiresFrame = (1u << 3),
- //----------------------------------------------------------------------
// eCommandRequiresRegContext
//
// Ensures a valid register context (from the selected frame if there is a
@@ -1098,34 +1033,25 @@ FLAGS_ENUM(CommandFlags){
// CommandObject::GetInvalidRegContextDescription() will be returned as the
// error. CommandObject subclasses can override the virtual function for
// GetInvalidRegContextDescription() to provide custom strings when needed.
- //----------------------------------------------------------------------
eCommandRequiresRegContext = (1u << 4),
- //----------------------------------------------------------------------
// eCommandTryTargetAPILock
//
// Attempts to acquire the target lock if a target is selected in the
// command interpreter. If the command object fails to acquire the API
// lock, the command will fail with an appropriate error message.
- //----------------------------------------------------------------------
eCommandTryTargetAPILock = (1u << 5),
- //----------------------------------------------------------------------
// eCommandProcessMustBeLaunched
//
// Verifies that there is a launched process in m_exe_ctx, if there isn't,
// the command will fail with an appropriate error message.
- //----------------------------------------------------------------------
eCommandProcessMustBeLaunched = (1u << 6),
- //----------------------------------------------------------------------
// eCommandProcessMustBePaused
//
// Verifies that there is a paused process in m_exe_ctx, if there isn't,
// the command will fail with an appropriate error message.
- //----------------------------------------------------------------------
eCommandProcessMustBePaused = (1u << 7)};
-//----------------------------------------------------------------------
// Whether a summary should cap how much data it returns to users or not
-//----------------------------------------------------------------------
enum TypeSummaryCapping {
eTypeSummaryCapped = true,
eTypeSummaryUncapped = false