@@ -762,26 +762,23 @@ SBFrame::WasInterrupted SBFrame::FetchVariablesUnlessInterrupted(
762762 return WasInterrupted::No;
763763}
764764
765- void SBFrame::FetchRecognizedArguments (const SBVariablesOptions &options,
766- StackFrame &frame, SBTarget target,
767- SBValueList &value_list) {
765+ // / Populates `value_list` with recognized arguments of `frame` according to
766+ // / `options`.
767+ static llvm::SmallVector<ValueObjectSP>
768+ FetchRecognizedArguments (const SBVariablesOptions &options, StackFrame &frame,
769+ SBTarget target) {
768770 if (!options.GetIncludeRecognizedArguments (target))
769- return ;
771+ return {} ;
770772 RecognizedStackFrameSP recognized_frame = frame.GetRecognizedFrame ();
771773 if (!recognized_frame)
772- return ;
774+ return {} ;
773775
774776 ValueObjectListSP recognized_arg_list =
775777 recognized_frame->GetRecognizedArguments ();
776778 if (!recognized_arg_list)
777- return ;
779+ return {} ;
778780
779- const lldb::DynamicValueType use_dynamic = options.GetUseDynamic ();
780- for (auto &rec_value_sp : recognized_arg_list->GetObjects ()) {
781- SBValue value_sb;
782- value_sb.SetSP (rec_value_sp, use_dynamic);
783- value_list.Append (value_sb);
784- }
781+ return llvm::to_vector (recognized_arg_list->GetObjects ());
785782}
786783
787784SBValueList SBFrame::GetVariables (const lldb::SBVariablesOptions &options) {
@@ -804,8 +801,14 @@ SBValueList SBFrame::GetVariables(const lldb::SBVariablesOptions &options) {
804801 exe_ctx->GetTargetPtr ()->GetDebugger ()))
805802 return value_list;
806803
807- FetchRecognizedArguments (options, *frame, SBTarget (exe_ctx->GetTargetSP ()),
808- value_list);
804+ const lldb::DynamicValueType use_dynamic = options.GetUseDynamic ();
805+ llvm::SmallVector<ValueObjectSP> args = FetchRecognizedArguments (
806+ options, *frame, SBTarget (exe_ctx->GetTargetSP ()));
807+ for (ValueObjectSP arg : args) {
808+ SBValue value_sb;
809+ value_sb.SetSP (arg, use_dynamic);
810+ value_list.Append (value_sb);
811+ }
809812 return value_list;
810813}
811814
0 commit comments