1@interface I
2@property (readonly) id prop;
3 -(id)prop;
4@end
5
6@interface I()
7@property (assign,readwrite) id prop;
8@end
9
10@implementation I
11@synthesize prop = _prop;
12@end
13
14rdar://11015325
15@interface I1
16__attribute__((something)) @interface I2 @end
17@end
18
19// RUN: c-index-test -index-file %s > %t
20// RUN: FileCheck %s -input-file=%t
21// CHECK: [indexDeclaration]: kind: objc-class | name: I | {{.*}} | loc: 1:12
22// CHECK: [indexDeclaration]: kind: objc-instance-method | name: prop | {{.*}} | loc: 3:2
23// CHECK: [indexDeclaration]: kind: objc-property | name: prop | {{.*}} | loc: 2:25
24// CHECK: [indexDeclaration]: kind: objc-category | name:  | {{.*}} | loc: 6:12
25// CHECK: [indexDeclaration]: kind: objc-instance-method | name: setProp: | {{.*}} | loc: 7:33
26// CHECK: [indexDeclaration]: kind: objc-property | name: prop | {{.*}} | loc: 7:33
27
28// CHECK: [indexDeclaration]: kind: objc-ivar | name: _prop | {{.*}} | loc: 11:20
29// CHECK: [indexDeclaration]: kind: objc-instance-method | name: prop | {{.*}} | loc: 11:13 | {{.*}} | lexical-container: [I:10:17]
30// CHECK: [indexDeclaration]: kind: objc-instance-method | name: setProp: | {{.*}} | loc: 11:13 | {{.*}} | lexical-container: [I:10:17]
31