diff --git a/source/RSScanMethodVisitor.m b/source/RSScanMethodVisitor.m index 9e6d8a4..a04b727 100644 --- a/source/RSScanMethodVisitor.m +++ b/source/RSScanMethodVisitor.m @@ -60,23 +60,26 @@ - (void)willVisitCategory:(CDOCCategory *)category; [self setContext:category]; } + +- (NSString *)getCurrentClassName{ + if ([_context isKindOfClass:[CDOCClass class]]) { + return _context.name; + } else if([_context isKindOfClass:[CDOCCategory class]]) { + NSString * className = [[(CDOCCategory *)_context classRef] className]; + if (!className) className = @""; + return [NSString stringWithFormat:@"%@(%@)", className ,_context.name]; + } + return _context.name; +} + - (void)visitClassMethod:(CDOCMethod *)method; { if (method.address == 0 ) { return; } - NSString *name = nil; - if ([_context isKindOfClass:[CDOCClass class]]) { - name = [NSString stringWithFormat:@"+[%@ %@]", _context.name, method.name]; - } else if([_context isKindOfClass:[CDOCCategory class]]) { - NSString * className = [[(CDOCCategory *)_context classRef] className]; - if (!className) className = @""; - name = [NSString stringWithFormat:@"+[%@(%@) %@]", className ,_context.name, method.name]; - } + NSString *name = [NSString stringWithFormat:@"+[%@ %@]", [self getCurrentClassName], method.name]; - if (!name) return; - RSSymbol *s = [RSSymbol symbolWithName:name address:method.address]; [self.collector addSymbol:s]; @@ -88,7 +91,7 @@ - (void)visitInstanceMethod:(CDOCMethod *)method propertyState:(CDVisitorPropert if (method.address == 0 ) { return; } - NSString *name = [NSString stringWithFormat:@"-[%@ %@]", _context.name, method.name]; + NSString *name = [NSString stringWithFormat:@"-[%@ %@]", [self getCurrentClassName], method.name]; RSSymbol *s = [RSSymbol symbolWithName:name address:method.address]; diff --git a/source/RSSymbolCollector.m b/source/RSSymbolCollector.m index 8b09e38..07765cd 100644 --- a/source/RSSymbolCollector.m +++ b/source/RSSymbolCollector.m @@ -75,8 +75,7 @@ - (void)generateAppendStringTable:(NSData **)stringTable appendSymbolTable:(NSDa } else { struct nlist_64 * list = nlistsData.mutableBytes; - bool isThumb = symbol.address & 1; - list[i].n_desc = isThumb ? N_ARM_THUMB_DEF : 0; + list[i].n_desc = 0; list[i].n_type = N_PEXT | N_SECT; list[i].n_sect = [self n_sectForAddress:symbol.address]; list[i].n_value = symbol.address;