#include "GNUstepObjCRuntime.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Expression/UtilityFunction.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/ConstString.h"
usingnamespacelldb;
usingnamespacelldb_private;
LLDB_PLUGIN_DEFINE(…)
char GNUstepObjCRuntime::ID = …;
void GNUstepObjCRuntime::Initialize() { … }
void GNUstepObjCRuntime::Terminate() { … }
static bool CanModuleBeGNUstepObjCLibrary(const ModuleSP &module_sp,
const llvm::Triple &TT) { … }
static bool ScanForGNUstepObjCLibraryCandidate(const ModuleList &modules,
const llvm::Triple &TT) { … }
LanguageRuntime *GNUstepObjCRuntime::CreateInstance(Process *process,
LanguageType language) { … }
GNUstepObjCRuntime::~GNUstepObjCRuntime() = default;
GNUstepObjCRuntime::GNUstepObjCRuntime(Process *process)
: … { … }
llvm::Error GNUstepObjCRuntime::GetObjectDescription(Stream &str,
ValueObject &valobj) { … }
llvm::Error
GNUstepObjCRuntime::GetObjectDescription(Stream &strm, Value &value,
ExecutionContextScope *exe_scope) { … }
bool GNUstepObjCRuntime::CouldHaveDynamicValue(ValueObject &in_value) { … }
bool GNUstepObjCRuntime::GetDynamicTypeAndAddress(
ValueObject &in_value, DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name, Address &address,
Value::ValueType &value_type) { … }
TypeAndOrName
GNUstepObjCRuntime::FixUpDynamicType(const TypeAndOrName &type_and_or_name,
ValueObject &static_value) { … }
BreakpointResolverSP
GNUstepObjCRuntime::CreateExceptionResolver(const BreakpointSP &bkpt,
bool catch_bp, bool throw_bp) { … }
llvm::Expected<std::unique_ptr<UtilityFunction>>
GNUstepObjCRuntime::CreateObjectChecker(std::string name,
ExecutionContext &exe_ctx) { … }
ThreadPlanSP
GNUstepObjCRuntime::GetStepThroughTrampolinePlan(Thread &thread,
bool stop_others) { … }
void GNUstepObjCRuntime::UpdateISAToDescriptorMapIfNeeded() { … }
bool GNUstepObjCRuntime::IsModuleObjCLibrary(const ModuleSP &module_sp) { … }
bool GNUstepObjCRuntime::ReadObjCLibrary(const ModuleSP &module_sp) { … }
void GNUstepObjCRuntime::ModulesDidLoad(const ModuleList &module_list) { … }