1f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor// The run lines are below, because this test is line- and 2f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor// column-number sensitive. 3f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 4f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregorstruct A { 5f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor virtual void foo(int x, int y); 6f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor virtual void bar(double x); 7f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor virtual void bar(float x); 8f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor}; 9f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 10f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregorstruct B : A { 11f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor void foo(int a, int b); 12f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor void bar(float real); 13f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor}; 14f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 15f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregorvoid B::foo(int a, int b) { 16f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor A::foo(a, b); 17f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor} 18f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 19f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregorvoid B::bar(float real) { 20f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor A::bar(real); 21f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor} 22f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 23f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor// RUN: c-index-test -code-completion-at=%s:16:3 %s | FileCheck -check-prefix=CHECK-FOO-UNQUAL %s 248ec904c151abf7ed0dc911258574a904ed97ff15Douglas Gregor// CHECK-FOO-UNQUAL: CXXMethod:{Text A::}{TypedText foo}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (20) 25f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 26f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor// RUN: c-index-test -code-completion-at=%s:20:3 %s | FileCheck -check-prefix=CHECK-BAR-UNQUAL %s 278ec904c151abf7ed0dc911258574a904ed97ff15Douglas Gregor// CHECK-BAR-UNQUAL: CXXMethod:{Text A::}{TypedText bar}{LeftParen (}{Placeholder real}{RightParen )} (20) 288ec904c151abf7ed0dc911258574a904ed97ff15Douglas Gregor// CHECK-BAR-UNQUAL: CXXMethod:{ResultType void}{TypedText bar}{LeftParen (}{Placeholder float real}{RightParen )} (34) 298ec904c151abf7ed0dc911258574a904ed97ff15Douglas Gregor// CHECK-BAR-UNQUAL: CXXMethod:{ResultType void}{Text A::}{TypedText bar}{LeftParen (}{Placeholder double x}{RightParen )} (36) 30f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 31f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor// RUN: c-index-test -code-completion-at=%s:16:6 %s | FileCheck -check-prefix=CHECK-FOO-QUAL %s 328ec904c151abf7ed0dc911258574a904ed97ff15Douglas Gregor// CHECK-FOO-QUAL: CXXMethod:{TypedText foo}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (20) 33f696152ccc574b4921b2cd1c3d8afbce0d72e510Douglas Gregor 3410ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// RUN: c-index-test -code-completion-at=%s:5:1 %s | FileCheck -check-prefix=CHECK-ACCESS %s 3510ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// CHECK-ACCESS: NotImplemented:{TypedText private} (40) 3610ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// CHECK-ACCESS: NotImplemented:{TypedText protected} (40) 3710ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// CHECK-ACCESS: NotImplemented:{TypedText public} (40) 3810ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor 3910ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:5:1 %s | FileCheck -check-prefix=CHECK-ACCESS-PATTERN %s 4010ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// CHECK-ACCESS-PATTERN: NotImplemented:{TypedText private}{Colon :} (40) 4110ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// CHECK-ACCESS-PATTERN: NotImplemented:{TypedText protected}{Colon :} (40) 4210ccf12a06cc1ef5b778c20565945f313a9a2c26Douglas Gregor// CHECK-ACCESS-PATTERN: NotImplemented:{TypedText public}{Colon :} (40) 43