1// RUN: %clang_cc1 -fsyntax-only -verify %s 2// expected-no-diagnostics 3typedef signed char BOOL; 4typedef unsigned int NSUInteger; 5typedef struct _NSZone NSZone; 6 7@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; 8 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 13 14@interface NSObject <NSObject> {} @end 15 16typedef float CGFloat; 17 18typedef enum { NSMinXEdge = 0, NSMinYEdge = 1, NSMaxXEdge = 2, NSMaxYEdge = 3 } NSFastEnumerationState; 19 20@protocol NSFastEnumeration 21- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; 22@end 23 24@class NSString; 25 26@interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> 27- (NSUInteger)count; 28@end 29 30extern NSString * const NSBundleDidLoadNotification; 31 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 36 37enum { NSCaseInsensitivePredicateOption = 0x01, NSDiacriticInsensitivePredicateOption = 0x02 }; 38 39@interface NSResponder : NSObject <NSCoding> {} 40@end 41 42extern NSString * const NSFullScreenModeAllScreens; 43@interface NSWindowController : NSResponder <NSCoding> {} 44@end 45 46extern NSString *NSAlignmentBinding ; 47 48@interface _XCOQQuery : NSObject {} 49@end 50 51extern NSString *PBXWindowDidChangeFirstResponderNotification; 52 53@interface PBXModule : NSWindowController {} 54@end 55 56@class _XCOQHelpTextBackgroundView; 57@interface PBXOpenQuicklyModule : PBXModule 58{ 59@private 60 _XCOQQuery *_query; 61} 62@end 63 64@interface PBXOpenQuicklyModule () 65@property(readwrite, retain) _XCOQQuery *query; 66@end 67 68@implementation PBXOpenQuicklyModule 69@synthesize query = _query; 70- (void) _clearQuery 71{ 72 [self.query removeObserver: self forKeyPath: @"matches"]; 73} 74@end 75 76