blob: ae1c8f99df30466c98c555a21cb3f6642ef0fbb5 [file] [log] [blame]
Jim Ingham35e1bda2012-10-16 21:41:58 +00001//===-- 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
Greg Claytoncced1562012-10-16 22:58:25 +000019SBExpressionOptions::SBExpressionOptions () :
20 m_opaque_ap(new EvaluateExpressionOptions())
Jim Ingham35e1bda2012-10-16 21:41:58 +000021{
Jim Ingham35e1bda2012-10-16 21:41:58 +000022}
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
Greg Claytoncced1562012-10-16 22:58:25 +000045SBExpressionOptions::GetCoerceResultToId () const
Jim Ingham35e1bda2012-10-16 21:41:58 +000046{
47 return m_opaque_ap->DoesCoerceToId ();
48}
49
50void
Greg Claytoncced1562012-10-16 22:58:25 +000051SBExpressionOptions::SetCoerceResultToId (bool coerce)
Jim Ingham35e1bda2012-10-16 21:41:58 +000052{
53 m_opaque_ap->SetCoerceToId (coerce);
54}
55
56bool
Greg Claytoncced1562012-10-16 22:58:25 +000057SBExpressionOptions::GetUnwindOnError () const
Jim Ingham35e1bda2012-10-16 21:41:58 +000058{
59 return m_opaque_ap->DoesUnwindOnError ();
60}
61
62void
63SBExpressionOptions::SetUnwindOnError (bool unwind)
64{
65 m_opaque_ap->SetUnwindOnError (unwind);
66}
67
Jim Ingham184e9812013-01-15 02:47:48 +000068bool
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
Jim Ingham35e1bda2012-10-16 21:41:58 +000080lldb::DynamicValueType
Greg Claytoncced1562012-10-16 22:58:25 +000081SBExpressionOptions::GetFetchDynamicValue () const
Jim Ingham35e1bda2012-10-16 21:41:58 +000082{
83 return m_opaque_ap->GetUseDynamic ();
84}
85
86void
Greg Claytoncced1562012-10-16 22:58:25 +000087SBExpressionOptions::SetFetchDynamicValue (lldb::DynamicValueType dynamic)
Jim Ingham35e1bda2012-10-16 21:41:58 +000088{
89 m_opaque_ap->SetUseDynamic (dynamic);
90}
91
92uint32_t
Greg Claytoncced1562012-10-16 22:58:25 +000093SBExpressionOptions::GetTimeoutInMicroSeconds () const
Jim Ingham35e1bda2012-10-16 21:41:58 +000094{
95 return m_opaque_ap->GetTimeoutUsec ();
96}
97
98void
Greg Claytoncced1562012-10-16 22:58:25 +000099SBExpressionOptions::SetTimeoutInMicroSeconds (uint32_t timeout)
Jim Ingham35e1bda2012-10-16 21:41:58 +0000100{
101 m_opaque_ap->SetTimeoutUsec (timeout);
102}
103
104bool
Greg Claytoncced1562012-10-16 22:58:25 +0000105SBExpressionOptions::GetTryAllThreads () const
Jim Ingham35e1bda2012-10-16 21:41:58 +0000106{
Jim Ingham6fbc48b2013-11-07 00:11:47 +0000107 return m_opaque_ap->GetTryAllThreads ();
Jim Ingham35e1bda2012-10-16 21:41:58 +0000108}
109
110void
Greg Claytoncced1562012-10-16 22:58:25 +0000111SBExpressionOptions::SetTryAllThreads (bool run_others)
Jim Ingham35e1bda2012-10-16 21:41:58 +0000112{
Jim Ingham6fbc48b2013-11-07 00:11:47 +0000113 m_opaque_ap->SetTryAllThreads (run_others);
114}
115
116bool
117SBExpressionOptions::GetTrapExceptions () const
118{
119 return m_opaque_ap->GetTrapExceptions ();
120}
121
122void
123SBExpressionOptions::SetTrapExceptions (bool trap_exceptions)
124{
125 m_opaque_ap->SetTrapExceptions (trap_exceptions);
Jim Ingham35e1bda2012-10-16 21:41:58 +0000126}
127
128EvaluateExpressionOptions *
129SBExpressionOptions::get() const
130{
131 return m_opaque_ap.get();
132}
133
134EvaluateExpressionOptions &
135SBExpressionOptions::ref () const
136{
137 return *(m_opaque_ap.get());
138}