llvm-project/lldb/source/API/SBExpressionOptions.cpp

143 lines
3.0 KiB
C++
Raw Normal View History

//===-- 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());
}