1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -fobjc-exceptions %s 2*67e74705SXin Li// expected-no-diagnostics 3*67e74705SXin Li# 1 "<command line>" 4*67e74705SXin Li# 1 "/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" 1 3 5*67e74705SXin Litypedef signed char BOOL; 6*67e74705SXin Litypedef unsigned int NSUInteger; 7*67e74705SXin Litypedef struct _NSZone NSZone; 8*67e74705SXin Li 9*67e74705SXin Li@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; 10*67e74705SXin Li 11*67e74705SXin Li@protocol NSObject 12*67e74705SXin Li- (BOOL)isEqual:(id)object; 13*67e74705SXin Li+ class; 14*67e74705SXin Li@end 15*67e74705SXin Li 16*67e74705SXin Li@protocol NSCopying 17*67e74705SXin Li- (id)copyWithZone:(NSZone *)zone; 18*67e74705SXin Li@end 19*67e74705SXin Li 20*67e74705SXin Li@protocol NSMutableCopying 21*67e74705SXin Li- (id)mutableCopyWithZone:(NSZone *)zone; 22*67e74705SXin Li@end 23*67e74705SXin Li 24*67e74705SXin Li@protocol NSCoding 25*67e74705SXin Li- (void)encodeWithCoder:(NSCoder *)aCoder; 26*67e74705SXin Li@end 27*67e74705SXin Li 28*67e74705SXin Li@interface NSObject <NSObject> {} 29*67e74705SXin Li@end 30*67e74705SXin Li 31*67e74705SXin Litypedef struct {} NSFastEnumerationState; 32*67e74705SXin Li 33*67e74705SXin Li@protocol NSFastEnumeration 34*67e74705SXin Li- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; 35*67e74705SXin Li@end 36*67e74705SXin Li 37*67e74705SXin Li@interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> 38*67e74705SXin Li- (NSUInteger)count; 39*67e74705SXin Li@end 40*67e74705SXin Li 41*67e74705SXin Li@interface NSMutableArray : NSArray 42*67e74705SXin Li- (void)addObject:(id)anObject; 43*67e74705SXin Li+ (id)arrayWithCapacity:(int)numItems; 44*67e74705SXin Li@end 45*67e74705SXin Li 46*67e74705SXin Li@interface NSBundle : NSObject {} 47*67e74705SXin Li+ (NSBundle *)bundleForClass:(Class)aClass; 48*67e74705SXin Li- (NSString *)bundlePath; 49*67e74705SXin Li- (void)setBundlePath:(NSString *)x; 50*67e74705SXin Li@end 51*67e74705SXin Li 52*67e74705SXin Li@interface NSException : NSObject <NSCopying, NSCoding> {} 53*67e74705SXin Li@end 54*67e74705SXin Li 55*67e74705SXin Li@class NSArray, NSDictionary, NSError, NSString, NSURL; 56*67e74705SXin Li 57*67e74705SXin Li@interface DTPlugInManager : NSObject 58*67e74705SXin Li@end 59*67e74705SXin Li 60*67e74705SXin Li@implementation DTPlugInManager 61*67e74705SXin Li+ (DTPlugInManager *)defaultPlugInManager { 62*67e74705SXin Li @try { 63*67e74705SXin Li NSMutableArray *plugInPaths = [NSMutableArray arrayWithCapacity:100]; 64*67e74705SXin Li NSBundle *frameworkBundle = [NSBundle bundleForClass:[DTPlugInManager class]]; 65*67e74705SXin Li frameworkBundle.bundlePath = 0; 66*67e74705SXin Li [plugInPaths addObject:frameworkBundle.bundlePath]; 67*67e74705SXin Li } 68*67e74705SXin Li @catch (NSException *exception) {} 69*67e74705SXin Li} 70*67e74705SXin Li@end 71