diff options
Diffstat (limited to 'source/Target/StackFrameRecognizer.cpp')
-rw-r--r-- | source/Target/StackFrameRecognizer.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/source/Target/StackFrameRecognizer.cpp b/source/Target/StackFrameRecognizer.cpp index 152f4a198e20..567d694bf093 100644 --- a/source/Target/StackFrameRecognizer.cpp +++ b/source/Target/StackFrameRecognizer.cpp @@ -1,9 +1,8 @@ //===-- StackFrameRecognizer.cpp --------------------------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// @@ -18,8 +17,6 @@ using namespace lldb; using namespace lldb_private; -#ifndef LLDB_DISABLE_PYTHON - class ScriptedRecognizedStackFrame : public RecognizedStackFrame { public: ScriptedRecognizedStackFrame(ValueObjectListSP args) { @@ -41,16 +38,20 @@ ScriptedStackFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame) { ValueObjectListSP args = m_interpreter->GetRecognizedArguments(m_python_object_sp, frame); + auto args_synthesized = ValueObjectListSP(new ValueObjectList()); + for (const auto o : args->GetObjects()) { + args_synthesized->Append(ValueObjectRecognizerSynthesizedValue::Create( + *o, eValueTypeVariableArgument)); + } - return RecognizedStackFrameSP(new ScriptedRecognizedStackFrame(args)); + return RecognizedStackFrameSP( + new ScriptedRecognizedStackFrame(args_synthesized)); } -#endif - class StackFrameRecognizerManagerImpl { public: void AddRecognizer(StackFrameRecognizerSP recognizer, - const ConstString &module, const ConstString &symbol, + ConstString module, ConstString symbol, bool first_instruction_only) { m_recognizers.push_front({(uint32_t)m_recognizers.size(), false, recognizer, false, module, RegularExpressionSP(), symbol, RegularExpressionSP(), @@ -153,8 +154,8 @@ StackFrameRecognizerManagerImpl &GetStackFrameRecognizerManagerImpl() { } void StackFrameRecognizerManager::AddRecognizer( - StackFrameRecognizerSP recognizer, const ConstString &module, - const ConstString &symbol, bool first_instruction_only) { + StackFrameRecognizerSP recognizer, ConstString module, + ConstString symbol, bool first_instruction_only) { GetStackFrameRecognizerManagerImpl().AddRecognizer(recognizer, module, symbol, first_instruction_only); } |