9#include "lldb/Host/Config.h"
27using Locker = ScriptInterpreterPythonImpl::Locker;
29ScriptedFramePythonInterface::ScriptedFramePythonInterface(
30 ScriptInterpreterPythonImpl &interpreter)
33llvm::Expected<StructuredData::GenericSP>
34ScriptedFramePythonInterface::CreatePluginObject(
38 std::make_shared<ExecutionContextRef>(exe_ctx);
40 return ScriptedPythonInterface::CreatePluginObject(class_name, script_obj,
41 exe_ctx_ref_sp, sd_impl);
66std::optional<SymbolContext> ScriptedFramePythonInterface::GetSymbolContext() {
68 auto sym_ctx = Dispatch<SymbolContext>(
"get_symbol_context",
error);
71 return ErrorWithMessage<SymbolContext>(LLVM_PRETTY_FUNCTION,
78std::optional<std::string> ScriptedFramePythonInterface::GetFunctionName() {
86 return obj->GetStringValue().str();
89std::optional<std::string>
90ScriptedFramePythonInterface::GetDisplayFunctionName() {
98 return obj->GetStringValue().str();
101bool ScriptedFramePythonInterface::IsInlined() {
109 return obj->GetBooleanValue();
112bool ScriptedFramePythonInterface::IsArtificial() {
120 return obj->GetBooleanValue();
123bool ScriptedFramePythonInterface::IsHidden() {
131 return obj->GetBooleanValue();
137 Dispatch<StructuredData::DictionarySP>(
"get_register_info",
error);
146std::optional<std::string> ScriptedFramePythonInterface::GetRegisterContext() {
154 return obj->GetAsString()->GetValue().str();
static llvm::raw_ostream & error(Stream &strm)
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
static bool CheckStructuredDataObject(llvm::StringRef caller, T obj, Status &error)
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Object > ObjectSP
#define LLDB_INVALID_ADDRESS
#define LLDB_INVALID_FRAME_ID
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ExecutionContextRef > ExecutionContextRefSP