|
LLDB mainline
|
#include <ScriptedFrameInterface.h>
Public Member Functions | |
| 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::user_id_t | GetID () |
| virtual lldb::addr_t | GetPC () |
| virtual lldb::addr_t | GetCFA () |
| virtual std::optional< SymbolContext > | GetSymbolContext () |
| virtual std::optional< std::string > | GetFunctionName () |
| virtual std::optional< std::string > | GetDisplayFunctionName () |
| virtual bool | IsInlined () |
| virtual bool | IsArtificial () |
| virtual bool | IsHidden () |
| virtual StructuredData::DictionarySP | GetRegisterInfo () |
| virtual std::optional< std::string > | GetRegisterContext () |
| virtual lldb::ValueObjectListSP | GetVariables () |
| virtual std::optional< lldb::ValueType > | GetValueTypeForVariable (lldb::ValueObjectSP valobj) |
| Report which kind of variable valobj is presented as, for instance eValueTypeVariableLocal to have it listed among the frame's locals. | |
| virtual lldb::ValueObjectSP | GetValueObjectForVariableExpression (llvm::StringRef expr, uint32_t options, Status &error) |
| virtual llvm::Expected< ScriptedMetadata > | GetThreadPlanMetadataForStepType (lldb::StepType step_type) |
| Public Member Functions inherited from lldb_private::ScriptedInterface | |
| ScriptedInterface ()=default | |
| virtual | ~ScriptedInterface ()=default |
| StructuredData::GenericSP | GetScriptObjectInstance () |
| const std::optional< ScriptedMetadata > & | GetScriptedMetadata () const |
| virtual bool | UserCanRunDirectly () const |
| Whether the user can invoke this extension directly, the way a scripted command can. | |
| virtual llvm::SmallVector< AbstractMethodRequirement > | GetAbstractMethodRequirements () const =0 |
| virtual llvm::SmallVector< llvm::StringLiteral > | GetOptionalMethods () const |
| Methods a script may legitimately leave out, for which LLDB has a documented answer. | |
| virtual llvm::Expected< FileSpec > | GetScriptedModulePath () |
| llvm::SmallVector< llvm::StringLiteral > const | GetAbstractMethods () const |
Additional Inherited Members | |
| Static Public Member Functions inherited from lldb_private::ScriptedInterface | |
| template<typename Ret> | |
| static Ret | ErrorWithMessage (llvm::StringRef caller_name, llvm::StringRef user_msg, Status &error, LLDBLog log_category=LLDBLog::Process) |
| static bool | CreateInstance (lldb::ScriptLanguage language, ScriptedInterfaceUsages usages) |
| Protected Attributes inherited from lldb_private::ScriptedInterface | |
| StructuredData::GenericSP | m_object_instance_sp |
| std::optional< ScriptedMetadata > | m_scripted_metadata |
Definition at line 20 of file ScriptedFrameInterface.h.
|
pure virtual |
Implemented in lldb_private::ScriptedFramePythonInterface.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 31 of file ScriptedFrameInterface.h.
References LLDB_INVALID_ADDRESS.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 39 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 37 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 27 of file ScriptedFrameInterface.h.
References LLDB_INVALID_FRAME_ID.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 29 of file ScriptedFrameInterface.h.
References LLDB_INVALID_ADDRESS.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 51 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 49 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 33 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 81 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 75 of file ScriptedFrameInterface.h.
References error().
|
inlinevirtual |
Report which kind of variable valobj is presented as, for instance eValueTypeVariableLocal to have it listed among the frame's locals.
A ValueObject the ScriptedFrame built itself should have eValueTypeSyntheticFlag set in the ValueType it reports. LLDB uses that flag to skip the scope rules it applies to a declared variable, which a made-up ValueObject cannot satisfy: it has no storage to locate, so an in-scope-only listing drops it. A variable the frame is only forwarding should leave the flag clear, so those rules still apply to it.
If this returns std::nullopt, LLDB keeps the ValueType the ValueObject already reports and adds the synthetic flag to it.
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 70 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 55 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 45 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 47 of file ScriptedFrameInterface.h.
|
inlinevirtual |
Reimplemented in lldb_private::ScriptedFramePythonInterface.
Definition at line 43 of file ScriptedFrameInterface.h.