1 //===-- SBEvent.h -----------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBExpressionOptions_h_
11 #define LLDB_SBExpressionOptions_h_
13 #include "lldb/API/SBDefines.h"
20 class LLDB_API SBExpressionOptions
23 SBExpressionOptions();
25 SBExpressionOptions (const lldb::SBExpressionOptions &rhs);
27 ~SBExpressionOptions();
29 const SBExpressionOptions &
30 operator = (const lldb::SBExpressionOptions &rhs);
33 GetCoerceResultToId () const;
36 SetCoerceResultToId (bool coerce = true);
39 GetUnwindOnError () const;
42 SetUnwindOnError (bool unwind = true);
45 GetIgnoreBreakpoints () const;
48 SetIgnoreBreakpoints (bool ignore = true);
50 lldb::DynamicValueType
51 GetFetchDynamicValue () const;
54 SetFetchDynamicValue (lldb::DynamicValueType dynamic = lldb::eDynamicCanRunTarget);
57 GetTimeoutInMicroSeconds () const;
59 // Set the timeout for the expression, 0 means wait forever.
61 SetTimeoutInMicroSeconds (uint32_t timeout = 0);
64 GetOneThreadTimeoutInMicroSeconds () const;
66 // Set the timeout for running on one thread, 0 means use the default behavior.
67 // If you set this higher than the overall timeout, you'll get an error when you
68 // try to run the expression.
70 SetOneThreadTimeoutInMicroSeconds (uint32_t timeout = 0);
73 GetTryAllThreads () const;
76 SetTryAllThreads (bool run_others = true);
79 GetStopOthers() const;
82 SetStopOthers(bool stop_others = true);
85 GetTrapExceptions () const;
88 SetTrapExceptions (bool trap_exceptions = true);
91 SetLanguage (lldb::LanguageType language);
94 SetCancelCallback (lldb::ExpressionCancelCallback callback, void *baton);
97 GetGenerateDebugInfo ();
100 SetGenerateDebugInfo (bool b = true);
103 GetSuppressPersistentResult ();
106 SetSuppressPersistentResult (bool b = false);
112 SetPrefix (const char *prefix);
116 SBExpressionOptions (lldb_private::EvaluateExpressionOptions &expression_options);
118 lldb_private::EvaluateExpressionOptions *
121 lldb_private::EvaluateExpressionOptions &
124 friend class SBFrame;
125 friend class SBValue;
126 friend class SBTarget;
129 // This auto_pointer is made in the constructor and is always valid.
130 mutable std::unique_ptr<lldb_private::EvaluateExpressionOptions> m_opaque_ap;
135 #endif // LLDB_SBExpressionOptions_h_