]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Index/index-suppress-refs.m
Vendor import of clang trunk r161861:
[FreeBSD/FreeBSD.git] / test / Index / index-suppress-refs.m
1
2 #include "index-suppress-refs.h"
3
4 #define TYPEDEF(x) typedef int x
5 TYPEDEF(MyInt);
6
7 MyInt gx;
8
9 @class I;
10
11 @interface I(cat)
12 -(I*)meth;
13 @end
14
15 @class I;
16
17 @interface S : B<P>
18 -(void)meth:(B*)b :(id<P>)p;
19 @end
20
21 // RUN: env CINDEXTEST_SUPPRESSREFS=1 c-index-test -index-file %s | FileCheck %s
22 // CHECK:      [indexDeclaration]: kind: objc-class | name: I
23 // CHECK-NEXT:      <ObjCContainerInfo>: kind: interface
24 // CHECK-NEXT: [indexDeclaration]: kind: objc-class | name: B
25 // CHECK-NEXT:      <ObjCContainerInfo>: kind: interface
26 // CHECK-NEXT: [indexDeclaration]: kind: objc-protocol | name: P
27 // CHECK-NEXT:      <ObjCContainerInfo>: kind: interface
28 // CHECK-NEXT: [indexDeclaration]: kind: typedef | name: MyInt
29 // CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx
30 // CHECK-NEXT: [indexDeclaration]: kind: objc-class | name: I
31 // CHECK-NEXT:      <ObjCContainerInfo>: kind: forward-ref
32 // CHECK-NEXT: [indexDeclaration]: kind: objc-category | name: cat
33 // CHECK-NEXT:      <ObjCContainerInfo>: kind: interface
34 // CHECK-NEXT:      <ObjCCategoryInfo>: class: kind: objc-class | name: I
35 // CHECK-NEXT: [indexDeclaration]: kind: objc-instance-method | name: meth
36 // CHECK-NOT:  [indexEntityReference]: kind: objc-class | name: I
37 // CHECK-NOT:  [indexDeclaration]: kind: objc-class | name: I
38 // CHECK-NEXT: [indexDeclaration]: kind: objc-class | name: S
39 // CHECK-NEXT:      <ObjCContainerInfo>: kind: interface
40 // CHECK-NEXT:      <base>: kind: objc-class | name: B
41 // CHECK-NEXT:      <protocol>: kind: objc-protocol | name: P
42 // CHECK-NEXT: [indexDeclaration]: kind: objc-instance-method | name: meth::
43 // CHECK-NOT:  [indexEntityReference]: kind: objc-class | name: B
44 // CHECK-NOT:  [indexEntityReference]: kind: objc-protocol | name: P