9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_OBJC_GNUSTEPOBJCRUNTIME_GNUSTEPOBJCRUNTIME_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_OBJC_GNUSTEPOBJCRUNTIME_GNUSTEPOBJCRUNTIME_H
17#include "llvm/ADT/StringRef.h"
18#include "llvm/Support/Error.h"
42 return "gnustep-objc-libobjc2";
49 bool isA(
const void *ClassID)
const override {
54 return runtime->
isA(&
ID);
78 bool throw_bp)
override;
81 bool stop_others)
override;
93 llvm::Expected<std::unique_ptr<UtilityFunction>>
A section + offset based address class.
"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution ...
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
bool CouldHaveDynamicValue(ValueObject &in_value) override
bool GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, TypeAndOrName &class_type_or_name, Address &address, Value::ValueType &value_type) override
llvm::Expected< std::unique_ptr< UtilityFunction > > CreateObjectChecker(std::string name, ExecutionContext &exe_ctx) override
TypeAndOrName FixUpDynamicType(const TypeAndOrName &type_and_or_name, ValueObject &static_value) override
static lldb_private::LanguageRuntime * CreateInstance(Process *process, lldb::LanguageType language)
lldb::ModuleSP m_objc_module_sp
bool ReadObjCLibrary(const lldb::ModuleSP &module_sp) override
bool HasReadObjCLibrary() override
llvm::StringRef GetPluginName() override
bool isA(const void *ClassID) const override
bool IsModuleObjCLibrary(const lldb::ModuleSP &module_sp) override
static bool classof(const LanguageRuntime *runtime)
~GNUstepObjCRuntime() override
static llvm::StringRef GetPluginNameStatic()
lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop_others) override
ObjCRuntimeVersions GetRuntimeVersion() const override
void UpdateISAToDescriptorMapIfNeeded() override
llvm::Error GetObjectDescription(Stream &str, Value &value, ExecutionContextScope *exe_scope) override
lldb::BreakpointResolverSP CreateExceptionResolver(const lldb::BreakpointSP &bkpt, bool catch_bp, bool throw_bp) override
void ModulesDidLoad(const ModuleList &module_list) override
Called when modules have been loaded in the process.
virtual bool isA(const void *ClassID) const
A collection class for Module objects.
bool isA(const void *ClassID) const override
A plug-in interface definition class for debugging a process.
A stream class that can stream formatted output to a file.
Sometimes you can find the name of the type corresponding to an object, but we don't have debug infor...
ValueType
Type that describes Value::m_value.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
std::shared_ptr< lldb_private::BreakpointResolver > BreakpointResolverSP
LanguageType
Programming language type.
std::shared_ptr< lldb_private::Breakpoint > BreakpointSP
std::shared_ptr< lldb_private::Module > ModuleSP