blob: f50621466f1ee26681075dd741bc9ccbfca11472 [file] [log] [blame]
Douglas Gregor97204552010-08-29 19:20:21 +00001// The run lines are below, because this test is line- and
2// column-number sensitive.
3
4template<typename T>
5struct X {
6 X(T);
7};
8
9struct Virt { };
10struct Y : virtual Virt { };
11
12struct Z : public X<int>, public Y {
13 Z();
14
15 int a, b, c;
16};
17
Douglas Gregor0c431c82010-08-29 19:27:27 +000018Z::Z() : ::X<int>(0), Virt(), b(), c() { }
Douglas Gregor97204552010-08-29 19:20:21 +000019
20// RUN: c-index-test -code-completion-at=%s:18:10 %s | FileCheck -check-prefix=CHECK-CC1 %s
Douglas Gregor8ec904c2010-10-19 00:03:23 +000021// CHECK-CC1: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
22// CHECK-CC1: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
23// CHECK-CC1: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
24// CHECK-CC1: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregor0c431c82010-08-29 19:27:27 +000025// CHECK-CC1: NotImplemented:{TypedText X<int>}{LeftParen (}{Placeholder args}{RightParen )} (7)
Douglas Gregor8ec904c2010-10-19 00:03:23 +000026// CHECK-CC1: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregor97204552010-08-29 19:20:21 +000027
28// RUN: c-index-test -code-completion-at=%s:18:23 %s | FileCheck -check-prefix=CHECK-CC2 %s
Douglas Gregor8ec904c2010-10-19 00:03:23 +000029// CHECK-CC2: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
30// CHECK-CC2: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
31// CHECK-CC2: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
32// CHECK-CC2: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregor0c431c82010-08-29 19:27:27 +000033// CHECK-CC2: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (7)
34
35// RUN: c-index-test -code-completion-at=%s:18:36 %s | FileCheck -check-prefix=CHECK-CC3 %s
Douglas Gregor8ec904c2010-10-19 00:03:23 +000036// CHECK-CC3: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregora67e03f2010-09-09 21:42:20 +000037// CHECK-CC3-NOT: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )}
38// CHECK-CC3: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (7)
Douglas Gregor0c431c82010-08-29 19:27:27 +000039// CHECK-CC3-NOT: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )}
Douglas Gregor8ec904c2010-10-19 00:03:23 +000040// CHECK-CC3: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)