class X {
  void doSomething();

  int field __attribute((annotate("one"), annotate("two"), annotate("three")));

public __attribute__((annotate("some annotation"))):
  void func2();
  int member2 __attribute__((annotate("another annotation")));
};

void X::doSomething() {
  // RUN: c-index-test -code-completion-at=%s:13:9 %s | FileCheck %s
  this->;
}

// CHECK: CXXMethod:{ResultType void}{TypedText doSomething}{LeftParen (}{RightParen )} (34)
// CHECK: FieldDecl:{ResultType int}{TypedText field} (35) ("one", "two", "three")
// CHECK: CXXMethod:{ResultType void}{TypedText func2}{LeftParen (}{RightParen )} (34) ("some annotation")
// CHECK: FieldDecl:{ResultType int}{TypedText member2} (35) ("another annotation", "some annotation")
// CHECK: CXXMethod:{ResultType X &}{TypedText operator=}{LeftParen (}{Placeholder const X &}{RightParen )} (79)
// CHECK: ClassDecl:{TypedText X}{Text ::} (75)
// CHECK: CXXDestructor:{ResultType void}{TypedText ~X}{LeftParen (}{RightParen )} (79)

