147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham//===-- SBExpressionOptions.cpp ---------------------------------------------*- C++ -*-===// 247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham// 347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham// The LLVM Compiler Infrastructure 447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham// 547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham// This file is distributed under the University of Illinois Open Source 647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham// License. See LICENSE.TXT for details. 747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham// 847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham//===----------------------------------------------------------------------===// 947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 1047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham#include "lldb/API/SBExpressionOptions.h" 1147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham#include "lldb/API/SBStream.h" 1247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 1347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham#include "lldb/Target/Target.h" 1447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 1547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamusing namespace lldb; 1647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamusing namespace lldb_private; 1747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 1847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 1975a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::SBExpressionOptions () : 2075a443b04197d18c7034968e11ce831166df3703Greg Clayton m_opaque_ap(new EvaluateExpressionOptions()) 2147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 2247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 2347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 2447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamSBExpressionOptions::SBExpressionOptions (const SBExpressionOptions &rhs) 2547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 2647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham m_opaque_ap.reset(new EvaluateExpressionOptions()); 2747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham *(m_opaque_ap.get()) = rhs.ref(); 2847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 2947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 3047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamconst SBExpressionOptions & 3147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamSBExpressionOptions::operator = (const SBExpressionOptions &rhs) 3247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 3347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham if (this != &rhs) 3447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham { 3547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham this->ref() = rhs.ref(); 3647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham } 3747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return *this; 3847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 3947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 4047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamSBExpressionOptions::~SBExpressionOptions() 4147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 4247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 4347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 4447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghambool 4575a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::GetCoerceResultToId () const 4647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 4747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return m_opaque_ap->DoesCoerceToId (); 4847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 4947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 5047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamvoid 5175a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::SetCoerceResultToId (bool coerce) 5247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 5347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham m_opaque_ap->SetCoerceToId (coerce); 5447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 5547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 5647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghambool 5775a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::GetUnwindOnError () const 5847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 5947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return m_opaque_ap->DoesUnwindOnError (); 6047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 6147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 6247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamvoid 6347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamSBExpressionOptions::SetUnwindOnError (bool unwind) 6447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 6547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham m_opaque_ap->SetUnwindOnError (unwind); 6647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 6747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 68b794020ffbd6473c59a6e98be044df50abf7fc30Jim Inghambool 69b794020ffbd6473c59a6e98be044df50abf7fc30Jim InghamSBExpressionOptions::GetIgnoreBreakpoints () const 70b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham{ 71b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham return m_opaque_ap->DoesIgnoreBreakpoints (); 72b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham} 73b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham 74b794020ffbd6473c59a6e98be044df50abf7fc30Jim Inghamvoid 75b794020ffbd6473c59a6e98be044df50abf7fc30Jim InghamSBExpressionOptions::SetIgnoreBreakpoints (bool ignore) 76b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham{ 77b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham m_opaque_ap->SetIgnoreBreakpoints (ignore); 78b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham} 79b794020ffbd6473c59a6e98be044df50abf7fc30Jim Ingham 8047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamlldb::DynamicValueType 8175a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::GetFetchDynamicValue () const 8247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 8347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return m_opaque_ap->GetUseDynamic (); 8447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 8547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 8647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamvoid 8775a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::SetFetchDynamicValue (lldb::DynamicValueType dynamic) 8847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 8947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham m_opaque_ap->SetUseDynamic (dynamic); 9047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 9147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 9247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamuint32_t 9375a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::GetTimeoutInMicroSeconds () const 9447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 9547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return m_opaque_ap->GetTimeoutUsec (); 9647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 9747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 9847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamvoid 9975a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::SetTimeoutInMicroSeconds (uint32_t timeout) 10047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 10147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham m_opaque_ap->SetTimeoutUsec (timeout); 10247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 10347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 10447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghambool 10575a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::GetTryAllThreads () const 10647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 10747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return m_opaque_ap->GetRunOthers (); 10847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 10947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 11047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Inghamvoid 11175a443b04197d18c7034968e11ce831166df3703Greg ClaytonSBExpressionOptions::SetTryAllThreads (bool run_others) 11247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 11347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham m_opaque_ap->SetRunOthers (run_others); 11447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 11547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 11647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamEvaluateExpressionOptions * 11747beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamSBExpressionOptions::get() const 11847beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 11947beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return m_opaque_ap.get(); 12047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 12147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 12247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamEvaluateExpressionOptions & 12347beabb1386be44e3f90dbc30a0b22c23b93a4dcJim InghamSBExpressionOptions::ref () const 12447beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham{ 12547beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham return *(m_opaque_ap.get()); 12647beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham} 127