xref: /aosp_15_r20/external/clang/test/SemaObjC/property-6.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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