summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBVariablesOptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBVariablesOptions.cpp')
-rw-r--r--lldb/source/API/SBVariablesOptions.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/lldb/source/API/SBVariablesOptions.cpp b/lldb/source/API/SBVariablesOptions.cpp
index 1db8fc31f1e..2651ce11d02 100644
--- a/lldb/source/API/SBVariablesOptions.cpp
+++ b/lldb/source/API/SBVariablesOptions.cpp
@@ -9,6 +9,10 @@
//===----------------------------------------------------------------------===//
#include "lldb/API/SBVariablesOptions.h"
+#include "lldb/API/SBTarget.h"
+#include "lldb/Target/Target.h"
+
+#include "lldb/lldb-private.h"
using namespace lldb;
using namespace lldb_private;
@@ -16,9 +20,10 @@ using namespace lldb_private;
class VariablesOptionsImpl {
public:
VariablesOptionsImpl()
- : m_include_arguments(false), m_include_recognized_arguments(false),
- m_include_locals(false), m_include_statics(false),
- m_in_scope_only(false), m_include_runtime_support_values(false),
+ : m_include_arguments(false), m_include_locals(false),
+ m_include_statics(false), m_in_scope_only(false),
+ m_include_runtime_support_values(false),
+ m_include_recognized_arguments(eLazyBoolCalculate),
m_use_dynamic(lldb::eNoDynamicValues) {}
VariablesOptionsImpl(const VariablesOptionsImpl &) = default;
@@ -31,12 +36,14 @@ public:
void SetIncludeArguments(bool b) { m_include_arguments = b; }
- bool GetIncludeRecognizedArguments() const {
- return m_include_recognized_arguments;
+ bool GetIncludeRecognizedArguments(const lldb::TargetSP &target_sp) const {
+ if (m_include_recognized_arguments != eLazyBoolCalculate)
+ return m_include_recognized_arguments;
+ return target_sp ? target_sp->GetDisplayRecognizedArguments() : false;
}
void SetIncludeRecognizedArguments(bool b) {
- m_include_recognized_arguments = b;
+ m_include_recognized_arguments = b ? eLazyBoolYes : eLazyBoolNo;
}
bool GetIncludeLocals() const { return m_include_locals; }
@@ -65,11 +72,11 @@ public:
private:
bool m_include_arguments : 1;
- bool m_include_recognized_arguments : 1;
bool m_include_locals : 1;
bool m_include_statics : 1;
bool m_in_scope_only : 1;
bool m_include_runtime_support_values : 1;
+ LazyBool m_include_recognized_arguments; // can be overridden with a setting
lldb::DynamicValueType m_use_dynamic;
};
@@ -97,8 +104,9 @@ void SBVariablesOptions::SetIncludeArguments(bool arguments) {
m_opaque_ap->SetIncludeArguments(arguments);
}
-bool SBVariablesOptions::GetIncludeRecognizedArguments() const {
- return m_opaque_ap->GetIncludeRecognizedArguments();
+bool SBVariablesOptions::GetIncludeRecognizedArguments(
+ const lldb::SBTarget &target) const {
+ return m_opaque_ap->GetIncludeRecognizedArguments(target.GetSP());
}
void SBVariablesOptions::SetIncludeRecognizedArguments(bool arguments) {
OpenPOWER on IntegriCloud