// 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 | FileCheck -check-prefix=CHECK-CC1 %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} (8) // CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueA} (8) // 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 | FileCheck -check-prefix=CHECK-CC2 %s // CHECK-CC2: StructDecl:{TypedText StructA} (65) // CHECK-CC2-NOT: StructDecl:{TypedText StructB} (65) // CHECK-CC2: StructDecl:{TypedText StructC} (65) // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:16:10 %s | FileCheck -check-prefix=CHECK-CC2 %s