@@ -464,13 +464,17 @@ TEST(FunctionReflectionTest, GetFunctionSignature) {
464464 std::string code = R"(
465465 class C {
466466 void f(int i, double d, long l = 0, char ch = 'a') {}
467+ template<typename T>
468+ void ft(T a) {}
467469 };
468470
469471 namespace N
470472 {
471473 void f(int i, double d, long l = 0, char ch = 'a') {}
472474 }
473475
476+ template<typename T>
477+ void ft(T a) {}
474478 void f1() {}
475479 C f2(int i, double d, long l = 0, char ch = 'a') { return C(); }
476480 C *f3(int i, double d, long l = 0, char ch = 'a') { return new C(); }
@@ -482,18 +486,19 @@ TEST(FunctionReflectionTest, GetFunctionSignature) {
482486 GetAllSubDecls (Decls[0 ], Decls);
483487 GetAllSubDecls (Decls[1 ], Decls);
484488
485- EXPECT_EQ (Cpp::GetFunctionSignature (Decls[2 ]), " void f1()" );
486- EXPECT_EQ (Cpp::GetFunctionSignature (Decls[3 ]),
487- " C f2(int i, double d, long l = 0, char ch = 'a')" );
489+ EXPECT_EQ (Cpp::GetFunctionSignature (Decls[2 ]), " void ft(T a)" );
490+ EXPECT_EQ (Cpp::GetFunctionSignature (Decls[3 ]), " void f1()" );
488491 EXPECT_EQ (Cpp::GetFunctionSignature (Decls[4 ]),
489- " C *f3 (int i, double d, long l = 0, char ch = 'a')" );
492+ " C f2 (int i, double d, long l = 0, char ch = 'a')" );
490493 EXPECT_EQ (Cpp::GetFunctionSignature (Decls[5 ]),
491- " void f4 (int i = 0 , double d = 0. , long l = 0, char ch = 'a')" );
494+ " C *f3 (int i, double d, long l = 0, char ch = 'a')" );
492495 EXPECT_EQ (Cpp::GetFunctionSignature (Decls[6 ]),
493- " <unknown>" );
494- EXPECT_EQ (Cpp::GetFunctionSignature (Decls[8 ]),
496+ " void f4(int i = 0, double d = 0., long l = 0, char ch = 'a')" );
497+ EXPECT_EQ (Cpp::GetFunctionSignature (Decls[7 ]), " <unknown>" );
498+ EXPECT_EQ (Cpp::GetFunctionSignature (Decls[9 ]),
495499 " void C::f(int i, double d, long l = 0, char ch = 'a')" );
496- EXPECT_EQ (Cpp::GetFunctionSignature (Decls[13 ]),
500+ EXPECT_EQ (Cpp::GetFunctionSignature (Decls[10 ]), " void C::ft(T a)" );
501+ EXPECT_EQ (Cpp::GetFunctionSignature (Decls[15 ]),
497502 " void N::f(int i, double d, long l = 0, char ch = 'a')" );
498503 EXPECT_EQ (Cpp::GetFunctionSignature (nullptr ), " <unknown>" );
499504}
0 commit comments