File indexing completed on 2026-05-10 08:42:42
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_API_SBEXPRESSIONOPTIONS_H
0010 #define LLDB_API_SBEXPRESSIONOPTIONS_H
0011
0012 #include "lldb/API/SBDefines.h"
0013 #include "lldb/API/SBLanguages.h"
0014
0015 #include <vector>
0016
0017 namespace lldb {
0018
0019 class LLDB_API SBExpressionOptions {
0020 public:
0021 SBExpressionOptions();
0022
0023 SBExpressionOptions(const lldb::SBExpressionOptions &rhs);
0024
0025 ~SBExpressionOptions();
0026
0027 const SBExpressionOptions &operator=(const lldb::SBExpressionOptions &rhs);
0028
0029 bool GetCoerceResultToId() const;
0030
0031 void SetCoerceResultToId(bool coerce = true);
0032
0033 bool GetUnwindOnError() const;
0034
0035 void SetUnwindOnError(bool unwind = true);
0036
0037 bool GetIgnoreBreakpoints() const;
0038
0039 void SetIgnoreBreakpoints(bool ignore = true);
0040
0041 lldb::DynamicValueType GetFetchDynamicValue() const;
0042
0043 void SetFetchDynamicValue(
0044 lldb::DynamicValueType dynamic = lldb::eDynamicCanRunTarget);
0045
0046 uint32_t GetTimeoutInMicroSeconds() const;
0047
0048
0049 void SetTimeoutInMicroSeconds(uint32_t timeout = 0);
0050
0051 uint32_t GetOneThreadTimeoutInMicroSeconds() const;
0052
0053
0054
0055
0056 void SetOneThreadTimeoutInMicroSeconds(uint32_t timeout = 0);
0057
0058 bool GetTryAllThreads() const;
0059
0060 void SetTryAllThreads(bool run_others = true);
0061
0062 bool GetStopOthers() const;
0063
0064 void SetStopOthers(bool stop_others = true);
0065
0066 bool GetTrapExceptions() const;
0067
0068 void SetTrapExceptions(bool trap_exceptions = true);
0069
0070 void SetLanguage(lldb::LanguageType language);
0071
0072
0073
0074 void SetLanguage(lldb::SBSourceLanguageName name, uint32_t version);
0075
0076 #ifndef SWIG
0077 void SetCancelCallback(lldb::ExpressionCancelCallback callback, void *baton);
0078 #endif
0079
0080 bool GetGenerateDebugInfo();
0081
0082 void SetGenerateDebugInfo(bool b = true);
0083
0084 bool GetSuppressPersistentResult();
0085
0086 void SetSuppressPersistentResult(bool b = false);
0087
0088 const char *GetPrefix() const;
0089
0090 void SetPrefix(const char *prefix);
0091
0092 void SetAutoApplyFixIts(bool b = true);
0093
0094 bool GetAutoApplyFixIts();
0095
0096 void SetRetriesWithFixIts(uint64_t retries);
0097
0098 uint64_t GetRetriesWithFixIts();
0099
0100 bool GetTopLevel();
0101
0102 void SetTopLevel(bool b = true);
0103
0104
0105 bool GetAllowJIT();
0106
0107
0108 void SetAllowJIT(bool allow);
0109
0110 protected:
0111 lldb_private::EvaluateExpressionOptions *get() const;
0112
0113 lldb_private::EvaluateExpressionOptions &ref() const;
0114
0115 friend class SBFrame;
0116 friend class SBValue;
0117 friend class SBTarget;
0118
0119 private:
0120
0121 mutable std::unique_ptr<lldb_private::EvaluateExpressionOptions> m_opaque_up;
0122 };
0123
0124 }
0125
0126 #endif