LLDB
mainline
llvm-project
lldb
include
lldb
Interpreter
Interfaces
ScriptedFrameInterface.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_INTERPRETER_INTERFACES_SCRIPTEDFRAMEINTERFACE_H
10
#define LLDB_INTERPRETER_INTERFACES_SCRIPTEDFRAMEINTERFACE_H
11
12
#include "
ScriptedInterface.h
"
13
#include "
lldb/Core/StructuredDataImpl.h
"
14
#include "
lldb/Symbol/SymbolContext.h
"
15
#include "
lldb/lldb-private.h
"
16
#include <optional>
17
#include <string>
18
19
namespace
lldb_private
{
20
class
ScriptedFrameInterface
:
virtual
public
ScriptedInterface
{
21
public
:
22
virtual
llvm::Expected<StructuredData::GenericSP>
23
CreatePluginObject
(llvm::StringRef class_name,
ExecutionContext
&exe_ctx,
24
StructuredData::DictionarySP
args_sp,
25
StructuredData::Generic
*script_obj =
nullptr
) = 0;
26
27
virtual
lldb::user_id_t
GetID
() {
return
LLDB_INVALID_FRAME_ID
; }
28
29
virtual
lldb::addr_t
GetPC
() {
return
LLDB_INVALID_ADDRESS
; }
30
31
virtual
std::optional<SymbolContext>
GetSymbolContext
() {
32
return
std::nullopt;
33
}
34
35
virtual
std::optional<std::string>
GetFunctionName
() {
return
std::nullopt; }
36
37
virtual
std::optional<std::string>
GetDisplayFunctionName
() {
38
return
std::nullopt;
39
}
40
41
virtual
bool
IsInlined
() {
return
false
; }
42
43
virtual
bool
IsArtificial
() {
return
false
; }
44
45
virtual
bool
IsHidden
() {
return
false
; }
46
47
virtual
StructuredData::DictionarySP
GetRegisterInfo
() {
return
{}; }
48
49
virtual
std::optional<std::string>
GetRegisterContext
() {
50
return
std::nullopt;
51
}
52
};
53
}
// namespace lldb_private
54
55
#endif
// LLDB_INTERPRETER_INTERFACES_SCRIPTEDFRAMEINTERFACE_H
ScriptedInterface.h
StructuredDataImpl.h
SymbolContext.h
lldb_private::ExecutionContext
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
Definition
ExecutionContext.h:293
lldb_private::ScriptedFrameInterface
Definition
ScriptedFrameInterface.h:20
lldb_private::ScriptedFrameInterface::IsHidden
virtual bool IsHidden()
Definition
ScriptedFrameInterface.h:45
lldb_private::ScriptedFrameInterface::GetRegisterInfo
virtual StructuredData::DictionarySP GetRegisterInfo()
Definition
ScriptedFrameInterface.h:47
lldb_private::ScriptedFrameInterface::GetPC
virtual lldb::addr_t GetPC()
Definition
ScriptedFrameInterface.h:29
lldb_private::ScriptedFrameInterface::GetID
virtual lldb::user_id_t GetID()
Definition
ScriptedFrameInterface.h:27
lldb_private::ScriptedFrameInterface::IsArtificial
virtual bool IsArtificial()
Definition
ScriptedFrameInterface.h:43
lldb_private::ScriptedFrameInterface::CreatePluginObject
virtual llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj=nullptr)=0
lldb_private::ScriptedFrameInterface::GetRegisterContext
virtual std::optional< std::string > GetRegisterContext()
Definition
ScriptedFrameInterface.h:49
lldb_private::ScriptedFrameInterface::GetDisplayFunctionName
virtual std::optional< std::string > GetDisplayFunctionName()
Definition
ScriptedFrameInterface.h:37
lldb_private::ScriptedFrameInterface::GetFunctionName
virtual std::optional< std::string > GetFunctionName()
Definition
ScriptedFrameInterface.h:35
lldb_private::ScriptedFrameInterface::IsInlined
virtual bool IsInlined()
Definition
ScriptedFrameInterface.h:41
lldb_private::ScriptedFrameInterface::GetSymbolContext
virtual std::optional< SymbolContext > GetSymbolContext()
Definition
ScriptedFrameInterface.h:31
lldb_private::ScriptedInterface::ScriptedInterface
ScriptedInterface()=default
lldb_private::StructuredData::Generic
Definition
StructuredData.h:558
lldb_private::StructuredData::DictionarySP
std::shared_ptr< Dictionary > DictionarySP
Definition
StructuredData.h:73
LLDB_INVALID_ADDRESS
#define LLDB_INVALID_ADDRESS
Definition
lldb-defines.h:82
LLDB_INVALID_FRAME_ID
#define LLDB_INVALID_FRAME_ID
Definition
lldb-defines.h:91
lldb-private.h
lldb_private
A class that represents a running process on the host machine.
Definition
SBAddressRange.h:14
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