1 // This test is line- and column-sensitive, so test commands are at the bottom.
2 namespace N {
3   struct X {
4     int f(X);
5   };
6 }
7 
8 int g(int a);
9 
10 struct Y { };
11 
12 struct Z {
13   int member;
14   friend int N::X::f(N::X);
15 };
16 
17 // RUN: c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
18 // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
19 // CHECK-CC1: NotImplemented:{TypedText const} (40)
20 // CHECK-CC1: Namespace:{TypedText N}{Text ::} (75)
21 // CHECK-CC1: NotImplemented:{TypedText operator} (40)
22 // CHECK-CC1: NotImplemented:{TypedText volatile} (40)
23 // RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
24 // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
25 // CHECK-CC2: NotImplemented:{TypedText const} (40)
26 // CHECK-CC2-NOT: Namespace:{TypedText N}{Text ::} (75)
27 // CHECK-CC2-NOT: NotImplemented:{TypedText operator} (40)
28 // CHECK-CC2: NotImplemented:{TypedText volatile} (40)
29 // RUN: c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s
30 // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s
31 // CHECK-CC3: NotImplemented:{TypedText const} (40)
32 // CHECK-CC3-NOT: Namespace:{TypedText N}{Text ::} (75)
33 // CHECK-CC3: NotImplemented:{TypedText operator} (40)
34 // CHECK-CC3: NotImplemented:{TypedText volatile} (40)
35 // RUN: c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s
36 // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s
37 // CHECK-CC4: NotImplemented:{TypedText const} (40)
38 // CHECK-CC4: Namespace:{TypedText N}{Text ::} (75)
39 // CHECK-CC4: NotImplemented:{TypedText operator} (40)
40 // CHECK-CC4: NotImplemented:{TypedText volatile} (40)
41 // CHECK-CC4: StructDecl:{TypedText Y}{Text ::} (75)
42 // CHECK-CC4: StructDecl:{TypedText Z}{Text ::} (75)
43 
44