LLDB mainline
ScriptedStackFrameRecognizerPythonInterface.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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
9#ifndef LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTACKFRAMERECOGNIZERPYTHONINTERFACE_H
10#define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTACKFRAMERECOGNIZERPYTHONINTERFACE_H
11
13
15namespace lldb_private {
16
20 public PluginInterface {
21public:
23 ScriptInterpreterPythonImpl &interpreter);
24
25 llvm::Expected<StructuredData::GenericSP>
26 CreatePluginObject(const ScriptedMetadata &scripted_metadata) override;
27
28 llvm::SmallVector<AbstractMethodRequirement>
30 return {};
31 }
32
35
36 bool ShouldHide(lldb::StackFrameSP frame_sp) override;
37
40
42
43 std::string GetStopDescription(lldb::StackFrameSP frame_sp) override;
44
45 static void Initialize();
46
47 static void Terminate();
48
49 static llvm::StringRef GetPluginNameStatic() {
50 return "ScriptedStackFrameRecognizerPythonInterface";
51 }
52
53 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
54};
55} // namespace lldb_private
56
57#endif // LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTACKFRAMERECOGNIZERPYTHONINTERFACE_H
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
lldb::ValueObjectSP GetException(lldb::StackFrameSP frame_sp) override
llvm::SmallVector< AbstractMethodRequirement > GetAbstractMethodRequirements() const override
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(const ScriptedMetadata &scripted_metadata) override
lldb::ValueObjectListSP GetRecognizedArguments(lldb::StackFrameSP frame_sp) override
@ SelectMostRelevantFrame
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::StackFrame > StackFrameSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::ValueObjectList > ValueObjectListSP