summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/Inputs/system-header-simulator-for-nullability.h
blob: 751057dd450ea8b21a9f75b2ed9ecdbf94ce094f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#pragma clang system_header

#define nil 0
#define BOOL int

#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
#define NS_ASSUME_NONNULL_END   _Pragma("clang assume_nonnull end")

NS_ASSUME_NONNULL_BEGIN

typedef struct _NSZone NSZone;

@protocol NSObject
+ (instancetype)alloc;
- (instancetype)init;
- (instancetype)autorelease;
@end

@protocol NSCopying
- (id)copyWithZone:(nullable NSZone *)zone;
@end

@protocol NSMutableCopying
- (id)mutableCopyWithZone:(nullable NSZone *)zone;
@end

__attribute__((objc_root_class))
@interface
NSObject<NSObject>
@end

@interface NSString : NSObject<NSCopying>
- (BOOL)isEqualToString : (NSString *)aString;
- (NSString *)stringByAppendingString:(NSString *)aString;
- (nullable NSString *)nullableStringByAppendingString:(NSString *)aString;
+ (NSString * _Nonnull) generateString;
+ (NSString *) generateImplicitlyNonnullString;
+ (NSString * _Nullable) generatePossiblyNullString;
@end

void NSSystemFunctionTakingNonnull(NSString *s);

@interface NSSystemClass : NSObject
- (void) takesNonnull:(NSString *)s;
@end

NSString* _Nullable getPossiblyNullString();
NSString* _Nonnull  getString();

@protocol MyProtocol
- (NSString * _Nonnull) getString;
@end

NS_ASSUME_NONNULL_END
OpenPOWER on IntegriCloud