1// RUN: %clang_cc1 -ast-print %s -o - | FileCheck %s
2
3@interface NSObject @end
4
5@protocol P
6- (void)MethP __attribute__((availability(macosx,introduced=10.1.0,deprecated=10.2)));
7@end
8
9@interface I : NSObject <P>
10- (void)MethI __attribute__((availability(macosx,introduced=10.1.0,deprecated=10.2)));
11@end
12
13@interface I(CAT)
14- (void)MethCAT __attribute__((availability(macosx,introduced=10_1_0,deprecated=10_2)));
15@end
16
17@implementation I
18- (void)MethP __attribute__((availability(macosx,introduced=10.1.0,deprecated=10.2))) {}
19- (void)MethI __attribute__((availability(macosx,introduced=10.1.0,deprecated=10.2))) {}
20
21- (void)methodWithArg:(int)x andAnotherOne:(int)y { }
22@end
23
24// CHECK: @protocol P
25// CHECK: - (void)MethP __attribute__((availability(macos, introduced=10.1.0, deprecated=10.2)));
26// CHECK: @end
27
28// CHECK: @interface I : NSObject<P>
29// CHECK: - (void)MethI __attribute__((availability(macos, introduced=10.1.0, deprecated=10.2)));
30// CHECK: @end
31
32// CHECK: @interface I(CAT)
33// CHECK: - (void)MethCAT __attribute__((availability(macos, introduced=10.1.0, deprecated=10.2)));
34// CHECK: @end
35
36// CHECK: @implementation I
37// CHECK: - (void)MethP __attribute__((availability(macos, introduced=10.1.0, deprecated=10.2))) {
38// CHECK: }
39
40// CHECK: - (void)MethI __attribute__((availability(macos, introduced=10.1.0, deprecated=10.2))) {
41// CHECK: }
42
43// CHECK: - (void)methodWithArg:(int)x andAnotherOne:(int)y {
44// CHECK: }
45
46// CHECK: @end
47
48@class C1;
49struct __attribute__((objc_bridge_related(C1,,))) S1;
50
51// CHECK: @class C1;
52// CHECK: struct __attribute__((objc_bridge_related(C1, , ))) S1;
53
54@interface ImplicitPropertyWithSetterOnly
55
56- (void)setX:(int)x;
57
58@end
59
60void printImplicitPropertyWithSetterOnly(ImplicitPropertyWithSetterOnly *x) {
61  x.x = 313; // CHECK: x.x = 313;
62}
63