| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- //===-- SBExpressionOptions.h -----------------------------------*- C++ -*-===//
- //
- // 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
- //
- //===----------------------------------------------------------------------===//
- #ifndef LLDB_API_SBEXPRESSIONOPTIONS_H
- #define LLDB_API_SBEXPRESSIONOPTIONS_H
- #include "lldb/API/SBDefines.h"
- #include <vector>
- namespace lldb {
- class LLDB_API SBExpressionOptions {
- public:
- SBExpressionOptions();
- SBExpressionOptions(const lldb::SBExpressionOptions &rhs);
- ~SBExpressionOptions();
- const SBExpressionOptions &operator=(const lldb::SBExpressionOptions &rhs);
- bool GetCoerceResultToId() const;
- void SetCoerceResultToId(bool coerce = true);
- bool GetUnwindOnError() const;
- void SetUnwindOnError(bool unwind = true);
- bool GetIgnoreBreakpoints() const;
- void SetIgnoreBreakpoints(bool ignore = true);
- lldb::DynamicValueType GetFetchDynamicValue() const;
- void SetFetchDynamicValue(
- lldb::DynamicValueType dynamic = lldb::eDynamicCanRunTarget);
- uint32_t GetTimeoutInMicroSeconds() const;
- // Set the timeout for the expression, 0 means wait forever.
- void SetTimeoutInMicroSeconds(uint32_t timeout = 0);
- uint32_t GetOneThreadTimeoutInMicroSeconds() const;
- // Set the timeout for running on one thread, 0 means use the default
- // behavior. If you set this higher than the overall timeout, you'll get an
- // error when you try to run the expression.
- void SetOneThreadTimeoutInMicroSeconds(uint32_t timeout = 0);
- bool GetTryAllThreads() const;
- void SetTryAllThreads(bool run_others = true);
- bool GetStopOthers() const;
- void SetStopOthers(bool stop_others = true);
- bool GetTrapExceptions() const;
- void SetTrapExceptions(bool trap_exceptions = true);
- void SetLanguage(lldb::LanguageType language);
- void SetCancelCallback(lldb::ExpressionCancelCallback callback, void *baton);
- bool GetGenerateDebugInfo();
- void SetGenerateDebugInfo(bool b = true);
- bool GetSuppressPersistentResult();
- void SetSuppressPersistentResult(bool b = false);
- const char *GetPrefix() const;
- void SetPrefix(const char *prefix);
- void SetAutoApplyFixIts(bool b = true);
- bool GetAutoApplyFixIts();
- void SetRetriesWithFixIts(uint64_t retries);
- uint64_t GetRetriesWithFixIts();
- bool GetTopLevel();
- void SetTopLevel(bool b = true);
- // Gets whether we will JIT an expression if it cannot be interpreted
- bool GetAllowJIT();
- // Sets whether we will JIT an expression if it cannot be interpreted
- void SetAllowJIT(bool allow);
- protected:
- lldb_private::EvaluateExpressionOptions *get() const;
- lldb_private::EvaluateExpressionOptions &ref() const;
- friend class SBFrame;
- friend class SBValue;
- friend class SBTarget;
- private:
- // This auto_pointer is made in the constructor and is always valid.
- mutable std::unique_ptr<lldb_private::EvaluateExpressionOptions> m_opaque_up;
- };
- } // namespace lldb
- #endif // LLDB_API_SBEXPRESSIONOPTIONS_H
|