File indexing completed on 2026-05-10 08:42:49
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H
0010 #define LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H
0011
0012 #include "ScriptedInterface.h"
0013 #include "lldb/Core/StructuredDataImpl.h"
0014
0015 #include "lldb/lldb-private.h"
0016
0017 #include <optional>
0018 #include <string>
0019
0020 namespace lldb_private {
0021 class ScriptedThreadInterface : virtual public ScriptedInterface {
0022 public:
0023 virtual llvm::Expected<StructuredData::GenericSP>
0024 CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx,
0025 StructuredData::DictionarySP args_sp,
0026 StructuredData::Generic *script_obj = nullptr) = 0;
0027
0028 virtual lldb::tid_t GetThreadID() { return LLDB_INVALID_THREAD_ID; }
0029
0030 virtual std::optional<std::string> GetName() { return std::nullopt; }
0031
0032 virtual lldb::StateType GetState() { return lldb::eStateInvalid; }
0033
0034 virtual std::optional<std::string> GetQueue() { return std::nullopt; }
0035
0036 virtual StructuredData::DictionarySP GetStopReason() { return {}; }
0037
0038 virtual StructuredData::ArraySP GetStackFrames() { return {}; }
0039
0040 virtual StructuredData::DictionarySP GetRegisterInfo() { return {}; }
0041
0042 virtual std::optional<std::string> GetRegisterContext() {
0043 return std::nullopt;
0044 }
0045
0046 virtual StructuredData::ArraySP GetExtendedInfo() { return {}; }
0047 };
0048 }
0049
0050 #endif