1// This test is line- and column-sensitive, so test commands are at the bottom.
2namespace N {
3  struct X {
4    int f(X);
5  };
6}
7
8int g(int a);
9
10struct Y { };
11
12struct 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