1//===-- SBExpressionOptions.cpp ---------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include "lldb/API/SBExpressionOptions.h" 11#include "lldb/API/SBStream.h" 12 13#include "lldb/Target/Target.h" 14 15using namespace lldb; 16using namespace lldb_private; 17 18 19SBExpressionOptions::SBExpressionOptions () : 20 m_opaque_ap(new EvaluateExpressionOptions()) 21{ 22} 23 24SBExpressionOptions::SBExpressionOptions (const SBExpressionOptions &rhs) 25{ 26 m_opaque_ap.reset(new EvaluateExpressionOptions()); 27 *(m_opaque_ap.get()) = rhs.ref(); 28} 29 30const SBExpressionOptions & 31SBExpressionOptions::operator = (const SBExpressionOptions &rhs) 32{ 33 if (this != &rhs) 34 { 35 this->ref() = rhs.ref(); 36 } 37 return *this; 38} 39 40SBExpressionOptions::~SBExpressionOptions() 41{ 42} 43 44bool 45SBExpressionOptions::GetCoerceResultToId () const 46{ 47 return m_opaque_ap->DoesCoerceToId (); 48} 49 50void 51SBExpressionOptions::SetCoerceResultToId (bool coerce) 52{ 53 m_opaque_ap->SetCoerceToId (coerce); 54} 55 56bool 57SBExpressionOptions::GetUnwindOnError () const 58{ 59 return m_opaque_ap->DoesUnwindOnError (); 60} 61 62void 63SBExpressionOptions::SetUnwindOnError (bool unwind) 64{ 65 m_opaque_ap->SetUnwindOnError (unwind); 66} 67 68bool 69SBExpressionOptions::GetIgnoreBreakpoints () const 70{ 71 return m_opaque_ap->DoesIgnoreBreakpoints (); 72} 73 74void 75SBExpressionOptions::SetIgnoreBreakpoints (bool ignore) 76{ 77 m_opaque_ap->SetIgnoreBreakpoints (ignore); 78} 79 80lldb::DynamicValueType 81SBExpressionOptions::GetFetchDynamicValue () const 82{ 83 return m_opaque_ap->GetUseDynamic (); 84} 85 86void 87SBExpressionOptions::SetFetchDynamicValue (lldb::DynamicValueType dynamic) 88{ 89 m_opaque_ap->SetUseDynamic (dynamic); 90} 91 92uint32_t 93SBExpressionOptions::GetTimeoutInMicroSeconds () const 94{ 95 return m_opaque_ap->GetTimeoutUsec (); 96} 97 98void 99SBExpressionOptions::SetTimeoutInMicroSeconds (uint32_t timeout) 100{ 101 m_opaque_ap->SetTimeoutUsec (timeout); 102} 103 104bool 105SBExpressionOptions::GetTryAllThreads () const 106{ 107 return m_opaque_ap->GetRunOthers (); 108} 109 110void 111SBExpressionOptions::SetTryAllThreads (bool run_others) 112{ 113 m_opaque_ap->SetRunOthers (run_others); 114} 115 116EvaluateExpressionOptions * 117SBExpressionOptions::get() const 118{ 119 return m_opaque_ap.get(); 120} 121 122EvaluateExpressionOptions & 123SBExpressionOptions::ref () const 124{ 125 return *(m_opaque_ap.get()); 126} 127