/CDStructureTable.h
C Header | 63 lines | 42 code | 19 blank | 2 comment | 0 complexity | 66a1c06d1b9d4ff426d15eb442638e9c MD5 | raw file
1// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files. 2// Copyright (C) 1997-1998, 2000-2001, 2004-2006 Steve Nygard 3 4#import <Foundation/NSObject.h> 5 6#import "CDStructureRegistrationProtocol.h" 7 8@class NSMutableArray, NSMutableDictionary, NSMutableSet, NSMutableString; 9@class CDClassDump, CDType, CDSymbolReferences, CDTypeFormatter; 10 11@interface CDStructureTable : NSObject 12{ 13 NSString *name; 14 NSString *anonymousBaseName; 15 16 NSMutableDictionary *structuresByName; 17 NSMutableDictionary *anonymousStructureCountsByType; 18 NSMutableDictionary *anonymousStructuresByType; 19 NSMutableDictionary *anonymousStructureNamesByType; 20 21 NSMutableSet *forcedTypedefs; 22 23 NSMutableSet *structureSignatures; // generated during phase 1 24 NSMutableArray *structureTypes; // generated during phase 1 25 NSMutableDictionary *replacementSignatures; // generated at end of phase 1 26 27 struct { 28 unsigned int shouldDebug:1; 29 } flags; 30} 31 32- (id)init; 33- (void)dealloc; 34 35- (NSString *)name; 36- (void)setName:(NSString *)newName; 37 38- (NSString *)anonymousBaseName; 39- (void)setAnonymousBaseName:(NSString *)newName; 40 41- (BOOL)shouldDebug; 42- (void)setShouldDebug:(BOOL)newFlag; 43 44- (void)logPhase1Data; 45- (void)finishPhase1; 46- (void)logInfo; 47 48- (void)generateNamesForAnonymousStructures; 49 50- (void)appendNamedStructuresToString:(NSMutableString *)resultString classDump:(CDClassDump *)aClassDump formatter:(CDTypeFormatter *)aTypeFormatter symbolReferences:(CDSymbolReferences *)symbolReferences; 51- (void)appendTypedefsToString:(NSMutableString *)resultString classDump:(CDClassDump *)aClassDump formatter:(CDTypeFormatter *)aTypeFormatter symbolReferences:(CDSymbolReferences *)symbolReferences; 52 53- (void)forceTypedefForStructure:(NSString *)typeString; 54- (CDType *)replacementForType:(CDType *)aType; 55- (NSString *)typedefNameForStructureType:(CDType *)aType; 56 57- (void)phase1RegisterStructure:(CDType *)aStructure; 58- (BOOL)phase2RegisterStructure:(CDType *)aStructure withObject:(id <CDStructureRegistration>)anObject usedInMethod:(BOOL)isUsedInMethod 59 countReferences:(BOOL)shouldCountReferences; 60 61- (void)generateMemberNames; 62 63@end