1*67e74705SXin Li template <typename X, typename Y> 2*67e74705SXin Li class C 3*67e74705SXin Li { 4*67e74705SXin Li }; 5*67e74705SXin Li 6*67e74705SXin Li class Foo 7*67e74705SXin Li { 8*67e74705SXin Li public: 9*67e74705SXin Li C<Foo, class Bar> c; 10*67e74705SXin Li }; 11*67e74705SXin Li foo()12*67e74705SXin Livoid foo() 13*67e74705SXin Li { 14*67e74705SXin Li Foo:: 15*67e74705SXin Li 16*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:14:8 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s 17*67e74705SXin Li // CHECK-CC1: FieldDecl:{ResultType C<Foo, class Bar>}{TypedText c} (35) 18*67e74705SXin Li // CHECK-CC1: ClassDecl:{TypedText Foo} (35) 19*67e74705SXin Li // CHECK-CC1: CXXMethod:{ResultType Foo &}{TypedText operator=}{LeftParen (}{Placeholder const Foo &}{RightParen )} 20*67e74705SXin Li // CHECK-CC1: CXXDestructor:{ResultType void}{TypedText ~Foo}{LeftParen (}{RightParen )} (35) 21