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/API/SBValueList.h
"
14
#include "
lldb/Core/StructuredDataImpl.h
"
15
#include "
lldb/Symbol/SymbolContext.h
"
16
#include "
lldb/lldb-private.h
"
17
#include <optional>
18
#include <string>
19
20
namespace
lldb_private
{
21
class
ScriptedFrameInterface
:
virtual
public
ScriptedInterface
{
22
public
:
23
virtual
llvm::Expected<StructuredData::GenericSP>
24
CreatePluginObject
(llvm::StringRef class_name,
ExecutionContext
&exe_ctx,
25
StructuredData::DictionarySP
args_sp,
26
StructuredData::Generic
*script_obj =
nullptr
) = 0;
27
28
virtual
lldb::user_id_t
GetID
() {
return
LLDB_INVALID_FRAME_ID
; }
29
30
virtual
lldb::addr_t
GetPC
() {
return
LLDB_INVALID_ADDRESS
; }
31
32
virtual
std::optional<SymbolContext>
GetSymbolContext
() {
33
return
std::nullopt;
34
}
35
36
virtual
std::optional<std::string>
GetFunctionName
() {
return
std::nullopt; }
37
38
virtual
std::optional<std::string>
GetDisplayFunctionName
() {
39
return
std::nullopt;
40
}
41
42
virtual
bool
IsInlined
() {
return
false
; }
43
44
virtual
bool
IsArtificial
() {
return
false
; }
45
46
virtual
bool
IsHidden
() {
return
false
; }
47
48
virtual
StructuredData::DictionarySP
GetRegisterInfo
() {
return
{}; }
49
50
virtual
std::optional<std::string>
GetRegisterContext
() {
51
return
std::nullopt;
52
}
53
54
virtual
lldb::ValueObjectListSP
GetVariables
() {
return
nullptr
; }
55
56
virtual
lldb::ValueObjectSP
57
GetValueObjectForVariableExpression
(llvm::StringRef expr, uint32_t options,
58
Status
&
error
) {
59
return
nullptr
;
60
}
61
};
62
}
// namespace lldb_private
63
64
#endif
// LLDB_INTERPRETER_INTERFACES_SCRIPTEDFRAMEINTERFACE_H
error
static llvm::raw_ostream & error(Stream &strm)
Definition
CommandReturnObject.cpp:18
SBValueList.h
ScriptedInterface.h
StructuredDataImpl.h
SymbolContext.h
lldb_private::ExecutionContext
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
Definition
ExecutionContext.h:314
lldb_private::ScriptedFrameInterface
Definition
ScriptedFrameInterface.h:21
lldb_private::ScriptedFrameInterface::IsHidden
virtual bool IsHidden()
Definition
ScriptedFrameInterface.h:46
lldb_private::ScriptedFrameInterface::GetRegisterInfo
virtual StructuredData::DictionarySP GetRegisterInfo()
Definition
ScriptedFrameInterface.h:48
lldb_private::ScriptedFrameInterface::GetPC
virtual lldb::addr_t GetPC()
Definition
ScriptedFrameInterface.h:30
lldb_private::ScriptedFrameInterface::GetID
virtual lldb::user_id_t GetID()
Definition
ScriptedFrameInterface.h:28
lldb_private::ScriptedFrameInterface::IsArtificial
virtual bool IsArtificial()
Definition
ScriptedFrameInterface.h:44
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::GetVariables
virtual lldb::ValueObjectListSP GetVariables()
Definition
ScriptedFrameInterface.h:54
lldb_private::ScriptedFrameInterface::GetRegisterContext
virtual std::optional< std::string > GetRegisterContext()
Definition
ScriptedFrameInterface.h:50
lldb_private::ScriptedFrameInterface::GetDisplayFunctionName
virtual std::optional< std::string > GetDisplayFunctionName()
Definition
ScriptedFrameInterface.h:38
lldb_private::ScriptedFrameInterface::GetFunctionName
virtual std::optional< std::string > GetFunctionName()
Definition
ScriptedFrameInterface.h:36
lldb_private::ScriptedFrameInterface::IsInlined
virtual bool IsInlined()
Definition
ScriptedFrameInterface.h:42
lldb_private::ScriptedFrameInterface::GetSymbolContext
virtual std::optional< SymbolContext > GetSymbolContext()
Definition
ScriptedFrameInterface.h:32
lldb_private::ScriptedFrameInterface::GetValueObjectForVariableExpression
virtual lldb::ValueObjectSP GetValueObjectForVariableExpression(llvm::StringRef expr, uint32_t options, Status &error)
Definition
ScriptedFrameInterface.h:57
lldb_private::ScriptedInterface::ScriptedInterface
ScriptedInterface()=default
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_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::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