LLDB
mainline
llvm-project
lldb
source
Plugins
ScriptInterpreter
Python
Interfaces
ScriptedFramePythonInterface.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_SCRIPTEDFRAMEPYTHONINTERFACE_H
10
#define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDFRAMEPYTHONINTERFACE_H
11
12
#include "
ScriptedPythonInterface.h
"
13
#include "
lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
"
14
#include <optional>
15
16
namespace
lldb_private
{
17
class
ScriptedFramePythonInterface
:
public
ScriptedFrameInterface
,
18
public
ScriptedPythonInterface
{
19
public
:
20
ScriptedFramePythonInterface
(
ScriptInterpreterPythonImpl
&interpreter);
21
22
llvm::Expected<StructuredData::GenericSP>
23
CreatePluginObject
(llvm::StringRef class_name,
ExecutionContext
&exe_ctx,
24
StructuredData::DictionarySP
args_sp,
25
StructuredData::Generic
*script_obj =
nullptr
)
override
;
26
27
llvm::SmallVector<AbstractMethodRequirement>
28
GetAbstractMethodRequirements
()
const override
{
29
return
llvm::SmallVector<AbstractMethodRequirement>({{
"get_id"
}});
30
}
31
32
lldb::user_id_t
GetID
()
override
;
33
34
lldb::addr_t
GetPC
()
override
;
35
36
std::optional<SymbolContext>
GetSymbolContext
()
override
;
37
38
std::optional<std::string>
GetFunctionName
()
override
;
39
40
std::optional<std::string>
GetDisplayFunctionName
()
override
;
41
42
bool
IsInlined
()
override
;
43
44
bool
IsArtificial
()
override
;
45
46
bool
IsHidden
()
override
;
47
48
StructuredData::DictionarySP
GetRegisterInfo
()
override
;
49
50
std::optional<std::string>
GetRegisterContext
()
override
;
51
52
lldb::ValueObjectListSP
GetVariables
()
override
;
53
54
lldb::ValueObjectSP
55
GetValueObjectForVariableExpression
(llvm::StringRef expr, uint32_t options,
56
Status
&status)
override
;
57
};
58
}
// namespace lldb_private
59
60
#endif
// LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDFRAMEPYTHONINTERFACE_H
ScriptedFrameInterface.h
ScriptedPythonInterface.h
lldb_private::ExecutionContext
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
Definition
ExecutionContext.h:317
lldb_private::ScriptInterpreterPythonImpl
Definition
ScriptInterpreterPythonImpl.h:25
lldb_private::ScriptedFrameInterface
Definition
ScriptedFrameInterface.h:21
lldb_private::ScriptedFramePythonInterface::GetRegisterContext
std::optional< std::string > GetRegisterContext() override
Definition
ScriptedFramePythonInterface.cpp:144
lldb_private::ScriptedFramePythonInterface::GetID
lldb::user_id_t GetID() override
Definition
ScriptedFramePythonInterface.cpp:42
lldb_private::ScriptedFramePythonInterface::IsHidden
bool IsHidden() override
Definition
ScriptedFramePythonInterface.cpp:121
lldb_private::ScriptedFramePythonInterface::GetPC
lldb::addr_t GetPC() override
Definition
ScriptedFramePythonInterface.cpp:53
lldb_private::ScriptedFramePythonInterface::GetVariables
lldb::ValueObjectListSP GetVariables() override
Definition
ScriptedFramePythonInterface.cpp:155
lldb_private::ScriptedFramePythonInterface::GetDisplayFunctionName
std::optional< std::string > GetDisplayFunctionName() override
Definition
ScriptedFramePythonInterface.cpp:88
lldb_private::ScriptedFramePythonInterface::GetAbstractMethodRequirements
llvm::SmallVector< AbstractMethodRequirement > GetAbstractMethodRequirements() const override
Definition
ScriptedFramePythonInterface.h:28
lldb_private::ScriptedFramePythonInterface::GetSymbolContext
std::optional< SymbolContext > GetSymbolContext() override
Definition
ScriptedFramePythonInterface.cpp:64
lldb_private::ScriptedFramePythonInterface::GetRegisterInfo
StructuredData::DictionarySP GetRegisterInfo() override
Definition
ScriptedFramePythonInterface.cpp:132
lldb_private::ScriptedFramePythonInterface::IsInlined
bool IsInlined() override
Definition
ScriptedFramePythonInterface.cpp:99
lldb_private::ScriptedFramePythonInterface::GetValueObjectForVariableExpression
lldb::ValueObjectSP GetValueObjectForVariableExpression(llvm::StringRef expr, uint32_t options, Status &status) override
Definition
ScriptedFramePythonInterface.cpp:168
lldb_private::ScriptedFramePythonInterface::GetFunctionName
std::optional< std::string > GetFunctionName() override
Definition
ScriptedFramePythonInterface.cpp:76
lldb_private::ScriptedFramePythonInterface::IsArtificial
bool IsArtificial() override
Definition
ScriptedFramePythonInterface.cpp:110
lldb_private::ScriptedFramePythonInterface::CreatePluginObject
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj=nullptr) override
Definition
ScriptedFramePythonInterface.cpp:32
lldb_private::ScriptedFramePythonInterface::ScriptedFramePythonInterface
ScriptedFramePythonInterface(ScriptInterpreterPythonImpl &interpreter)
Definition
ScriptedFramePythonInterface.cpp:27
lldb_private::ScriptedPythonInterface::ScriptedPythonInterface
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
Definition
ScriptedPythonInterface.cpp:25
lldb_private::Status
An error handling class.
Definition
Status.h:118
lldb_private::StructuredData::Generic
Definition
StructuredData.h:558
lldb_private::StructuredData::DictionarySP
std::shared_ptr< Dictionary > DictionarySP
Definition
StructuredData.h:73
lldb_private
A class that represents a running process on the host machine.
Definition
SBAddressRange.h:14
lldb::ValueObjectSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
Definition
lldb-forward.h:502
lldb::ValueObjectListSP
std::shared_ptr< lldb_private::ValueObjectList > ValueObjectListSP
Definition
lldb-forward.h:506
lldb::user_id_t
uint64_t user_id_t
Definition
lldb-types.h:82
lldb::addr_t
uint64_t addr_t
Definition
lldb-types.h:80
Generated on
for LLDB by
1.14.0