1c49f5b2fSDouglas Gregor // This test is line- and column-sensitive, so test commands are at the bottom. 2c49f5b2fSDouglas Gregor namespace N { 3c49f5b2fSDouglas Gregor struct X { 4c49f5b2fSDouglas Gregor int f(X); 5c49f5b2fSDouglas Gregor }; 6c49f5b2fSDouglas Gregor } 7c49f5b2fSDouglas Gregor 8c49f5b2fSDouglas Gregor int g(int a); 9c49f5b2fSDouglas Gregor 10c49f5b2fSDouglas Gregor struct Y { }; 11c49f5b2fSDouglas Gregor 12c49f5b2fSDouglas Gregor struct Z { 13c49f5b2fSDouglas Gregor int member; 14c49f5b2fSDouglas Gregor friend int N::X::f(N::X); 15c49f5b2fSDouglas Gregor }; 16c49f5b2fSDouglas Gregor 17c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s 180ac41389SDouglas 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 19*0787b322SDouglas Gregor // CHECK-CC1: NotImplemented:{TypedText const} (40) 2009c0eb15SDouglas Gregor // CHECK-CC1: Namespace:{TypedText N}{Text ::} (75) 21*0787b322SDouglas Gregor // CHECK-CC1: NotImplemented:{TypedText operator} (40) 22*0787b322SDouglas Gregor // CHECK-CC1: NotImplemented:{TypedText volatile} (40) 23c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s 240ac41389SDouglas 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 25*0787b322SDouglas Gregor // CHECK-CC2: NotImplemented:{TypedText const} (40) 2609c0eb15SDouglas Gregor // CHECK-CC2-NOT: Namespace:{TypedText N}{Text ::} (75) 27*0787b322SDouglas Gregor // CHECK-CC2-NOT: NotImplemented:{TypedText operator} (40) 28*0787b322SDouglas Gregor // CHECK-CC2: NotImplemented:{TypedText volatile} (40) 29c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s 300ac41389SDouglas 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 31*0787b322SDouglas Gregor // CHECK-CC3: NotImplemented:{TypedText const} (40) 3209c0eb15SDouglas Gregor // CHECK-CC3-NOT: Namespace:{TypedText N}{Text ::} (75) 33*0787b322SDouglas Gregor // CHECK-CC3: NotImplemented:{TypedText operator} (40) 34*0787b322SDouglas Gregor // CHECK-CC3: NotImplemented:{TypedText volatile} (40) 35c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s 360ac41389SDouglas 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 37*0787b322SDouglas Gregor // CHECK-CC4: NotImplemented:{TypedText const} (40) 3809c0eb15SDouglas Gregor // CHECK-CC4: Namespace:{TypedText N}{Text ::} (75) 39*0787b322SDouglas Gregor // CHECK-CC4: NotImplemented:{TypedText operator} (40) 40*0787b322SDouglas Gregor // CHECK-CC4: NotImplemented:{TypedText volatile} (40) 410ac41389SDouglas Gregor // CHECK-CC4: StructDecl:{TypedText Y}{Text ::} (75) 420ac41389SDouglas Gregor // CHECK-CC4: StructDecl:{TypedText Z}{Text ::} (75) 43c49f5b2fSDouglas Gregor 44