From 9fa63622e90efca8d62775b0bc4be96b9f1ff963 Mon Sep 17 00:00:00 2001 From: Kazuhide Takahashi Date: Thu, 10 Aug 2017 12:43:03 +0900 Subject: [PATCH] Import patch to correspond to swift's object from original class-dump. --- Source/CDOCClass.h | 1 + Source/CDObjectiveC2Processor.m | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/CDOCClass.h b/Source/CDOCClass.h index 88431c1c9a6..cf36e5e374d 100644 --- a/Source/CDOCClass.h +++ b/Source/CDOCClass.h @@ -15,5 +15,6 @@ @property (copy, readonly) NSString *superClassName; @property (strong) NSArray *instanceVariables; @property (assign) BOOL isExported; +@property (assign) BOOL isSwiftClass; @end diff --git a/Source/CDObjectiveC2Processor.m b/Source/CDObjectiveC2Processor.m index 0efc7152809..a374eacd710 100644 --- a/Source/CDObjectiveC2Processor.m +++ b/Source/CDObjectiveC2Processor.m @@ -218,7 +218,11 @@ - (CDOCClass *)loadClassAtAddress:(uint64_t)address; objc2Class.superclass = [cursor readPtr]; objc2Class.cache = [cursor readPtr]; objc2Class.vtable = [cursor readPtr]; - objc2Class.data = [cursor readPtr]; + + uint64_t value = [cursor readPtr]; + class.isSwiftClass = (value & 0x1) != 0; + objc2Class.data = value & ~7; + objc2Class.reserved1 = [cursor readPtr]; objc2Class.reserved2 = [cursor readPtr]; objc2Class.reserved3 = [cursor readPtr];