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 15 using namespace lldb; 16 using namespace lldb_private; 17 18 SBExpressionOptions()19SBExpressionOptions::SBExpressionOptions () : 20 m_opaque_ap(new EvaluateExpressionOptions()) 21 { 22 } 23 SBExpressionOptions(const SBExpressionOptions & rhs)24SBExpressionOptions::SBExpressionOptions (const SBExpressionOptions &rhs) 25 { 26 m_opaque_ap.reset(new EvaluateExpressionOptions()); 27 *(m_opaque_ap.get()) = rhs.ref(); 28 } 29 30 const SBExpressionOptions & operator =(const SBExpressionOptions & rhs)31SBExpressionOptions::operator = (const SBExpressionOptions &rhs) 32 { 33 if (this != &rhs) 34 { 35 this->ref() = rhs.ref(); 36 } 37 return *this; 38 } 39 ~SBExpressionOptions()40SBExpressionOptions::~SBExpressionOptions() 41 { 42 } 43 44 bool GetCoerceResultToId() const45SBExpressionOptions::GetCoerceResultToId () const 46 { 47 return m_opaque_ap->DoesCoerceToId (); 48 } 49 50 void SetCoerceResultToId(bool coerce)51SBExpressionOptions::SetCoerceResultToId (bool coerce) 52 { 53 m_opaque_ap->SetCoerceToId (coerce); 54 } 55 56 bool GetUnwindOnError() const57SBExpressionOptions::GetUnwindOnError () const 58 { 59 return m_opaque_ap->DoesUnwindOnError (); 60 } 61 62 void SetUnwindOnError(bool unwind)63SBExpressionOptions::SetUnwindOnError (bool unwind) 64 { 65 m_opaque_ap->SetUnwindOnError (unwind); 66 } 67 68 bool GetIgnoreBreakpoints() const69SBExpressionOptions::GetIgnoreBreakpoints () const 70 { 71 return m_opaque_ap->DoesIgnoreBreakpoints (); 72 } 73 74 void SetIgnoreBreakpoints(bool ignore)75SBExpressionOptions::SetIgnoreBreakpoints (bool ignore) 76 { 77 m_opaque_ap->SetIgnoreBreakpoints (ignore); 78 } 79 80 lldb::DynamicValueType GetFetchDynamicValue() const81SBExpressionOptions::GetFetchDynamicValue () const 82 { 83 return m_opaque_ap->GetUseDynamic (); 84 } 85 86 void SetFetchDynamicValue(lldb::DynamicValueType dynamic)87SBExpressionOptions::SetFetchDynamicValue (lldb::DynamicValueType dynamic) 88 { 89 m_opaque_ap->SetUseDynamic (dynamic); 90 } 91 92 uint32_t GetTimeoutInMicroSeconds() const93SBExpressionOptions::GetTimeoutInMicroSeconds () const 94 { 95 return m_opaque_ap->GetTimeoutUsec (); 96 } 97 98 void SetTimeoutInMicroSeconds(uint32_t timeout)99SBExpressionOptions::SetTimeoutInMicroSeconds (uint32_t timeout) 100 { 101 m_opaque_ap->SetTimeoutUsec (timeout); 102 } 103 104 bool GetTryAllThreads() const105SBExpressionOptions::GetTryAllThreads () const 106 { 107 return m_opaque_ap->GetRunOthers (); 108 } 109 110 void SetTryAllThreads(bool run_others)111SBExpressionOptions::SetTryAllThreads (bool run_others) 112 { 113 m_opaque_ap->SetRunOthers (run_others); 114 } 115 116 EvaluateExpressionOptions * get() const117SBExpressionOptions::get() const 118 { 119 return m_opaque_ap.get(); 120 } 121 122 EvaluateExpressionOptions & ref() const123SBExpressionOptions::ref () const 124 { 125 return *(m_opaque_ap.get()); 126 } 127