diff options
author | Enrico Granata <egranata@apple.com> | 2015-09-23 20:12:19 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2015-09-23 20:12:19 +0000 |
commit | 15a67f49aa57f0d36a42a02eb63fe57836664b81 (patch) | |
tree | ff1a6ac9250bc74e94a0c7dd8be824d2079462d3 /lldb/source/Plugins/LanguageRuntime | |
parent | 27a69a2ba02ee1882bf312a087970a928666b270 (diff) | |
download | bcm5719-llvm-15a67f49aa57f0d36a42a02eb63fe57836664b81.tar.gz bcm5719-llvm-15a67f49aa57f0d36a42a02eb63fe57836664b81.zip |
Make the ObjCLanguageRuntimes comply with llvm-style RTTI
llvm-svn: 248427
Diffstat (limited to 'lldb/source/Plugins/LanguageRuntime')
6 files changed, 45 insertions, 13 deletions
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp index b84bae6e491..9b27f433368 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp @@ -377,11 +377,11 @@ AppleObjCRuntime::GetStepThroughTrampolinePlan (Thread &thread, bool stop_others //------------------------------------------------------------------ // Static Functions //------------------------------------------------------------------ -enum ObjCRuntimeVersions +ObjCLanguageRuntime::ObjCRuntimeVersions AppleObjCRuntime::GetObjCVersion (Process *process, ModuleSP &objc_module_sp) { if (!process) - return eObjC_VersionUnknown; + return ObjCRuntimeVersions::eObjC_VersionUnknown; Target &target = process->GetTarget(); const ModuleList &target_modules = target.GetImages(); @@ -401,21 +401,21 @@ AppleObjCRuntime::GetObjCVersion (Process *process, ModuleSP &objc_module_sp) objc_module_sp = module_sp; ObjectFile *ofile = module_sp->GetObjectFile(); if (!ofile) - return eObjC_VersionUnknown; + return ObjCRuntimeVersions::eObjC_VersionUnknown; SectionList *sections = module_sp->GetSectionList(); if (!sections) - return eObjC_VersionUnknown; + return ObjCRuntimeVersions::eObjC_VersionUnknown; SectionSP v1_telltale_section_sp = sections->FindSectionByName(ConstString ("__OBJC")); if (v1_telltale_section_sp) { - return eAppleObjC_V1; + return ObjCRuntimeVersions::eAppleObjC_V1; } - return eAppleObjC_V2; + return ObjCRuntimeVersions::eAppleObjC_V2; } } - return eObjC_VersionUnknown; + return ObjCRuntimeVersions::eObjC_VersionUnknown; } void diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h index 397d874e669..9ec15cf812b 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h @@ -29,6 +29,17 @@ class AppleObjCRuntime : public lldb_private::ObjCLanguageRuntime { public: + static bool classof(const ObjCLanguageRuntime* runtime) + { + switch (runtime->GetRuntimeVersion()) + { + case ObjCRuntimeVersions::eAppleObjC_V1: + case ObjCRuntimeVersions::eAppleObjC_V2: + return true; + default: + return false; + } + } virtual ~AppleObjCRuntime(); diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp index 4de5c2e5e60..59b28b63f6b 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp @@ -79,7 +79,7 @@ AppleObjCRuntimeV1::CreateInstance (Process *process, lldb::LanguageType languag { ModuleSP objc_module_sp; - if (AppleObjCRuntime::GetObjCVersion (process, objc_module_sp) == eAppleObjC_V1) + if (AppleObjCRuntime::GetObjCVersion (process, objc_module_sp) == ObjCRuntimeVersions::eAppleObjC_V1) return new AppleObjCRuntimeV1 (process); else return NULL; diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h index 714caa4b9f8..fda455911ef 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h @@ -24,6 +24,16 @@ class AppleObjCRuntimeV1 : public AppleObjCRuntime { public: + static bool classof(const ObjCLanguageRuntime* runtime) + { + switch (runtime->GetRuntimeVersion()) + { + case ObjCRuntimeVersions::eAppleObjC_V1: + return true; + default: + return false; + } + } class ClassDescriptorV1 : public ObjCLanguageRuntime::ClassDescriptor { @@ -131,9 +141,9 @@ public: GetPluginVersion(); virtual ObjCRuntimeVersions - GetRuntimeVersion () + GetRuntimeVersion () const { - return eAppleObjC_V1; + return ObjCRuntimeVersions::eAppleObjC_V1; } virtual void diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp index 2dcac87a514..4baf607f58e 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -438,7 +438,7 @@ AppleObjCRuntimeV2::CreateInstance (Process *process, LanguageType language) { ModuleSP objc_module_sp; - if (AppleObjCRuntime::GetObjCVersion (process, objc_module_sp) == eAppleObjC_V2) + if (AppleObjCRuntime::GetObjCVersion (process, objc_module_sp) == ObjCRuntimeVersions::eAppleObjC_V2) return new AppleObjCRuntimeV2 (process, objc_module_sp); else return NULL; diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h index d4833236f9b..2c0c3466310 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h @@ -30,6 +30,17 @@ class AppleObjCRuntimeV2 : public AppleObjCRuntime { public: + static bool classof(const ObjCLanguageRuntime* runtime) + { + switch (runtime->GetRuntimeVersion()) + { + case ObjCRuntimeVersions::eAppleObjC_V2: + return true; + default: + return false; + } + } + virtual ~AppleObjCRuntimeV2(); // These are generic runtime functions: @@ -69,9 +80,9 @@ public: GetPluginVersion(); virtual ObjCRuntimeVersions - GetRuntimeVersion () + GetRuntimeVersion () const { - return eAppleObjC_V2; + return ObjCRuntimeVersions::eAppleObjC_V2; } virtual size_t |