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