LLDB mainline
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"
16#include "lldb/lldb-private.h"
17#include <optional>
18#include <string>
19
20namespace lldb_private {
22public:
23 virtual llvm::Expected<StructuredData::GenericSP>
24 CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx,
26 StructuredData::Generic *script_obj = nullptr) = 0;
27
29
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
49
50 virtual std::optional<std::string> GetRegisterContext() {
51 return std::nullopt;
52 }
53
54 virtual lldb::ValueObjectListSP GetVariables() { return nullptr; }
55
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
static llvm::raw_ostream & error(Stream &strm)
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
virtual StructuredData::DictionarySP GetRegisterInfo()
virtual llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj=nullptr)=0
virtual lldb::ValueObjectListSP GetVariables()
virtual std::optional< std::string > GetRegisterContext()
virtual std::optional< std::string > GetDisplayFunctionName()
virtual std::optional< std::string > GetFunctionName()
virtual std::optional< SymbolContext > GetSymbolContext()
virtual lldb::ValueObjectSP GetValueObjectForVariableExpression(llvm::StringRef expr, uint32_t options, Status &error)
An error handling class.
Definition Status.h:118
std::shared_ptr< Dictionary > DictionarySP
#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::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::ValueObjectList > ValueObjectListSP
uint64_t user_id_t
Definition lldb-types.h:82
uint64_t addr_t
Definition lldb-types.h:80