[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / property-8.m
blobda97ffcb7ed04de616f896105d200deaf408be87
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
3 typedef signed char BOOL;
4 typedef unsigned int NSUInteger;
5 typedef struct _NSZone NSZone;
7 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
9 @protocol NSObject  - (BOOL)isEqual:(id)object; @end
10 @protocol NSCopying  - (id)copyWithZone:(NSZone *)zone; @end
11 @protocol NSMutableCopying  - (id)mutableCopyWithZone:(NSZone *)zone; @end
12 @protocol NSCoding  - (void)encodeWithCoder:(NSCoder *)aCoder; @end
14 @interface NSObject <NSObject> {} @end
16 typedef float CGFloat;
18 typedef enum { NSMinXEdge = 0, NSMinYEdge = 1, NSMaxXEdge = 2, NSMaxYEdge = 3 } NSFastEnumerationState;
20 @protocol NSFastEnumeration
21 - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
22 @end
24 @class NSString;
26 @interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>
27 - (NSUInteger)count;
28 @end
30 extern NSString * const NSBundleDidLoadNotification;
32 @interface NSObject(NSKeyValueObserving)
33 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context;
34 - (void)removeObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath;
35 @end
37 enum { NSCaseInsensitivePredicateOption = 0x01,     NSDiacriticInsensitivePredicateOption = 0x02 };
39 @interface NSResponder : NSObject <NSCoding> {}
40 @end
42 extern NSString * const NSFullScreenModeAllScreens;
43 @interface NSWindowController : NSResponder <NSCoding> {}
44 @end
46 extern NSString *NSAlignmentBinding ;
48 @interface _XCOQQuery : NSObject {}
49 @end
51 extern NSString *PBXWindowDidChangeFirstResponderNotification;
53 @interface PBXModule : NSWindowController {}
54 @end
56 @class _XCOQHelpTextBackgroundView;
57 @interface PBXOpenQuicklyModule : PBXModule
59 @private
60   _XCOQQuery *_query;
62 @end
64 @interface PBXOpenQuicklyModule ()
65 @property(readwrite, retain) _XCOQQuery *query;
66 @end
68 @implementation PBXOpenQuicklyModule  
69 @synthesize query = _query;
70 - (void) _clearQuery
72   [self.query removeObserver: self forKeyPath: @"matches"];
74 @end