198ea7f67SErik Verbruggen class X {
298ea7f67SErik Verbruggen   void doSomething();
398ea7f67SErik Verbruggen 
498ea7f67SErik Verbruggen   int field __attribute((annotate("one"), annotate("two"), annotate("three")));
598ea7f67SErik Verbruggen 
698ea7f67SErik Verbruggen public __attribute__((annotate("some annotation"))):
798ea7f67SErik Verbruggen   void func2();
898ea7f67SErik Verbruggen   int member2 __attribute__((annotate("another annotation")));
998ea7f67SErik Verbruggen };
1098ea7f67SErik Verbruggen 
doSomething()1198ea7f67SErik Verbruggen void X::doSomething() {
1298ea7f67SErik Verbruggen   // RUN: c-index-test -code-completion-at=%s:13:9 %s | FileCheck %s
1398ea7f67SErik Verbruggen   this->;
1498ea7f67SErik Verbruggen }
1598ea7f67SErik Verbruggen 
1698ea7f67SErik Verbruggen // CHECK: CXXMethod:{ResultType void}{TypedText doSomething}{LeftParen (}{RightParen )} (34)
17*dc5ce72aSMichael Kruse // CHECK: FieldDecl:{ResultType int}{TypedText field} (35) ("one", "two", "three")
1898ea7f67SErik Verbruggen // CHECK: CXXMethod:{ResultType void}{TypedText func2}{LeftParen (}{RightParen )} (34) ("some annotation")
1998ea7f67SErik Verbruggen // CHECK: FieldDecl:{ResultType int}{TypedText member2} (35) ("another annotation", "some annotation")
204e7a6fefSIlya Biryukov // CHECK: CXXMethod:{ResultType X &}{TypedText operator=}{LeftParen (}{Placeholder const X &}{RightParen )} (79)
2198ea7f67SErik Verbruggen // CHECK: ClassDecl:{TypedText X}{Text ::} (75)
224e7a6fefSIlya Biryukov // CHECK: CXXDestructor:{ResultType void}{TypedText ~X}{LeftParen (}{RightParen )} (79)
2398ea7f67SErik Verbruggen 
24