complete-super.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // The run lines are below, because this test is line- and
  2. // column-number sensitive.
  3. struct A {
  4. virtual void foo(int x, int y);
  5. virtual void bar(double x);
  6. virtual void bar(float x);
  7. };
  8. struct B : A {
  9. void foo(int a, int b);
  10. void bar(float real);
  11. };
  12. void B::foo(int a, int b) {
  13. A::foo(a, b);
  14. }
  15. void B::bar(float real) {
  16. A::bar(real);
  17. }
  18. // RUN: c-index-test -code-completion-at=%s:16:3 %s | FileCheck -check-prefix=CHECK-FOO-UNQUAL %s
  19. // CHECK-FOO-UNQUAL: CXXMethod:{Text A::}{TypedText foo}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (20)
  20. // RUN: c-index-test -code-completion-at=%s:20:3 %s | FileCheck -check-prefix=CHECK-BAR-UNQUAL %s
  21. // CHECK-BAR-UNQUAL: CXXMethod:{Text A::}{TypedText bar}{LeftParen (}{Placeholder real}{RightParen )} (20)
  22. // CHECK-BAR-UNQUAL: CXXMethod:{ResultType void}{TypedText bar}{LeftParen (}{Placeholder float real}{RightParen )} (34)
  23. // CHECK-BAR-UNQUAL: CXXMethod:{ResultType void}{Text A::}{TypedText bar}{LeftParen (}{Placeholder double x}{RightParen )} (36)
  24. // RUN: c-index-test -code-completion-at=%s:16:6 %s | FileCheck -check-prefix=CHECK-FOO-QUAL %s
  25. // CHECK-FOO-QUAL: CXXMethod:{TypedText foo}{LeftParen (}{Placeholder a}{Comma , }{Placeholder b}{RightParen )} (20)
  26. // RUN: c-index-test -code-completion-at=%s:5:1 %s | FileCheck -check-prefix=CHECK-ACCESS %s
  27. // CHECK-ACCESS: NotImplemented:{TypedText private} (40)
  28. // CHECK-ACCESS: NotImplemented:{TypedText protected} (40)
  29. // CHECK-ACCESS: NotImplemented:{TypedText public} (40)
  30. // RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:5:1 %s | FileCheck -check-prefix=CHECK-ACCESS-PATTERN %s
  31. // CHECK-ACCESS-PATTERN: NotImplemented:{TypedText private}{Colon :} (40)
  32. // CHECK-ACCESS-PATTERN: NotImplemented:{TypedText protected}{Colon :} (40)
  33. // CHECK-ACCESS-PATTERN: NotImplemented:{TypedText public}{Colon :} (40)