Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: class-dump/src/CDStructureTable.h

Issue 7793008: Add the 3.3.3 sources for class-dump. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « class-dump/src/CDStructureInfo.m ('k') | class-dump/src/CDStructureTable.m » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: class-dump/src/CDStructureTable.h
===================================================================
--- class-dump/src/CDStructureTable.h (revision 0)
+++ class-dump/src/CDStructureTable.h (revision 0)
@@ -0,0 +1,118 @@
+// -*- 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, CDType, CDStructureInfo, CDSymbolReferences, CDTypeController, CDTypeFormatter;
+
+enum {
+ CDTableTypeStructure = 0,
+ CDTableTypeUnion = 1,
+};
+typedef NSUInteger CDTableType;
+
+@interface CDStructureTable : NSObject
+{
+ NSString *identifier;
+ NSString *anonymousBaseName;
+
+ // Phase 0 - top level
+ NSMutableDictionary *phase0_structureInfo; // key: NSString (typeString), value: CDStructureInfo
+
+ // Phase 1 - all substructures
+ NSMutableDictionary *phase1_structureInfo; // key: NSString (typeString), value: CDStructureInfo
+ NSUInteger phase1_maxDepth;
+ NSMutableDictionary *phase1_groupedByDepth; // key: NSNumber (structureDepth), value: NSMutableArray of CDStructureInfo
+
+ // Phase 2 - merging all structure bottom up
+ NSMutableDictionary *phase2_namedStructureInfo; // key: NSString (name), value: CDStructureInfo
+ NSMutableDictionary *phase2_anonStructureInfo; // key: NSString (reallyBareTypeString), value: CDStructureInfo
+ NSMutableArray *phase2_nameExceptions; // Of CDStructureInfo
+ NSMutableArray *phase2_anonExceptions; // Of CDStructureInfo
+
+ // Phase 3 - merged reference counts from updated phase0 types
+ NSMutableDictionary *phase3_namedStructureInfo; // key: NSString (name), value: CDStructureInfo
+ NSMutableDictionary *phase3_anonStructureInfo; // key: NSString (reallyBareTypeString), value: CDStructureInfo
+
+ NSMutableDictionary *phase3_nameExceptions; // key: NSString (typeString), value: CDStructureInfo
+ NSMutableDictionary *phase3_anonExceptions; // key: NSString (typeString), value: CDStructureInfo
+
+ NSMutableSet *phase3_exceptionalNames; // Of NSString
+ NSMutableSet *phase3_inMethodNameExceptions; // Of NSString
+
+ struct {
+ unsigned int shouldDebug:1;
+ } flags;
+
+ NSMutableSet *debugNames; // NSString (name)
+ NSMutableSet *debugAnon; // NSString (reallyBareTypeString)
+}
+
+- (id)init;
+- (void)dealloc;
+
+- (NSString *)identifier;
+- (void)setIdentifier:(NSString *)newIdentifier;
+
+- (NSString *)anonymousBaseName;
+- (void)setAnonymousBaseName:(NSString *)newName;
+
+- (BOOL)shouldDebug;
+- (void)setShouldDebug:(BOOL)newFlag;
+
+// Phase 0
+- (void)phase0RegisterStructure:(CDType *)aStructure usedInMethod:(BOOL)isUsedInMethod;
+- (void)finishPhase0;
+- (void)logPhase0Info;
+
+// Phase 1
+- (void)phase1WithTypeController:(CDTypeController *)typeController;
+- (void)phase1RegisterStructure:(CDType *)aStructure;
+- (void)finishPhase1;
+- (NSUInteger)phase1_maxDepth;
+
+// Phase 2
+- (void)phase2AtDepth:(NSUInteger)depth typeController:(CDTypeController *)typeController;
+- (CDType *)phase2ReplacementForType:(CDType *)type;
+
+- (void)finishPhase2;
+- (void)logPhase2Info;
+
+// Phase 3
+- (void)phase2ReplacementOnPhase0WithTypeController:(CDTypeController *)typeController;
+
+- (void)buildPhase3Exceptions;
+- (void)phase3WithTypeController:(CDTypeController *)typeController;
+- (void)phase3RegisterStructure:(CDType *)aStructure
+ count:(NSUInteger)referenceCount
+ usedInMethod:(BOOL)isUsedInMethod
+ typeController:(CDTypeController *)typeController;
+- (void)finishPhase3;
+- (void)logPhase3Info;
+- (CDType *)phase3ReplacementForType:(CDType *)type;
+
+// Other
+
+- (void)appendNamedStructuresToString:(NSMutableString *)resultString
+ formatter:(CDTypeFormatter *)aTypeFormatter
+ symbolReferences:(CDSymbolReferences *)symbolReferences
+ markName:(NSString *)markName;
+
+- (void)appendTypedefsToString:(NSMutableString *)resultString
+ formatter:(CDTypeFormatter *)aTypeFormatter
+ symbolReferences:(CDSymbolReferences *)symbolReferences
+ markName:(NSString *)markName;
+
+- (void)generateTypedefNames;
+- (void)generateMemberNames;
+
+- (BOOL)shouldExpandStructureInfo:(CDStructureInfo *)info;
+- (BOOL)shouldExpandType:(CDType *)type;
+- (NSString *)typedefNameForType:(CDType *)type;
+
+- (void)debugName:(NSString *)name;
+- (void)debugAnon:(NSString *)str;
+
+@end
Property changes on: class-dump/src/CDStructureTable.h
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « class-dump/src/CDStructureInfo.m ('k') | class-dump/src/CDStructureTable.m » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698