19283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor// This test is line- and column-sensitive, so test commands are at the bottom. 29283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregornamespace N { 39283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor struct X { 49283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor int f(X); 59283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor }; 69283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor} 79283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor 89283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregorint g(int a); 99283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor 109283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregorstruct Y { }; 119283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor 129283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregorstruct Z { 139283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor int member; 149283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor friend int N::X::f(N::X); 159283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor}; 169283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor 179283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor// RUN: c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s 18a9b976bc0d468dc6183fae093193ccb992999e33Douglas Gregor// 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 19503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC1: NotImplemented:{TypedText const} (40) 20c9ea513ccc6142913013ffb9a3f97c2914ce8cc6Douglas Gregor// CHECK-CC1: Namespace:{TypedText N}{Text ::} (75) 21503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC1: NotImplemented:{TypedText operator} (40) 22503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC1: NotImplemented:{TypedText volatile} (40) 239283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor// RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s 24a9b976bc0d468dc6183fae093193ccb992999e33Douglas Gregor// 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 25503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC2: NotImplemented:{TypedText const} (40) 26c9ea513ccc6142913013ffb9a3f97c2914ce8cc6Douglas Gregor// CHECK-CC2-NOT: Namespace:{TypedText N}{Text ::} (75) 27503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC2-NOT: NotImplemented:{TypedText operator} (40) 28503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC2: NotImplemented:{TypedText volatile} (40) 299283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor// RUN: c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s 30a9b976bc0d468dc6183fae093193ccb992999e33Douglas Gregor// 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 31503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC3: NotImplemented:{TypedText const} (40) 32c9ea513ccc6142913013ffb9a3f97c2914ce8cc6Douglas Gregor// CHECK-CC3-NOT: Namespace:{TypedText N}{Text ::} (75) 33503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC3: NotImplemented:{TypedText operator} (40) 34503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC3: NotImplemented:{TypedText volatile} (40) 359283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor// RUN: c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s 36a9b976bc0d468dc6183fae093193ccb992999e33Douglas Gregor// 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 37503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText const} (40) 38c9ea513ccc6142913013ffb9a3f97c2914ce8cc6Douglas Gregor// CHECK-CC4: Namespace:{TypedText N}{Text ::} (75) 39503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText operator} (40) 40503fd9a22ff1fa9467e05f023fe4085671ed3204Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText volatile} (40) 41a9b976bc0d468dc6183fae093193ccb992999e33Douglas Gregor// CHECK-CC4: StructDecl:{TypedText Y}{Text ::} (75) 42a9b976bc0d468dc6183fae093193ccb992999e33Douglas Gregor// CHECK-CC4: StructDecl:{TypedText Z}{Text ::} (75) 439283ece07ecfa7c92c89fff2750ec0023344437fDouglas Gregor 44