1254721Semaste//===-- SBExpressionOptions.cpp ---------------------------------------------*- C++ -*-===//
2254721Semaste//
3254721Semaste//                     The LLVM Compiler Infrastructure
4254721Semaste//
5254721Semaste// This file is distributed under the University of Illinois Open Source
6254721Semaste// License. See LICENSE.TXT for details.
7254721Semaste//
8254721Semaste//===----------------------------------------------------------------------===//
9254721Semaste
10254721Semaste#include "lldb/API/SBExpressionOptions.h"
11254721Semaste#include "lldb/API/SBStream.h"
12254721Semaste
13254721Semaste#include "lldb/Target/Target.h"
14254721Semaste
15254721Semasteusing namespace lldb;
16254721Semasteusing namespace lldb_private;
17254721Semaste
18254721Semaste
19254721SemasteSBExpressionOptions::SBExpressionOptions () :
20254721Semaste    m_opaque_ap(new EvaluateExpressionOptions())
21254721Semaste{
22254721Semaste}
23254721Semaste
24254721SemasteSBExpressionOptions::SBExpressionOptions (const SBExpressionOptions &rhs)
25254721Semaste{
26254721Semaste    m_opaque_ap.reset(new EvaluateExpressionOptions());
27254721Semaste    *(m_opaque_ap.get()) = rhs.ref();
28254721Semaste}
29254721Semaste
30254721Semasteconst SBExpressionOptions &
31254721SemasteSBExpressionOptions::operator = (const SBExpressionOptions &rhs)
32254721Semaste{
33254721Semaste    if (this != &rhs)
34254721Semaste    {
35254721Semaste        this->ref() = rhs.ref();
36254721Semaste    }
37254721Semaste    return *this;
38254721Semaste}
39254721Semaste
40254721SemasteSBExpressionOptions::~SBExpressionOptions()
41254721Semaste{
42254721Semaste}
43254721Semaste
44254721Semastebool
45254721SemasteSBExpressionOptions::GetCoerceResultToId () const
46254721Semaste{
47254721Semaste    return m_opaque_ap->DoesCoerceToId ();
48254721Semaste}
49254721Semaste
50254721Semastevoid
51254721SemasteSBExpressionOptions::SetCoerceResultToId (bool coerce)
52254721Semaste{
53254721Semaste    m_opaque_ap->SetCoerceToId (coerce);
54254721Semaste}
55254721Semaste
56254721Semastebool
57254721SemasteSBExpressionOptions::GetUnwindOnError () const
58254721Semaste{
59254721Semaste    return m_opaque_ap->DoesUnwindOnError ();
60254721Semaste}
61254721Semaste
62254721Semastevoid
63254721SemasteSBExpressionOptions::SetUnwindOnError (bool unwind)
64254721Semaste{
65254721Semaste    m_opaque_ap->SetUnwindOnError (unwind);
66254721Semaste}
67254721Semaste
68254721Semastebool
69254721SemasteSBExpressionOptions::GetIgnoreBreakpoints () const
70254721Semaste{
71254721Semaste    return m_opaque_ap->DoesIgnoreBreakpoints ();
72254721Semaste}
73254721Semaste
74254721Semastevoid
75254721SemasteSBExpressionOptions::SetIgnoreBreakpoints (bool ignore)
76254721Semaste{
77254721Semaste    m_opaque_ap->SetIgnoreBreakpoints (ignore);
78254721Semaste}
79254721Semaste
80254721Semastelldb::DynamicValueType
81254721SemasteSBExpressionOptions::GetFetchDynamicValue () const
82254721Semaste{
83254721Semaste    return m_opaque_ap->GetUseDynamic ();
84254721Semaste}
85254721Semaste
86254721Semastevoid
87254721SemasteSBExpressionOptions::SetFetchDynamicValue (lldb::DynamicValueType dynamic)
88254721Semaste{
89254721Semaste    m_opaque_ap->SetUseDynamic (dynamic);
90254721Semaste}
91254721Semaste
92254721Semasteuint32_t
93254721SemasteSBExpressionOptions::GetTimeoutInMicroSeconds () const
94254721Semaste{
95254721Semaste    return m_opaque_ap->GetTimeoutUsec ();
96254721Semaste}
97254721Semaste
98254721Semastevoid
99254721SemasteSBExpressionOptions::SetTimeoutInMicroSeconds (uint32_t timeout)
100254721Semaste{
101254721Semaste    m_opaque_ap->SetTimeoutUsec (timeout);
102254721Semaste}
103254721Semaste
104276479Sdimuint32_t
105276479SdimSBExpressionOptions::GetOneThreadTimeoutInMicroSeconds () const
106276479Sdim{
107276479Sdim    return m_opaque_ap->GetOneThreadTimeoutUsec ();
108276479Sdim}
109276479Sdim
110276479Sdimvoid
111276479SdimSBExpressionOptions::SetOneThreadTimeoutInMicroSeconds (uint32_t timeout)
112276479Sdim{
113276479Sdim    m_opaque_ap->SetOneThreadTimeoutUsec (timeout);
114276479Sdim}
115276479Sdim
116254721Semastebool
117254721SemasteSBExpressionOptions::GetTryAllThreads () const
118254721Semaste{
119258884Semaste    return m_opaque_ap->GetTryAllThreads ();
120254721Semaste}
121254721Semaste
122254721Semastevoid
123254721SemasteSBExpressionOptions::SetTryAllThreads (bool run_others)
124254721Semaste{
125258884Semaste    m_opaque_ap->SetTryAllThreads (run_others);
126254721Semaste}
127254721Semaste
128258884Semastebool
129276479SdimSBExpressionOptions::GetStopOthers () const
130276479Sdim{
131276479Sdim    return m_opaque_ap->GetStopOthers ();
132276479Sdim}
133276479Sdim
134276479Sdimvoid
135276479SdimSBExpressionOptions::SetStopOthers (bool run_others)
136276479Sdim{
137276479Sdim    m_opaque_ap->SetStopOthers (run_others);
138276479Sdim}
139276479Sdim
140276479Sdimbool
141258884SemasteSBExpressionOptions::GetTrapExceptions () const
142258884Semaste{
143258884Semaste    return m_opaque_ap->GetTrapExceptions ();
144258884Semaste}
145258884Semaste
146258884Semastevoid
147258884SemasteSBExpressionOptions::SetTrapExceptions (bool trap_exceptions)
148258884Semaste{
149258884Semaste    m_opaque_ap->SetTrapExceptions (trap_exceptions);
150258884Semaste}
151258884Semaste
152276479Sdimvoid
153276479SdimSBExpressionOptions::SetLanguage (lldb::LanguageType language)
154276479Sdim{
155276479Sdim    m_opaque_ap->SetLanguage(language);
156276479Sdim}
157276479Sdim
158276479Sdimvoid
159276479SdimSBExpressionOptions::SetCancelCallback (lldb::ExpressionCancelCallback callback, void *baton)
160276479Sdim{
161276479Sdim    m_opaque_ap->SetCancelCallback (callback, baton);
162276479Sdim}
163276479Sdim
164276479Sdimbool
165276479SdimSBExpressionOptions::GetGenerateDebugInfo ()
166276479Sdim{
167276479Sdim    return m_opaque_ap->GetGenerateDebugInfo();
168276479Sdim}
169276479Sdim
170276479Sdimvoid
171276479SdimSBExpressionOptions::SetGenerateDebugInfo (bool b)
172276479Sdim{
173276479Sdim    return m_opaque_ap->SetGenerateDebugInfo(b);
174276479Sdim}
175276479Sdim
176276479Sdimbool
177276479SdimSBExpressionOptions::GetSuppressPersistentResult ()
178276479Sdim{
179276479Sdim    return m_opaque_ap->GetResultIsInternal ();
180276479Sdim}
181276479Sdim
182276479Sdimvoid
183276479SdimSBExpressionOptions::SetSuppressPersistentResult (bool b)
184276479Sdim{
185276479Sdim    return m_opaque_ap->SetResultIsInternal (b);
186276479Sdim}
187276479Sdim
188288943Sdimconst char *
189288943SdimSBExpressionOptions::GetPrefix () const
190288943Sdim{
191288943Sdim    return m_opaque_ap->GetPrefix();
192288943Sdim}
193276479Sdim
194288943Sdimvoid
195288943SdimSBExpressionOptions::SetPrefix (const char *prefix)
196288943Sdim{
197288943Sdim    return m_opaque_ap->SetPrefix(prefix);
198288943Sdim}
199288943Sdim
200254721SemasteEvaluateExpressionOptions *
201254721SemasteSBExpressionOptions::get() const
202254721Semaste{
203254721Semaste    return m_opaque_ap.get();
204254721Semaste}
205254721Semaste
206254721SemasteEvaluateExpressionOptions &
207254721SemasteSBExpressionOptions::ref () const
208254721Semaste{
209254721Semaste    return *(m_opaque_ap.get());
210254721Semaste}
211