1#pragma clang system_header
2
3#define nil 0
4#define BOOL int
5
6#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
7#define NS_ASSUME_NONNULL_END   _Pragma("clang assume_nonnull end")
8
9NS_ASSUME_NONNULL_BEGIN
10
11typedef struct _NSZone NSZone;
12
13@protocol NSObject
14+ (instancetype)alloc;
15- (instancetype)init;
16- (instancetype)autorelease;
17@end
18
19@protocol NSCopying
20- (id)copyWithZone:(nullable NSZone *)zone;
21@end
22
23@protocol NSMutableCopying
24- (id)mutableCopyWithZone:(nullable NSZone *)zone;
25@end
26
27__attribute__((objc_root_class))
28@interface
29NSObject<NSObject>
30@end
31
32@interface NSString : NSObject<NSCopying>
33- (BOOL)isEqualToString : (NSString *)aString;
34- (NSString *)stringByAppendingString:(NSString *)aString;
35@end
36
37void NSSystemFunctionTakingNonnull(NSString *s);
38
39@interface NSSystemClass : NSObject
40- (void) takesNonnull:(NSString *)s;
41@end
42
43NS_ASSUME_NONNULL_END
44