Skip to content

Commit 1d1ebb9

Browse files
committed
[lldb/Initializers] Move all ObjC initializers into AppleObjCRuntime
AppleObjCRuntime is the main entry point to the plugin with the same name. This is part of a greater refactoring to auto generate the initializers. NFC. Differential revision: https://reviews.llvm.org/D73121
1 parent 7bdc83f commit 1d1ebb9

File tree

4 files changed

+29
-22
lines changed

4 files changed

+29
-22
lines changed

lldb/source/API/SystemInitializerFull.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@
6363
#include "Plugins/Language/ObjC/ObjCLanguage.h"
6464
#include "Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h"
6565
#include "Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h"
66-
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h"
67-
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h"
66+
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h"
6867
#include "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"
6968
#include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h"
7069
#include "Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h"
@@ -244,8 +243,7 @@ llvm::Error SystemInitializerFull::Initialize() {
244243

245244
SymbolFileDWARFDebugMap::Initialize();
246245
ItaniumABILanguageRuntime::Initialize();
247-
AppleObjCRuntimeV2::Initialize();
248-
AppleObjCRuntimeV1::Initialize();
246+
AppleObjCRuntime::Initialize();
249247
SystemRuntimeMacOSX::Initialize();
250248
RenderScriptRuntime::Initialize();
251249

@@ -338,8 +336,7 @@ void SystemInitializerFull::Terminate() {
338336

339337
SymbolFileDWARFDebugMap::Terminate();
340338
ItaniumABILanguageRuntime::Terminate();
341-
AppleObjCRuntimeV2::Terminate();
342-
AppleObjCRuntimeV1::Terminate();
339+
AppleObjCRuntime::Terminate();
343340
SystemRuntimeMacOSX::Terminate();
344341
RenderScriptRuntime::Terminate();
345342

lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
//===----------------------------------------------------------------------===//
99

1010
#include "AppleObjCRuntime.h"
11+
#include "AppleObjCRuntimeV1.h"
12+
#include "AppleObjCRuntimeV2.h"
1113
#include "AppleObjCTrampolineHandler.h"
12-
13-
#include "clang/AST/Type.h"
14-
14+
#include "Plugins/Language/ObjC/NSString.h"
15+
#include "Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h"
16+
#include "Plugins/Process/Utility/HistoryThread.h"
1517
#include "lldb/Breakpoint/BreakpointLocation.h"
1618
#include "lldb/Core/Module.h"
1719
#include "lldb/Core/ModuleList.h"
@@ -35,10 +37,7 @@
3537
#include "lldb/Utility/Scalar.h"
3638
#include "lldb/Utility/Status.h"
3739
#include "lldb/Utility/StreamString.h"
38-
39-
#include "Plugins/Process/Utility/HistoryThread.h"
40-
#include "Plugins/Language/ObjC/NSString.h"
41-
#include "Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h"
40+
#include "clang/AST/Type.h"
4241

4342
#include <vector>
4443

@@ -55,6 +54,16 @@ AppleObjCRuntime::AppleObjCRuntime(Process *process)
5554
ReadObjCLibraryIfNeeded(process->GetTarget().GetImages());
5655
}
5756

57+
void AppleObjCRuntime::Initialize() {
58+
AppleObjCRuntimeV2::Initialize();
59+
AppleObjCRuntimeV1::Initialize();
60+
}
61+
62+
void AppleObjCRuntime::Terminate() {
63+
AppleObjCRuntimeV2::Terminate();
64+
AppleObjCRuntimeV1::Terminate();
65+
}
66+
5867
bool AppleObjCRuntime::GetObjectDescription(Stream &str, ValueObject &valobj) {
5968
CompilerType compiler_type(valobj.GetCompilerType());
6069
bool is_signed;
@@ -479,7 +488,7 @@ ValueObjectSP AppleObjCRuntime::GetExceptionObjectForThread(
479488

480489
auto descriptor = GetClassDescriptor(*cpp_exception);
481490
if (!descriptor || !descriptor->IsValid()) return ValueObjectSP();
482-
491+
483492
while (descriptor) {
484493
ConstString class_name(descriptor->GetClassName());
485494
if (class_name == "NSException")

lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ class AppleObjCRuntime : public lldb_private::ObjCLanguageRuntime {
3131

3232
static char ID;
3333

34+
static void Initialize();
35+
36+
static void Terminate();
37+
3438
bool isA(const void *ClassID) const override {
3539
return ClassID == &ID || ObjCLanguageRuntime::isA(ClassID);
3640
}
@@ -84,7 +88,7 @@ class AppleObjCRuntime : public lldb_private::ObjCLanguageRuntime {
8488
bool ExceptionBreakpointsExplainStop(lldb::StopInfoSP stop_reason) override;
8589

8690
lldb::SearchFilterSP CreateExceptionSearchFilter() override;
87-
91+
8892
static std::tuple<FileSpec, ConstString> GetExceptionThrowLocation();
8993

9094
lldb::ValueObjectSP GetExceptionObjectForThread(
@@ -97,7 +101,7 @@ class AppleObjCRuntime : public lldb_private::ObjCLanguageRuntime {
97101

98102
virtual void GetValuesForGlobalCFBooleans(lldb::addr_t &cf_true,
99103
lldb::addr_t &cf_false);
100-
104+
101105
virtual bool IsTaggedPointer (lldb::addr_t addr) { return false; }
102106

103107
protected:

lldb/tools/lldb-test/SystemInitializerTest.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@
5353
#include "Plugins/Language/ObjC/ObjCLanguage.h"
5454
#include "Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h"
5555
#include "Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h"
56-
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h"
57-
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h"
56+
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h"
5857
#include "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"
5958
#include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h"
6059
#include "Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h"
@@ -215,8 +214,7 @@ llvm::Error SystemInitializerTest::Initialize() {
215214

216215
SymbolFileDWARFDebugMap::Initialize();
217216
ItaniumABILanguageRuntime::Initialize();
218-
AppleObjCRuntimeV2::Initialize();
219-
AppleObjCRuntimeV1::Initialize();
217+
AppleObjCRuntime::Initialize();
220218
SystemRuntimeMacOSX::Initialize();
221219
RenderScriptRuntime::Initialize();
222220

@@ -308,8 +306,7 @@ void SystemInitializerTest::Terminate() {
308306

309307
SymbolFileDWARFDebugMap::Terminate();
310308
ItaniumABILanguageRuntime::Terminate();
311-
AppleObjCRuntimeV2::Terminate();
312-
AppleObjCRuntimeV1::Terminate();
309+
AppleObjCRuntime::Terminate();
313310
SystemRuntimeMacOSX::Terminate();
314311
RenderScriptRuntime::Terminate();
315312

0 commit comments

Comments
 (0)