1 class X {
2   void doSomething();
3 
4   int field __attribute((annotate("one"), annotate("two"), annotate("three")));
5 
6 public __attribute__((annotate("some annotation"))):
7   void func2();
8   int member2 __attribute__((annotate("another annotation")));
9 };
10 
11 void X::doSomething() {
12   // RUN: c-index-test -code-completion-at=%s:13:9 %s | FileCheck %s
13   this->;
14 }
15 
16 // CHECK: CXXMethod:{ResultType void}{TypedText doSomething}{LeftParen (}{RightParen )} (34)
17 // CHECK: FieldDecl:{ResultType int}{TypedText field} (35) ("three", "two", "one")
18 // CHECK: CXXMethod:{ResultType void}{TypedText func2}{LeftParen (}{RightParen )} (34) ("some annotation")
19 // CHECK: FieldDecl:{ResultType int}{TypedText member2} (35) ("another annotation", "some annotation")
20 // CHECK: CXXMethod:{ResultType X &}{TypedText operator=}{LeftParen (}{Placeholder const X &}{RightParen )} (34)
21 // CHECK: ClassDecl:{TypedText X}{Text ::} (75)
22 // CHECK: CXXDestructor:{ResultType void}{TypedText ~X}{LeftParen (}{RightParen )} (34)
23 
24