xref: /aosp_15_r20/external/clang/test/Index/complete-with-annotations.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
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 Li void 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