blob: 403b211dd5eba8f2bdd707824e0a19065029cfe5 [file] [log] [blame]
Ted Kremeneke1cea752009-07-06 21:58:46 +00001// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic -verify %s &&
Ted Kremenekc037eac2009-07-10 00:41:58 +00002// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=basic-old-cast -verify %s &&
Ted Kremenek70b6a832009-05-13 18:16:01 +00003// RUN: clang-cc -triple i386-apple-darwin9 -analyze -checker-cfref -analyzer-store=region -verify %s
4
5// This test case was crashing due to how CFRefCount.cpp resolved the
6// ObjCInterfaceDecl* and ClassName in EvalObjCMessageExpr.
7
8typedef signed char BOOL;
9typedef unsigned int NSUInteger;
10typedef struct _NSZone NSZone;
11@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
12@protocol NSObject - (BOOL)isEqual:(id)object;
13@end @protocol NSCopying - (id)copyWithZone:(NSZone *)zone;
14@end @protocol NSMutableCopying - (id)mutableCopyWithZone:(NSZone *)zone;
15@end @protocol NSCoding - (void)encodeWithCoder:(NSCoder *)aCoder;
16@end @interface NSObject <NSObject> {
17}
18@end typedef float CGFloat;
19typedef struct _NSPoint {
20}
21NSFastEnumerationState;
22@protocol NSFastEnumeration - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
23@end @class NSString;
24@interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> - (NSUInteger)count;
25@end @interface NSMutableArray : NSArray - (void)addObject:(id)anObject;
26@end typedef unsigned short unichar;
27@interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding> - (NSUInteger)length;
28- (int)intValue;
29@end @interface NSSimpleCString : NSString {
30}
31@end @interface NSConstantString : NSSimpleCString @end extern void *_NSConstantStringClassReference;
32@interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> - (NSUInteger)count;
33@end @interface NSMutableDictionary : NSDictionary - (void)removeObjectForKey:(id)aKey;
34@end typedef struct {
35}
36CMProfileLocation;
37@interface NSResponder : NSObject <NSCoding> {
38}
39@end @class NSAttributedString, NSEvent, NSFont, NSFormatter, NSImage, NSMenu, NSText, NSView;
40@interface NSCell : NSObject <NSCopying, NSCoding> {
41}
42@end extern NSString *NSControlTintDidChangeNotification;
43@interface NSActionCell : NSCell {
44}
45@end @class NSArray, NSDocument, NSWindow;
46@interface NSWindowController : NSResponder <NSCoding> {
47}
48@end @class EBayCategoryType, GSEbayCategory, GBSearchRequest;
49@interface GBCategoryChooserPanelController : NSWindowController {
50 GSEbayCategory *rootCategory;
51}
52- (NSMutableDictionary*)categoryDictionaryForCategoryID:(int)inID inRootTreeCategories:(NSMutableArray*)inRootTreeCategories;
53-(NSString*) categoryID;
54@end @interface GSEbayCategory : NSObject <NSCoding> {
55}
56- (int) categoryID;
57- (GSEbayCategory *) parent;
58- (GSEbayCategory*) subcategoryWithID:(int) inID;
59@end @implementation GBCategoryChooserPanelController + (int) chooseCategoryIDFromCategories:(NSArray*) inCategories searchRequest:(GBSearchRequest*)inRequest parentWindow:(NSWindow*) inParent {
Mike Stump6581c302009-07-21 18:57:14 +000060 return 0;
Ted Kremenek70b6a832009-05-13 18:16:01 +000061}
62- (void) addCategory:(EBayCategoryType*)inCategory toRootTreeCategory:(NSMutableArray*)inRootTreeCategories {
63 GSEbayCategory *category = [rootCategory subcategoryWithID:[[inCategory categoryID] intValue]];
64 if (rootCategory != category) {
65 GSEbayCategory *parent = category;
66 while ((((void*)0) != (parent = [parent parent])) && ([parent categoryID] != 0)) {
67 NSMutableDictionary *treeCategoryDict = [self categoryDictionaryForCategoryID:[parent categoryID] inRootTreeCategories:inRootTreeCategories];
68 if (((void*)0) == treeCategoryDict) {
69 }
70 }
71 }
72}