summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBFrame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBFrame.cpp')
-rw-r--r--lldb/source/API/SBFrame.cpp51
1 files changed, 34 insertions, 17 deletions
diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp
index da1d32f2e80..d51f59c2307 100644
--- a/lldb/source/API/SBFrame.cpp
+++ b/lldb/source/API/SBFrame.cpp
@@ -44,6 +44,7 @@
#include "lldb/API/SBStream.h"
#include "lldb/API/SBSymbolContext.h"
#include "lldb/API/SBThread.h"
+#include "lldb/API/SBVariablesOptions.h"
using namespace lldb;
using namespace lldb_private;
@@ -1075,7 +1076,17 @@ SBFrame::GetVariables (bool arguments,
if (frame && target)
{
lldb::DynamicValueType use_dynamic = frame->CalculateTarget()->GetPreferDynamicValue();
- value_list = GetVariables (arguments, locals, statics, in_scope_only, use_dynamic);
+ const bool include_runtime_support_values = target ? target->GetDisplayRuntimeSupportValues() : false;
+
+ SBVariablesOptions options;
+ options.SetIncludeArguments(arguments);
+ options.SetIncludeLocals(locals);
+ options.SetIncludeStatics(statics);
+ options.SetInScopeOnly(in_scope_only);
+ options.SetIncludeRuntimeSupportValues(include_runtime_support_values);
+ options.SetUseDynamic(use_dynamic);
+
+ value_list = GetVariables (options);
}
return value_list;
}
@@ -1089,22 +1100,19 @@ SBFrame::GetVariables (bool arguments,
{
ExecutionContext exe_ctx(m_opaque_sp.get());
Target *target = exe_ctx.GetTargetPtr();
- bool include_runtime_support_values = target ? target->GetDisplayRuntimeSupportValues() : false;
- return GetVariables(arguments,
- locals,
- statics,
- in_scope_only,
- include_runtime_support_values,
- use_dynamic);
+ const bool include_runtime_support_values = target ? target->GetDisplayRuntimeSupportValues() : false;
+ SBVariablesOptions options;
+ options.SetIncludeArguments(arguments);
+ options.SetIncludeLocals(locals);
+ options.SetIncludeStatics(statics);
+ options.SetInScopeOnly(in_scope_only);
+ options.SetIncludeRuntimeSupportValues(include_runtime_support_values);
+ options.SetUseDynamic(use_dynamic);
+ return GetVariables(options);
}
SBValueList
-SBFrame::GetVariables (bool arguments,
- bool locals,
- bool statics,
- bool in_scope_only,
- bool include_runtime_support_values,
- lldb::DynamicValueType use_dynamic)
+SBFrame::GetVariables (const lldb::SBVariablesOptions& options)
{
Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
@@ -1115,10 +1123,19 @@ SBFrame::GetVariables (bool arguments,
StackFrame *frame = NULL;
Target *target = exe_ctx.GetTargetPtr();
+ const bool statics = options.GetIncludeStatics();
+ const bool arguments = options.GetIncludeArguments();
+ const bool locals = options.GetIncludeLocals();
+ const bool in_scope_only = options.GetInScopeOnly();
+ const bool include_runtime_support_values = options.GetIncludeRuntimeSupportValues();
+ const lldb::DynamicValueType use_dynamic = options.GetUseDynamic();
+
if (log)
- log->Printf ("SBFrame::GetVariables (arguments=%i, locals=%i, statics=%i, in_scope_only=%i)",
- arguments, locals, statics, in_scope_only);
-
+ log->Printf ("SBFrame::GetVariables (arguments=%i, locals=%i, statics=%i, in_scope_only=%i runtime=%i dynamic=%i)",
+ arguments, locals,
+ statics, in_scope_only,
+ include_runtime_support_values, use_dynamic);
+
Process *process = exe_ctx.GetProcessPtr();
if (target && process)
{
OpenPOWER on IntegriCloud