| // Note: the run lines follow their respective tests, since line/column | 
 | // matter in this test. | 
 |  | 
 | struct StructA { }; | 
 | struct StructB { }; | 
 | struct StructC { }; | 
 | int ValueA; | 
 | int ValueB; | 
 |  | 
 | void f() { | 
 |  | 
 |   int ValueA = 0; | 
 |   int StructA = 0; | 
 |   struct StructB { }; | 
 |    | 
 |   struct StructA sa = { }; | 
 | } | 
 |  | 
 | // RUN: c-index-test -code-completion-at=%s:16:3 %s > %t | 
 | // RUN: FileCheck -check-prefix=CHECK-CC1 -input-file=%t %s | 
 | // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:16:3 %s | FileCheck -check-prefix=CHECK-CC1 %s | 
 | // CHECK-CC1: VarDecl:{ResultType int}{TypedText StructA} (34) | 
 | // CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueA} (34) | 
 | // CHECK-CC1-NOT: VarDecl:{ResultType int}{TypedText ValueA} (50) | 
 | // CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueB} (50) | 
 | // RUN: c-index-test -code-completion-at=%s:16:10 %s > %t | 
 | // RUN: FileCheck -check-prefix=CHECK-CC2 -input-file=%t %s | 
 | // CHECK-CC2: StructDecl:{TypedText StructA} (50) | 
 | // CHECK-CC2-NOT: StructDecl:{TypedText StructB} (50) | 
 | // CHECK-CC2: StructDecl:{TypedText StructC} (50) | 
 | // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:16:10 %s > %t | 
 | // RUN: FileCheck -check-prefix=CHECK-CC2 -input-file=%t %s |