LLDB mainline
SBVariablesOptions.cpp
Go to the documentation of this file.
1//===-- SBVariablesOptions.cpp --------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
10#include "lldb/API/SBTarget.h"
11#include "lldb/Target/Target.h"
13
14#include "lldb/lldb-private.h"
15
16using namespace lldb;
17using namespace lldb_private;
18
20public:
25
27
29
31
33
35
36 bool GetIncludeRecognizedArguments(const lldb::TargetSP &target_sp) const {
39 return target_sp ? target_sp->GetDisplayRecognizedArguments() : false;
40 }
41
44 }
45
46 bool GetIncludeLocals() const { return m_include_locals; }
47
48 void SetIncludeLocals(bool b) { m_include_locals = b; }
49
50 bool GetIncludeStatics() const { return m_include_statics; }
51
53
54 bool GetInScopeOnly() const { return m_in_scope_only; }
55
56 void SetInScopeOnly(bool b) { m_in_scope_only = b; }
57
60 }
61
64 }
65
67
69
70private:
77 eLazyBoolCalculate; // can be overridden with a setting
79};
80
82 : m_opaque_up(new VariablesOptionsImpl()) {
84}
85
87 : m_opaque_up(new VariablesOptionsImpl(options.ref())) {
88 LLDB_INSTRUMENT_VA(this, options);
89}
90
92operator=(const SBVariablesOptions &options) {
93 LLDB_INSTRUMENT_VA(this, options);
94
95 m_opaque_up = std::make_unique<VariablesOptionsImpl>(options.ref());
96 return *this;
97}
98
100
102 LLDB_INSTRUMENT_VA(this);
103 return this->operator bool();
104}
105SBVariablesOptions::operator bool() const {
106 LLDB_INSTRUMENT_VA(this);
107
108 return m_opaque_up != nullptr;
109}
110
112 LLDB_INSTRUMENT_VA(this);
113
114 return m_opaque_up->GetIncludeArguments();
115}
116
118 LLDB_INSTRUMENT_VA(this, arguments);
119
120 m_opaque_up->SetIncludeArguments(arguments);
121}
122
124 const lldb::SBTarget &target) const {
125 LLDB_INSTRUMENT_VA(this, target);
126
127 return m_opaque_up->GetIncludeRecognizedArguments(target.GetSP());
128}
129
131 LLDB_INSTRUMENT_VA(this, arguments);
132
133 m_opaque_up->SetIncludeRecognizedArguments(arguments);
134}
135
137 LLDB_INSTRUMENT_VA(this);
138
139 return m_opaque_up->GetIncludeLocals();
140}
141
143 LLDB_INSTRUMENT_VA(this, locals);
144
145 m_opaque_up->SetIncludeLocals(locals);
146}
147
149 LLDB_INSTRUMENT_VA(this);
150
151 return m_opaque_up->GetIncludeStatics();
152}
153
155 LLDB_INSTRUMENT_VA(this, statics);
156
157 m_opaque_up->SetIncludeStatics(statics);
158}
159
161 LLDB_INSTRUMENT_VA(this);
162
163 return m_opaque_up->GetInScopeOnly();
164}
165
166void SBVariablesOptions::SetInScopeOnly(bool in_scope_only) {
167 LLDB_INSTRUMENT_VA(this, in_scope_only);
168
169 m_opaque_up->SetInScopeOnly(in_scope_only);
170}
171
173 LLDB_INSTRUMENT_VA(this);
174
175 return m_opaque_up->GetIncludeRuntimeSupportValues();
176}
177
179 bool runtime_support_values) {
180 LLDB_INSTRUMENT_VA(this, runtime_support_values);
181
182 m_opaque_up->SetIncludeRuntimeSupportValues(runtime_support_values);
183}
184
186 LLDB_INSTRUMENT_VA(this);
187
188 return m_opaque_up->GetUseDynamic();
189}
190
192 LLDB_INSTRUMENT_VA(this, dynamic);
193
194 m_opaque_up->SetUseDynamic(dynamic);
195}
196
198 return m_opaque_up.operator->();
199}
200
202 return m_opaque_up.operator->();
203}
204
206
208
210 return *m_opaque_up;
211}
212
214 : m_opaque_up(std::move(lldb_object_ptr)) {}
215
217 m_opaque_up.reset(std::move(lldb_object_ptr));
218}
#define LLDB_INSTRUMENT_VA(...)
VariablesOptionsImpl(const VariablesOptionsImpl &)=default
bool GetIncludeRuntimeSupportValues() const
void SetIncludeRecognizedArguments(bool b)
bool GetIncludeArguments() const
void SetUseDynamic(lldb::DynamicValueType d)
lldb::DynamicValueType m_use_dynamic
void SetIncludeArguments(bool b)
VariablesOptionsImpl & operator=(const VariablesOptionsImpl &)=default
~VariablesOptionsImpl()=default
bool GetIncludeRecognizedArguments(const lldb::TargetSP &target_sp) const
void SetIncludeRuntimeSupportValues(bool b)
lldb::DynamicValueType GetUseDynamic() const
lldb::TargetSP GetSP() const
Definition: SBTarget.cpp:585
SBVariablesOptions & operator=(const SBVariablesOptions &options)
void SetOptions(VariablesOptionsImpl *lldb_object_ptr)
bool GetIncludeRuntimeSupportValues() const
std::unique_ptr< VariablesOptionsImpl > m_opaque_up
lldb::DynamicValueType GetUseDynamic() const
VariablesOptionsImpl & ref()
VariablesOptionsImpl * operator->()
void SetUseDynamic(lldb::DynamicValueType)
VariablesOptionsImpl * get()
bool GetIncludeRecognizedArguments(const lldb::SBTarget &) const
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14
Definition: SBAddress.h:15
std::shared_ptr< lldb_private::Target > TargetSP
Definition: lldb-forward.h:436
@ eNoDynamicValues