xref: /llvm-project/clang/test/Index/availability.mm (revision a62868aaeaac1c6464a3acbc90209458e4594338)
1__attribute__((availability(macosx, introduced = 8.0)))
2@interface C {
3  int i0;
4  int i1 __attribute__((availability(macosx, introduced = 9.0)));
5}
6@property int p0;
7@property int p1 __attribute__((availability(macosx, introduced=9.0)));
8- (void)m0;
9- (void)m1 __attribute__((availability(macosx, introduced = 9.0)));
10@end
11
12@implementation C
13- (void)m0 {
14}
15- (void)m1 {
16}
17@end
18
19__attribute__((availability(macosx, introduced = 10.0)))
20@interface C(Cat)
21@property int p2;
22@property int p3 __attribute__((availability(macosx, introduced=11.0)));
23- (void)m2;
24- (void)m3 __attribute__((availability(macosx, introduced = 11.0)));
25@end
26
27@implementation C(Cat)
28- (void)m2 {
29}
30- (void)m3 {
31}
32@end
33
34__attribute__((availability(macosx, introduced = 10.0)))
35@protocol P
36@property int p4;
37@property int p5 __attribute__((availability(macosx, introduced=11.0)));
38- (void)m4;
39- (void)m5 __attribute__((availability(macosx, introduced = 11.0)));
40@end
41
42@interface C(Cat2)
43@end
44
45@implementation C(Cat2)
46@end
47
48// RUN: c-index-test -test-print-type --std=c++11 %s | FileCheck %s
49
50// CHECK: ObjCInterfaceDecl=C:2:12  (macos, introduced=8.0)
51// CHECK: ObjCIvarDecl=i0:3:7 (Definition)  (macos, introduced=8.0)
52// CHECK: ObjCIvarDecl=i1:4:7 (Definition)  (macos, introduced=9.0)
53// CHECK: ObjCPropertyDecl=p0:6:15  (macos, introduced=8.0)
54// CHECK: ObjCPropertyDecl=p1:7:15  (macos, introduced=9.0)
55// CHECK: ObjCInstanceMethodDecl=m0:8:9  (macos, introduced=8.0)
56// CHECK: ObjCInstanceMethodDecl=m1:9:9  (macos, introduced=9.0)
57
58// CHECK: ObjCImplementationDecl=C:12:17 (Definition)  (macos, introduced=8.0)
59// CHECK: ObjCInstanceMethodDecl=m0:13:9 (Definition)  (macos, introduced=8.0)
60// CHECK: ObjCInstanceMethodDecl=m1:15:9 (Definition)  (macos, introduced=9.0)
61
62// CHECK: ObjCCategoryDecl=Cat:20:12  (macos, introduced=10.0)
63// CHECK: ObjCPropertyDecl=p2:21:15  (macos, introduced=10.0)
64// CHECK: ObjCPropertyDecl=p3:22:15  (macos, introduced=11.0)
65// CHECK: ObjCInstanceMethodDecl=m2:23:9  (macos, introduced=10.0)
66// CHECK: ObjCInstanceMethodDecl=m3:24:9  (macos, introduced=11.0)
67
68// CHECK: ObjCCategoryImplDecl=Cat:27:17 (Definition)  (macos, introduced=10.0)
69// CHECK: ObjCInstanceMethodDecl=m2:28:9 (Definition)  (macos, introduced=10.0)
70// CHECK: ObjCInstanceMethodDecl=m3:30:9 (Definition)  (macos, introduced=11.0)
71
72// CHECK: ObjCProtocolDecl=P:35:11 (Definition)  (macos, introduced=10.0)
73// CHECK: ObjCPropertyDecl=p4:36:15  (macos, introduced=10.0)
74// CHECK: ObjCPropertyDecl=p5:37:15  (macos, introduced=11.0)
75// CHECK: ObjCInstanceMethodDecl=m4:38:9  (macos, introduced=10.0)
76// CHECK: ObjCInstanceMethodDecl=m5:39:9  (macos, introduced=11.0)
77
78// CHECK: ObjCCategoryDecl=Cat2:42:12  (macos, introduced=8.0)
79// CHECK: ObjCCategoryImplDecl=Cat2:45:17 (Definition)  (macos, introduced=8.0)
80