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
104254721Semastebool
105254721SemasteSBExpressionOptions::GetTryAllThreads () const
106254721Semaste{
107254721Semaste    return m_opaque_ap->GetRunOthers ();
108254721Semaste}
109254721Semaste
110254721Semastevoid
111254721SemasteSBExpressionOptions::SetTryAllThreads (bool run_others)
112254721Semaste{
113254721Semaste    m_opaque_ap->SetRunOthers (run_others);
114254721Semaste}
115254721Semaste
116254721SemasteEvaluateExpressionOptions *
117254721SemasteSBExpressionOptions::get() const
118254721Semaste{
119254721Semaste    return m_opaque_ap.get();
120254721Semaste}
121254721Semaste
122254721SemasteEvaluateExpressionOptions &
123254721SemasteSBExpressionOptions::ref () const
124254721Semaste{
125254721Semaste    return *(m_opaque_ap.get());
126254721Semaste}
127