blob: 3e9b72b8e0fc42b1d8763c63daa0d519b375af3d [file] [log] [blame]
// -*- mode: ObjC -*-
// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files.
// Copyright (C) 1997-1998, 2000-2001, 2004-2010 Steve Nygard.
#import <Foundation/Foundation.h>
@class CDClassDump, CDMachOFile, CDTypeController;
@class CDVisitor;
@interface CDObjectiveCProcessor : NSObject
{
CDMachOFile *machOFile;
NSMutableArray *classes;
NSMutableDictionary *classesByAddress;
NSMutableArray *categories;
NSMutableDictionary *protocolsByName; // uniqued
NSMutableDictionary *protocolsByAddress; // non-uniqued
}
- (id)initWithMachOFile:(CDMachOFile *)aMachOFile;
- (void)dealloc;
- (CDMachOFile *)machOFile;
- (BOOL)hasObjectiveCData;
- (void)process;
- (void)loadProtocols;
- (void)loadClasses;
- (void)loadCategories;
- (void)registerTypesWithObject:(CDTypeController *)typeController phase:(NSUInteger)phase;
- (void)recursivelyVisit:(CDVisitor *)aVisitor;
- (void)createUniquedProtocols;
- (NSData *)objcImageInfoData;
- (NSString *)garbageCollectionStatus;
@end