1
2@class Protocol;
3
4@protocol Prot
5@end
6
7struct FooS {
8  int x;
9};
10
11void foo() {
12  Protocol *p = @protocol(Prot);
13  @encode(struct FooS);
14}
15
16@interface I
17+(void)clsMeth;
18@end
19
20void foo2() {
21  [I clsMeth];
22}
23
24@protocol ForwardProt;
25
26// RUN: c-index-test -index-file %s | FileCheck %s
27// CHECK: [indexEntityReference]: kind: objc-protocol | name: Prot | {{.*}} | loc: 12:27
28// CHECK: [indexEntityReference]: kind: struct | name: FooS | {{.*}} | loc: 13:18
29// CHECK: [indexEntityReference]: kind: objc-class | name: I | {{.*}} | loc: 21:4
30
31// CHECK: [indexDeclaration]: kind: objc-protocol | name: ForwardProt | {{.*}} | loc: 24:11
32// CHECK-NEXT: <ObjCContainerInfo>: kind: forward-ref
33