Index: class-dump/src/CDTypeName.m |
=================================================================== |
--- class-dump/src/CDTypeName.m (revision 0) |
+++ class-dump/src/CDTypeName.m (revision 0) |
@@ -0,0 +1,88 @@ |
+// -*- 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 "CDTypeName.h" |
+ |
+@implementation CDTypeName |
+ |
+- (id)init; |
+{ |
+ if ([super init] == nil) |
+ return nil; |
+ |
+ name = nil; |
+ templateTypes = [[NSMutableArray alloc] init]; |
+ suffix = nil; |
+ |
+ return self; |
+} |
+ |
+- (void)dealloc; |
+{ |
+ [name release]; |
+ [templateTypes release]; |
+ [suffix release]; |
+ |
+ [super dealloc]; |
+} |
+ |
+@synthesize name; |
+ |
+- (NSArray *)templateTypes; |
+{ |
+ return templateTypes; |
+} |
+ |
+- (void)addTemplateType:(CDTypeName *)aTemplateType; |
+{ |
+ [templateTypes addObject:aTemplateType]; |
+} |
+ |
+@synthesize suffix; |
+ |
+- (NSString *)description; |
+{ |
+ if ([templateTypes count] == 0) |
+ return name; |
+ |
+ if (suffix != nil) |
+ return [NSString stringWithFormat:@"%@<%@>%@", name, [templateTypes componentsJoinedByString:@", "], suffix]; |
+ |
+ return [NSString stringWithFormat:@"%@<%@>", name, [templateTypes componentsJoinedByString:@", "]]; |
+} |
+ |
+- (BOOL)isTemplateType; |
+{ |
+ return [templateTypes count] > 0; |
+} |
+ |
+- (BOOL)isEqual:(id)otherObject; |
+{ |
+ if ([otherObject isKindOfClass:[self class]] == NO) |
+ return NO; |
+ |
+ return [[self description] isEqual:[otherObject description]]; |
+} |
+ |
+- (id)copyWithZone:(NSZone *)zone; |
+{ |
+ CDTypeName *copy; |
+ |
+ copy = [[CDTypeName alloc] init]; |
+ [copy setName:name]; |
+ [copy setSuffix:suffix]; |
+ |
+ for (CDTypeName *subtype in templateTypes) { |
+ CDTypeName *subcopy; |
+ |
+ subcopy = [subtype copy]; |
+ [copy addTemplateType:subcopy]; |
+ [subcopy release]; |
+ } |
+ |
+ return copy; |
+} |
+ |
+@end |
Property changes on: class-dump/src/CDTypeName.m |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |