xiaobai created this revision.
xiaobai added reviewers: compnerd, davide, JDevlieghere, jingham, aprantl,
labath.
Herald added a subscriber: arphaman.
In an effort to make Process more language agnostic, I removed
GetCPPLanguageRuntime from Process. I'm following up now with an equivalent
change for ObjC.
https://reviews.llvm.org/D63052
Files:
include/lldb/Target/ObjCLanguageRuntime.h
include/lldb/Target/Process.h
include/lldb/lldb-forward.h
source/API/SBTarget.cpp
source/Core/ValueObject.cpp
source/Expression/IRDynamicChecks.cpp
source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
source/Plugins/Language/ObjC/CF.cpp
source/Plugins/Language/ObjC/Cocoa.cpp
source/Plugins/Language/ObjC/NSArray.cpp
source/Plugins/Language/ObjC/NSDictionary.cpp
source/Plugins/Language/ObjC/NSError.cpp
source/Plugins/Language/ObjC/NSException.cpp
source/Plugins/Language/ObjC/NSIndexPath.cpp
source/Plugins/Language/ObjC/NSSet.cpp
source/Plugins/Language/ObjC/NSString.cpp
source/Plugins/Language/ObjC/ObjCLanguage.cpp
source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
source/Symbol/ClangASTContext.cpp
source/Target/Process.cpp
Index: source/Target/Process.cpp
===================================================================
--- source/Target/Process.cpp
+++ source/Target/Process.cpp
@@ -1597,13 +1597,6 @@
return runtime;
}
-ObjCLanguageRuntime *Process::GetObjCLanguageRuntime(bool retry_if_null) {
- std::lock_guard<std::recursive_mutex> guard(m_language_runtimes_mutex);
- LanguageRuntime *runtime =
- GetLanguageRuntime(eLanguageTypeObjC, retry_if_null);
- return llvm::cast_or_null<ObjCLanguageRuntime>(runtime);
-}
-
bool Process::IsPossibleDynamicValue(ValueObject &in_value) {
if (m_finalizing)
return false;
Index: source/Symbol/ClangASTContext.cpp
===================================================================
--- source/Symbol/ClangASTContext.cpp
+++ source/Symbol/ClangASTContext.cpp
@@ -5035,7 +5035,8 @@
ExecutionContext exe_ctx(exe_scope);
Process *process = exe_ctx.GetProcessPtr();
if (process) {
- ObjCLanguageRuntime *objc_runtime = process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *objc_runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (objc_runtime) {
uint64_t bit_size = 0;
if (objc_runtime->GetTypeBitSize(
@@ -6842,7 +6843,7 @@
process = exe_ctx->GetProcessPtr();
if (process) {
ObjCLanguageRuntime *objc_runtime =
- process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (objc_runtime != nullptr) {
CompilerType parent_ast_type(getASTContext(),
parent_qual_type);
Index: source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
===================================================================
--- source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
+++ source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
@@ -171,7 +171,7 @@
target_addr);
ObjCLanguageRuntime *objc_runtime =
- GetThread().GetProcess()->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*GetThread().GetProcess());
assert(objc_runtime != nullptr);
objc_runtime->AddToMethodCache(m_isa_addr, m_sel_addr, target_addr);
if (log)
Index: source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
===================================================================
--- source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
+++ source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
@@ -457,8 +457,9 @@
size_t num_modules = target_modules.GetSize();
if (!m_objc_module_sp) {
for (size_t i = 0; i < num_modules; i++) {
- if (process_sp->GetObjCLanguageRuntime()->IsModuleObjCLibrary(
- target_modules.GetModuleAtIndexUnlocked(i))) {
+ if (ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp)
+ ->IsModuleObjCLibrary(
+ target_modules.GetModuleAtIndexUnlocked(i))) {
m_objc_module_sp = target_modules.GetModuleAtIndexUnlocked(i);
break;
}
@@ -1036,7 +1037,7 @@
isa_addr, sel_addr);
}
ObjCLanguageRuntime *objc_runtime =
- thread.GetProcess()->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*thread.GetProcess());
assert(objc_runtime != nullptr);
impl_addr = objc_runtime->LookupInMethodCache(isa_addr, sel_addr);
Index: source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
===================================================================
--- source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
+++ source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
@@ -42,6 +42,7 @@
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/ExecutionContext.h"
+#include "lldb/Target/ObjCLanguageRuntime.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
@@ -591,7 +592,8 @@
}
Process *process = m_exe_ctx.GetProcessPtr();
- ObjCLanguageRuntime *objc_runtime = process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *objc_runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (objc_runtime) {
auto iterators_pair = objc_runtime->GetDescriptorIteratorPair();
auto iterator = iterators_pair.first;
@@ -693,7 +695,8 @@
Process *process = m_exe_ctx.GetProcessPtr();
ExecutionContext exe_ctx(process);
- ObjCLanguageRuntime *objc_runtime = process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *objc_runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (objc_runtime) {
ObjCLanguageRuntime::TaggedPointerVendor *tagged_ptr_vendor =
objc_runtime->GetTaggedPointerVendor();
Index: source/Plugins/Language/ObjC/ObjCLanguage.cpp
===================================================================
--- source/Plugins/Language/ObjC/ObjCLanguage.cpp
+++ source/Plugins/Language/ObjC/ObjCLanguage.cpp
@@ -890,7 +890,8 @@
lldb::ProcessSP process_sp = valobj.GetProcessSP();
if (!process_sp)
break;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (runtime == nullptr)
break;
ObjCLanguageRuntime::ClassDescriptorSP objc_class_sp(
@@ -935,7 +936,8 @@
Process *process = exe_scope->CalculateProcess().get();
if (process) {
const bool create_on_demand = false;
- auto objc_runtime = process->GetObjCLanguageRuntime(create_on_demand);
+ auto objc_runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (objc_runtime) {
auto decl_vendor = objc_runtime->GetDeclVendor();
if (decl_vendor) {
Index: source/Plugins/Language/ObjC/NSString.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSString.cpp
+++ source/Plugins/Language/ObjC/NSString.cpp
@@ -59,7 +59,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
Index: source/Plugins/Language/ObjC/NSSet.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSSet.cpp
+++ source/Plugins/Language/ObjC/NSSet.cpp
@@ -225,7 +225,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -302,7 +303,8 @@
lldb::ProcessSP process_sp(valobj_sp->GetProcessSP());
if (!process_sp)
return nullptr;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return nullptr;
Index: source/Plugins/Language/ObjC/NSIndexPath.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSIndexPath.cpp
+++ source/Plugins/Language/ObjC/NSIndexPath.cpp
@@ -68,7 +68,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
Index: source/Plugins/Language/ObjC/NSException.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSException.cpp
+++ source/Plugins/Language/ObjC/NSException.cpp
@@ -179,7 +179,8 @@
lldb::ProcessSP process_sp(valobj_sp->GetProcessSP());
if (!process_sp)
return nullptr;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return nullptr;
Index: source/Plugins/Language/ObjC/NSError.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSError.cpp
+++ source/Plugins/Language/ObjC/NSError.cpp
@@ -187,7 +187,8 @@
lldb::ProcessSP process_sp(valobj_sp->GetProcessSP());
if (!process_sp)
return nullptr;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return nullptr;
Index: source/Plugins/Language/ObjC/NSDictionary.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSDictionary.cpp
+++ source/Plugins/Language/ObjC/NSDictionary.cpp
@@ -347,7 +347,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -437,8 +438,8 @@
lldb::ProcessSP process_sp(valobj_sp->GetProcessSP());
if (!process_sp)
return nullptr;
- AppleObjCRuntime *runtime =
- llvm::dyn_cast_or_null<AppleObjCRuntime>(process_sp->GetObjCLanguageRuntime());
+ AppleObjCRuntime *runtime = llvm::dyn_cast_or_null<AppleObjCRuntime>(
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp));
if (!runtime)
return nullptr;
Index: source/Plugins/Language/ObjC/NSArray.cpp
===================================================================
--- source/Plugins/Language/ObjC/NSArray.cpp
+++ source/Plugins/Language/ObjC/NSArray.cpp
@@ -344,7 +344,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -797,7 +798,7 @@
if (!process_sp)
return nullptr;
AppleObjCRuntime *runtime = llvm::dyn_cast_or_null<AppleObjCRuntime>(
- process_sp->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp));
if (!runtime)
return nullptr;
Index: source/Plugins/Language/ObjC/Cocoa.cpp
===================================================================
--- source/Plugins/Language/ObjC/Cocoa.cpp
+++ source/Plugins/Language/ObjC/Cocoa.cpp
@@ -43,7 +43,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -91,7 +92,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -136,7 +138,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -181,7 +184,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -227,7 +231,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -416,7 +421,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -472,10 +478,9 @@
return true;
} else {
Status error;
-
- AppleObjCRuntime *runtime =
- llvm::dyn_cast_or_null<AppleObjCRuntime>(
- process_sp->GetObjCLanguageRuntime());
+
+ AppleObjCRuntime *runtime = llvm::dyn_cast_or_null<AppleObjCRuntime>(
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp));
const bool new_format =
(runtime && runtime->GetFoundationVersion() >= 1400);
@@ -667,7 +672,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -781,7 +787,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -848,7 +855,7 @@
// Accomodate for the __NSTaggedDate format introduced in Foundation 1600.
if (class_name == g___NSTaggedDate) {
auto *runtime = llvm::dyn_cast_or_null<AppleObjCRuntime>(
- process_sp->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp));
if (runtime && runtime->GetFoundationVersion() >= 1600)
date_value = decodeTaggedTimeInterval(value_bits << 4);
}
@@ -876,7 +883,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -935,7 +943,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -1035,7 +1044,7 @@
return false;
if (AppleObjCRuntime *objc_runtime = llvm::dyn_cast_or_null<AppleObjCRuntime>(
- process_sp->GetObjCLanguageRuntime())) {
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp))) {
lldb::addr_t cf_true = LLDB_INVALID_ADDRESS,
cf_false = LLDB_INVALID_ADDRESS;
objc_runtime->GetValuesForGlobalCFBooleans(cf_true, cf_false);
Index: source/Plugins/Language/ObjC/CF.cpp
===================================================================
--- source/Plugins/Language/ObjC/CF.cpp
+++ source/Plugins/Language/ObjC/CF.cpp
@@ -50,7 +50,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -112,7 +113,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
@@ -232,7 +234,8 @@
if (!process_sp)
return false;
- ObjCLanguageRuntime *runtime = process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (!runtime)
return false;
Index: source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
===================================================================
--- source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+++ source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
@@ -512,15 +512,17 @@
}
if (process_sp && lang_opts.ObjC) {
- if (process_sp->GetObjCLanguageRuntime()) {
- if (process_sp->GetObjCLanguageRuntime()->GetRuntimeVersion() ==
+ if (ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp)) {
+ if (ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp)
+ ->GetRuntimeVersion() ==
ObjCLanguageRuntime::ObjCRuntimeVersions::eAppleObjC_V2)
lang_opts.ObjCRuntime.set(ObjCRuntime::MacOSX, VersionTuple(10, 7));
else
lang_opts.ObjCRuntime.set(ObjCRuntime::FragileMacOSX,
VersionTuple(10, 7));
- if (process_sp->GetObjCLanguageRuntime()->HasNewLiteralsAndIndexing())
+ if (ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp)
+ ->HasNewLiteralsAndIndexing())
lang_opts.DebuggerObjCLiteral = true;
}
}
Index: source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
===================================================================
--- source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
+++ source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
@@ -698,7 +698,8 @@
}
if (symbol_load_addr == LLDB_INVALID_ADDRESS && process) {
- ObjCLanguageRuntime *runtime = process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (runtime) {
symbol_load_addr = runtime->LookupRuntimeSymbol(name);
Index: source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
===================================================================
--- source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
+++ source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
@@ -90,7 +90,8 @@
if (!process)
break;
- ObjCLanguageRuntime *language_runtime(process->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime *language_runtime(
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process));
if (!language_runtime)
break;
@@ -479,7 +480,8 @@
if (!process)
return nullptr;
- ObjCLanguageRuntime *language_runtime(process->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime *language_runtime(
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process));
if (!language_runtime)
return nullptr;
@@ -950,7 +952,7 @@
break;
ObjCLanguageRuntime *language_runtime(
- process->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process));
if (!language_runtime)
break;
@@ -1401,7 +1403,8 @@
if (!process)
break;
- ObjCLanguageRuntime *language_runtime(process->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime *language_runtime(
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process));
if (!language_runtime)
break;
@@ -1593,7 +1596,8 @@
if (!process)
return;
- ObjCLanguageRuntime *language_runtime(process->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime *language_runtime(
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process));
if (!language_runtime)
return;
Index: source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
===================================================================
--- source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
+++ source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
@@ -693,7 +693,8 @@
if (module_sp.get() == nullptr)
return false;
- ObjCLanguageRuntime *objc_runtime = m_process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime *objc_runtime =
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*m_process);
return objc_runtime != nullptr &&
objc_runtime->IsModuleObjCLibrary(module_sp);
}
Index: source/Expression/IRDynamicChecks.cpp
===================================================================
--- source/Expression/IRDynamicChecks.cpp
+++ source/Expression/IRDynamicChecks.cpp
@@ -61,7 +61,7 @@
if (process) {
ObjCLanguageRuntime *objc_language_runtime =
- process->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (objc_language_runtime) {
m_objc_object_check.reset(objc_language_runtime->CreateObjectChecker(
Index: source/Core/ValueObject.cpp
===================================================================
--- source/Core/ValueObject.cpp
+++ source/Core/ValueObject.cpp
@@ -302,7 +302,7 @@
if (process_sp) {
ObjCLanguageRuntime *objc_language_runtime(
- process_sp->GetObjCLanguageRuntime());
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp));
if (objc_language_runtime) {
TypeSP complete_objc_class_type_sp =
@@ -1699,7 +1699,7 @@
LanguageRuntime *runtime =
process->GetLanguageRuntime(GetObjectRuntimeLanguage());
if (!runtime)
- runtime = process->GetObjCLanguageRuntime();
+ runtime = ObjCLanguageRuntime::GetObjCLanguageRuntime(*process);
if (runtime)
return runtime->IsRuntimeSupportValue(*this);
// If there is no language runtime, trust the compiler to mark all
@@ -3399,4 +3399,3 @@
return m_root_valobj_sp->GetFrameSP();
return lldb::StackFrameSP();
}
-
Index: source/API/SBTarget.cpp
===================================================================
--- source/API/SBTarget.cpp
+++ source/API/SBTarget.cpp
@@ -1854,7 +1854,7 @@
if (process_sp) {
ObjCLanguageRuntime *objc_language_runtime =
- process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (objc_language_runtime) {
DeclVendor *objc_decl_vendor = objc_language_runtime->GetDeclVendor();
@@ -1924,7 +1924,7 @@
if (process_sp) {
ObjCLanguageRuntime *objc_language_runtime =
- process_sp->GetObjCLanguageRuntime();
+ ObjCLanguageRuntime::GetObjCLanguageRuntime(*process_sp);
if (objc_language_runtime) {
DeclVendor *objc_decl_vendor = objc_language_runtime->GetDeclVendor();
Index: include/lldb/lldb-forward.h
===================================================================
--- include/lldb/lldb-forward.h
+++ include/lldb/lldb-forward.h
@@ -130,7 +130,6 @@
class ModuleSpec;
class ModuleSpecList;
struct NameSearchContext;
-class ObjCLanguageRuntime;
class ObjectContainer;
class OptionGroup;
class OptionGroupOptions;
Index: include/lldb/Target/Process.h
===================================================================
--- include/lldb/Target/Process.h
+++ include/lldb/Target/Process.h
@@ -2184,8 +2184,6 @@
LanguageRuntime *GetLanguageRuntime(lldb::LanguageType language,
bool retry_if_null = true);
- ObjCLanguageRuntime *GetObjCLanguageRuntime(bool retry_if_null = true);
-
bool IsPossibleDynamicValue(ValueObject &in_value);
bool IsRunning() const;
Index: include/lldb/Target/ObjCLanguageRuntime.h
===================================================================
--- include/lldb/Target/ObjCLanguageRuntime.h
+++ include/lldb/Target/ObjCLanguageRuntime.h
@@ -199,6 +199,11 @@
return runtime->isA(&ID);
}
+ static ObjCLanguageRuntime *GetObjCLanguageRuntime(Process &process) {
+ return llvm::cast_or_null<ObjCLanguageRuntime>(
+ process.GetLanguageRuntime(lldb::eLanguageTypeObjC));
+ }
+
virtual TaggedPointerVendor *GetTaggedPointerVendor() { return nullptr; }
typedef std::shared_ptr<EncodingToType> EncodingToTypeSP;
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits