12259d85aSDouglas Gregor template <typename X, typename Y> 22259d85aSDouglas Gregor class C 32259d85aSDouglas Gregor { 42259d85aSDouglas Gregor }; 52259d85aSDouglas Gregor 62259d85aSDouglas Gregor class Foo 72259d85aSDouglas Gregor { 82259d85aSDouglas Gregor public: 92259d85aSDouglas Gregor C<Foo, class Bar> c; 102259d85aSDouglas Gregor }; 112259d85aSDouglas Gregor foo()122259d85aSDouglas Gregorvoid foo() 132259d85aSDouglas Gregor { 142259d85aSDouglas Gregor Foo:: 152259d85aSDouglas Gregor 1619ae1175STim Northover // RUN: c-index-test -code-completion-at=%s:14:8 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s 179ae3956fSArgyrios Kyrtzidis // CHECK-CC1: FieldDecl:{ResultType C<Foo, class Bar>}{TypedText c} (35) 189ae3956fSArgyrios Kyrtzidis // CHECK-CC1: ClassDecl:{TypedText Foo} (35) 199ae3956fSArgyrios Kyrtzidis // CHECK-CC1: CXXMethod:{ResultType Foo &}{TypedText operator=}{LeftParen (}{Placeholder const Foo &}{RightParen )} 20*4e7a6fefSIlya Biryukov // CHECK-CC1: CXXDestructor:{ResultType void}{TypedText ~Foo}{LeftParen (}{RightParen )} (80) 21