LLDB mainline
ScriptedFrameProvider.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_PLUGINS_SYNTHETICFRAMEPROVIDER_SCRIPTEDFRAMEPROVIDER_SCRIPTEDFRAMEPROVIDER_H
10#define LLDB_PLUGINS_SYNTHETICFRAMEPROVIDER_SCRIPTEDFRAMEPROVIDER_SCRIPTEDFRAMEPROVIDER_H
11
14#include "lldb/Utility/Status.h"
15#include "lldb/lldb-forward.h"
16#include "llvm/Support/Error.h"
17
18namespace lldb_private {
19
21public:
22 static llvm::StringRef GetPluginNameStatic() {
23 return "ScriptedFrameProvider";
24 }
25
26 static llvm::Expected<lldb::SyntheticFrameProviderSP>
28 const ScriptedFrameProviderDescriptor &descriptor);
29
30 static void Initialize();
31
32 static void Terminate();
33
36 const ScriptedFrameProviderDescriptor &descriptor);
38
39 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
40
41 std::string GetDescription() const override;
42
43 /// Get a single stack frame at the specified index.
44 llvm::Expected<lldb::StackFrameSP> GetFrameAtIndex(uint32_t idx) override;
45
46private:
49};
50
51} // namespace lldb_private
52
53#endif // LLDB_PLUGINS_SYNTHETICFRAMEPROVIDER_SCRIPTEDFRAMEPROVIDER_SCRIPTEDFRAMEPROVIDER_H
lldb::ScriptedFrameProviderInterfaceSP m_interface_sp
static llvm::StringRef GetPluginNameStatic()
llvm::Expected< lldb::StackFrameSP > GetFrameAtIndex(uint32_t idx) override
Get a single stack frame at the specified index.
static llvm::Expected< lldb::SyntheticFrameProviderSP > CreateInstance(lldb::StackFrameListSP input_frames, const ScriptedFrameProviderDescriptor &descriptor)
ScriptedFrameProvider(lldb::StackFrameListSP input_frames, lldb::ScriptedFrameProviderInterfaceSP interface_sp, const ScriptedFrameProviderDescriptor &descriptor)
llvm::StringRef GetPluginName() override
const ScriptedFrameProviderDescriptor & m_descriptor
std::string GetDescription() const override
SyntheticFrameProvider(lldb::StackFrameListSP input_frames)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ScriptedFrameProviderInterface > ScriptedFrameProviderInterfaceSP
std::shared_ptr< lldb_private::StackFrameList > StackFrameListSP
This struct contains the metadata needed to instantiate a frame provider and optional filters to cont...