102300fbed6008f033db4055f2db8dca265d42a2fGreg Clayton//===-- lldb-private-enumerations.h -----------------------------*- C++ -*-===//
2b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//
3b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//                     The LLVM Compiler Infrastructure
4b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//
5b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// This file is distributed under the University of Illinois Open Source
6b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// License. See LICENSE.TXT for details.
7b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//
8b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//===----------------------------------------------------------------------===//
9b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
10b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton#ifndef LLDB_lldb_private_enumerations_h_
11b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton#define LLDB_lldb_private_enumerations_h_
12b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
13b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytonnamespace lldb_private {
14b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
15b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
16b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// Thread Step Types
17b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
18b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum StepType
19b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
20b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eStepTypeNone,
21b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eStepTypeTrace,     ///< Single step one instruction.
22b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eStepTypeTraceOver, ///< Single step one instruction, stepping over.
23b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eStepTypeInto,      ///< Single step into a specified context.
24b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eStepTypeOver,      ///< Single step over a specified context.
25b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eStepTypeOut        ///< Single step out a specified context.
26b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} StepType;
27b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
28b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
29b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// Address Types
30b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
31b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum AddressType
32b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
33b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eAddressTypeInvalid = 0,
34b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eAddressTypeFile, ///< Address is an address as found in an object or symbol file
35b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eAddressTypeLoad, ///< Address is an address as in the current target inferior process
36b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eAddressTypeHost  ///< Address is an address in the process that is running this code
37b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} AddressType;
38b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
39b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
40b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// Votes - Need a tri-state, yes, no, no opinion...
41b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
42b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum Vote
43b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
44b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVoteNo         = -1,
45b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVoteNoOpinion  =  0,
46b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVoteYes        =  1
47b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} Vote;
48b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
49b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum ArchitectureType
50b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
51b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArchTypeInvalid,
52b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArchTypeMachO,
53b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArchTypeELF,
54b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    kNumArchTypes
55b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} ArchitectureType;
56b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
57b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
58b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton/// Settable state variable types.
59b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton///
60b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
61b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
6273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//typedef enum SettableVariableType
6373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//{
6473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeInt,
6573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeBoolean,
6673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeString,
6773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeArray,
6873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeDictionary,
6973844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeEnum,
7073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//    eSetVarTypeNone
7173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//} SettableVariableType;
72b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
73b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum VarSetOperationType
74b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
75b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationReplace,
76b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationInsertBefore,
77b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationInsertAfter,
78b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationRemove,
79b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationAppend,
80b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationClear,
81b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationAssign,
82b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eVarSetOperationInvalid
83b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} VarSetOperationType;
84b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
85b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum ArgumentRepetitionType
86b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
87b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPlain,            // Exactly one occurrence
88b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatOptional,         // At most one occurrence, but it's optional
89b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPlus,             // One or more occurrences
90b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatStar,             // Zero or more occurrences
91b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatRange,            // Repetition of same argument, from 1 to n
92b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPairPlain,        // A pair of arguments that must always go together ([arg-type arg-value]), occurs exactly once
93b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPairOptional,     // A pair that occurs at most once (optional)
94b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPairPlus,         // One or more occurrences of a pair
95b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPairStar,         // Zero or more occurrences of a pair
96b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPairRange,        // A pair that repeats from 1 to n
97b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eArgRepeatPairRangeOptional // A pair that repeats from 1 to n, but is optional
98b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} ArgumentRepetitionType;
99b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
100b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum SortOrder
101b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
102b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eSortOrderNone,
103b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eSortOrderByAddress,
104b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eSortOrderByName
105b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} SortOrder;
106b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
107b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
108b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
10940c10a5d63c29a5bd13291d234b0fc7650f91eeeGreg Clayton// Used in conjunction with Host::GetLLDBPath () to find files that
110b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// are related to
111b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
112b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum PathType
113b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
114b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    ePathTypeLLDBShlibDir,          // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
115b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    ePathTypeSupportExecutableDir,  // Find LLDB support executable directory (debugserver, etc)
116b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    ePathTypeHeaderDir,             // Find LLDB header file directory
117b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    ePathTypePythonDir,             // Find Python modules (PYTHONPATH) directory
118b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    ePathTypeLLDBSystemPlugins,     // System plug-ins directory
119b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    ePathTypeLLDBUserPlugins        // User plug-ins directory
120b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} PathType;
121b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
122b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
123b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
124b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// We can execute ThreadPlans on one thread with various fall-back modes
125b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// (try other threads after timeout, etc.) This enum gives the result of
126b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// thread plan executions.
127b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
128b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum ExecutionResults
129b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
130b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eExecutionSetupError,
131b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eExecutionCompleted,
132b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eExecutionDiscarded,
133b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eExecutionInterrupted,
134b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham    eExecutionHitBreakpoint,
135b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eExecutionTimedOut
136b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} ExecutionResults;
137b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
138b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum ObjCRuntimeVersions {
139b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eObjC_VersionUnknown = 0,
140b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eAppleObjC_V1 = 1,
141b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eAppleObjC_V2 = 2
142b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} ObjCRuntimeVersions;
143b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
144b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
145b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
146b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// LazyBool is for boolean values that need to be calculated lazily.
147b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// Values start off set to eLazyBoolCalculate, and then they can be
148b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton// calculated once and set to eLazyBoolNo or eLazyBoolYes.
149b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//----------------------------------------------------------------------
150b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum LazyBool {
151b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eLazyBoolCalculate  = -1,
152b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eLazyBoolNo         = 0,
153b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eLazyBoolYes        = 1
154b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} LazyBool;
155b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
156b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//------------------------------------------------------------------
157b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton/// Name matching
158b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton//------------------------------------------------------------------
159b344843f75ef893762c93fd0a22d2d45712ce74dGreg Claytontypedef enum NameMatchType
160b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton{
161b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eNameMatchIgnore,
162b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eNameMatchEquals,
163b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eNameMatchContains,
164b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eNameMatchStartsWith,
165b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eNameMatchEndsWith,
166b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton    eNameMatchRegularExpression
167b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
168b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton} NameMatchType;
169b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
170b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
171888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton//------------------------------------------------------------------
172888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton/// Instruction types
173888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton//------------------------------------------------------------------
174888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Claytontypedef enum InstructionType
175888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton{
176888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton    eInstructionTypeAny,                // Support for any instructions at all (at least one)
177888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton    eInstructionTypePrologueEpilogue,   // All prologue and epilogue instructons that push and pop register values and modify sp/fp
178888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton    eInstructionTypePCModifying,        // Any instruction that modifies the program counter/instruction pointer
179888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton    eInstructionTypeAll                 // All instructions of any kind
180888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton
181888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton}  InstructionType;
182888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton
183d587a5847c90ecb588f725532825fffe4211e019Enrico Granata
184d587a5847c90ecb588f725532825fffe4211e019Enrico Granata//------------------------------------------------------------------
185d587a5847c90ecb588f725532825fffe4211e019Enrico Granata/// Format category entry types
186d587a5847c90ecb588f725532825fffe4211e019Enrico Granata//------------------------------------------------------------------
187d587a5847c90ecb588f725532825fffe4211e019Enrico Granatatypedef enum FormatCategoryItem
188d587a5847c90ecb588f725532825fffe4211e019Enrico Granata{
189d587a5847c90ecb588f725532825fffe4211e019Enrico Granata    eFormatCategoryItemSummary =         0x0001,
1902c6a3d80dab3cf50c26fefe037357a4e6e621258Enrico Granata    eFormatCategoryItemRegexSummary =    0x0002,
1912c6a3d80dab3cf50c26fefe037357a4e6e621258Enrico Granata    eFormatCategoryItemFilter =          0x0004,
1922c6a3d80dab3cf50c26fefe037357a4e6e621258Enrico Granata    eFormatCategoryItemRegexFilter =     0x0008,
1932c6a3d80dab3cf50c26fefe037357a4e6e621258Enrico Granata    eFormatCategoryItemSynth =           0x0010,
194caf798c28b23aeee54279366f46e5dee8799c558Enrico Granata    eFormatCategoryItemRegexSynth =      0x0020
195d587a5847c90ecb588f725532825fffe4211e019Enrico Granata} FormatCategoryItem;
196888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton
19747dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan//------------------------------------------------------------------
19847dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan/// Expression execution policies
19947dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan//------------------------------------------------------------------
20047dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanantypedef enum {
20147dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan    eExecutionPolicyOnlyWhenNeeded,
20247dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan    eExecutionPolicyNever,
20347dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan    eExecutionPolicyAlways
20447dc457387b690c5e4df1c0c7dd8c4337b92e630Sean Callanan} ExecutionPolicy;
20524a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton
20624a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton//----------------------------------------------------------------------
20724a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton// Ways that the FormatManager picks a particular format for a type
20824a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton//----------------------------------------------------------------------
20924a6bd9835ed1655984397b0cdf35127e47681e9Greg Claytontypedef enum FormatterChoiceCriterion
21024a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton{
21124a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton    eFormatterChoiceCriterionDirectChoice =                  0x00000000,
21224a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton    eFormatterChoiceCriterionStrippedPointerReference =      0x00000001,
21324a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton    eFormatterChoiceCriterionNavigatedTypedefs =             0x00000002,
214f2cb7f275a8669eaef30a53c282db6ce9c03b332Enrico Granata    eFormatterChoiceCriterionRegularExpressionSummary =      0x00000004,
215f2cb7f275a8669eaef30a53c282db6ce9c03b332Enrico Granata    eFormatterChoiceCriterionRegularExpressionFilter =       0x00000004,
216f2cb7f275a8669eaef30a53c282db6ce9c03b332Enrico Granata    eFormatterChoiceCriterionDynamicObjCDiscovery =          0x00000008,
21745454a31b7b5cb449cb75860f654d52976412eb2Enrico Granata    eFormatterChoiceCriterionStrippedBitField =              0x00000010,
21845454a31b7b5cb449cb75860f654d52976412eb2Enrico Granata    eFormatterChoiceCriterionWentToStaticValue =             0x00000020
21924a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton} FormatterChoiceCriterion;
22024a6bd9835ed1655984397b0cdf35127e47681e9Greg Clayton
2216010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata//----------------------------------------------------------------------
2226010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata// Synchronicity behavior of scripted commands
2236010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata//----------------------------------------------------------------------
2246010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granatatypedef enum ScriptedCommandSynchronicity
2256010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata{
2266010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata    eScriptedCommandSynchronicitySynchronous,
2276010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata    eScriptedCommandSynchronicityAsynchronous,
2286010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata    eScriptedCommandSynchronicityCurrentValue // use whatever the current synchronicity is
2296010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata} ScriptedCommandSynchronicity;
2306010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata
2316010acef0cee54e044d4e7e472ef3d99e13c5045Enrico Granata} // namespace lldb_private
232b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
233b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton
234b344843f75ef893762c93fd0a22d2d45712ce74dGreg Clayton#endif  // LLDB_lldb_private_enumerations_h_
235