Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:49

0001 //===-- ScriptedThreadInterface.h -------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
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 } // namespace lldb_private
0049 
0050 #endif // LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H