blob: 0c26a45e0e7e34a00068a7b75de30c67b23e4a16 [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
Jim Ingham914f4e72014-03-28 21:58:28 +0000104uint32_t
105SBExpressionOptions::GetOneThreadTimeoutInMicroSeconds () const
106{
107 return m_opaque_ap->GetOneThreadTimeoutUsec ();
108}
109
110void
111SBExpressionOptions::SetOneThreadTimeoutInMicroSeconds (uint32_t timeout)
112{
113 m_opaque_ap->SetOneThreadTimeoutUsec (timeout);
114}
115
Jim Ingham35e1bda2012-10-16 21:41:58 +0000116bool
Greg Claytoncced1562012-10-16 22:58:25 +0000117SBExpressionOptions::GetTryAllThreads () const
Jim Ingham35e1bda2012-10-16 21:41:58 +0000118{
Jim Ingham6fbc48b2013-11-07 00:11:47 +0000119 return m_opaque_ap->GetTryAllThreads ();
Jim Ingham35e1bda2012-10-16 21:41:58 +0000120}
121
122void
Greg Claytoncced1562012-10-16 22:58:25 +0000123SBExpressionOptions::SetTryAllThreads (bool run_others)
Jim Ingham35e1bda2012-10-16 21:41:58 +0000124{
Jim Ingham6fbc48b2013-11-07 00:11:47 +0000125 m_opaque_ap->SetTryAllThreads (run_others);
126}
127
128bool
Jim Ingham286fb1e2014-02-28 02:52:06 +0000129SBExpressionOptions::GetStopOthers () const
130{
131 return m_opaque_ap->GetStopOthers ();
132}
133
134void
135SBExpressionOptions::SetStopOthers (bool run_others)
136{
137 m_opaque_ap->SetStopOthers (run_others);
138}
139
140bool
Jim Ingham6fbc48b2013-11-07 00:11:47 +0000141SBExpressionOptions::GetTrapExceptions () const
142{
143 return m_opaque_ap->GetTrapExceptions ();
144}
145
146void
147SBExpressionOptions::SetTrapExceptions (bool trap_exceptions)
148{
149 m_opaque_ap->SetTrapExceptions (trap_exceptions);
Jim Ingham35e1bda2012-10-16 21:41:58 +0000150}
151
Jim Ingham1624a2d2014-05-05 02:26:40 +0000152void
153SBExpressionOptions::SetCancelCallback (lldb::ExpressionCancelCallback callback, void *baton)
154{
155 m_opaque_ap->SetCancelCallback (callback, baton);
156}
157
Jim Ingham35e1bda2012-10-16 21:41:58 +0000158EvaluateExpressionOptions *
159SBExpressionOptions::get() const
160{
161 return m_opaque_ap.get();
162}
163
164EvaluateExpressionOptions &
165SBExpressionOptions::ref () const
166{
167 return *(m_opaque_ap.get());
168}