diff options
Diffstat (limited to 'lldb/source/API/SBExpressionOptions.cpp')
-rw-r--r-- | lldb/source/API/SBExpressionOptions.cpp | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/lldb/source/API/SBExpressionOptions.cpp b/lldb/source/API/SBExpressionOptions.cpp new file mode 100644 index 00000000000..2a4b9f564b2 --- /dev/null +++ b/lldb/source/API/SBExpressionOptions.cpp @@ -0,0 +1,142 @@ +//===-- SBExpressionOptions.cpp ---------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "lldb/API/SBExpressionOptions.h" +#include "lldb/API/SBStream.h" + +#include "lldb/Target/Target.h" + +using namespace lldb; +using namespace lldb_private; + + +SBExpressionOptions::SBExpressionOptions () +{ + m_opaque_ap.reset(new EvaluateExpressionOptions()); +} + +SBExpressionOptions::SBExpressionOptions (bool coerce_to_id, + bool unwind_on_error, + bool keep_in_memory, + bool run_others, + DynamicValueType use_dynamic, + uint32_t timeout_usec) +{ + m_opaque_ap.reset(new EvaluateExpressionOptions()); + m_opaque_ap->SetCoerceToId(coerce_to_id); + m_opaque_ap->SetUnwindOnError(unwind_on_error); + m_opaque_ap->SetKeepInMemory(keep_in_memory); + m_opaque_ap->SetRunOthers(run_others); + m_opaque_ap->SetUseDynamic (use_dynamic); + m_opaque_ap->SetTimeoutUsec (timeout_usec); +} + +SBExpressionOptions::SBExpressionOptions (const SBExpressionOptions &rhs) +{ + m_opaque_ap.reset(new EvaluateExpressionOptions()); + *(m_opaque_ap.get()) = rhs.ref(); +} + +const SBExpressionOptions & +SBExpressionOptions::operator = (const SBExpressionOptions &rhs) +{ + if (this != &rhs) + { + this->ref() = rhs.ref(); + } + return *this; +} + +SBExpressionOptions::~SBExpressionOptions() +{ +} + +bool +SBExpressionOptions::DoesCoerceToId () const +{ + return m_opaque_ap->DoesCoerceToId (); +} + +void +SBExpressionOptions::SetCoerceToId (bool coerce) +{ + m_opaque_ap->SetCoerceToId (coerce); +} + +bool +SBExpressionOptions::DoesUnwindOnError () const +{ + return m_opaque_ap->DoesUnwindOnError (); +} + +void +SBExpressionOptions::SetUnwindOnError (bool unwind) +{ + m_opaque_ap->SetUnwindOnError (unwind); +} + +bool +SBExpressionOptions::DoesKeepInMemory () const +{ + return m_opaque_ap->DoesKeepInMemory (); +} + +void +SBExpressionOptions::SetKeepInMemory (bool keep) +{ + m_opaque_ap->SetKeepInMemory (keep); +} + +lldb::DynamicValueType +SBExpressionOptions::GetUseDynamic () const +{ + return m_opaque_ap->GetUseDynamic (); +} + +void +SBExpressionOptions::SetUseDynamic (lldb::DynamicValueType dynamic) +{ + m_opaque_ap->SetUseDynamic (dynamic); +} + +uint32_t +SBExpressionOptions::GetTimeoutUsec () const +{ + return m_opaque_ap->GetTimeoutUsec (); +} + +void +SBExpressionOptions::SetTimeoutUsec (uint32_t timeout) +{ + m_opaque_ap->SetTimeoutUsec (timeout); +} + +bool +SBExpressionOptions::GetRunOthers () const +{ + return m_opaque_ap->GetRunOthers (); +} + +void +SBExpressionOptions::SetRunOthers (bool run_others) +{ + m_opaque_ap->SetRunOthers (run_others); +} + +EvaluateExpressionOptions * +SBExpressionOptions::get() const +{ + return m_opaque_ap.get(); +} + +EvaluateExpressionOptions & +SBExpressionOptions::ref () const +{ + return *(m_opaque_ap.get()); +} |