@@ -818,6 +818,15 @@ TEST(FunctionReflectionTest, GetFunctionArgName) {
818
818
std::string code = R"(
819
819
void f1(int i, double d, long l, char ch) {}
820
820
void f2(const int i, double d[], long *l, char ch[4]) {}
821
+
822
+ template<class A, class B>
823
+ long get_size(A, B, int i = 0) {}
824
+
825
+ template<class A = int, class B = char>
826
+ long get_size(int i, A a = A(), B b = B()) {}
827
+
828
+ template<class A>
829
+ void get_size(long k, A, char ch = 'a', double l = 0.0) {}
821
830
)" ;
822
831
823
832
GetAllTopLevelDecls (code, Decls);
@@ -829,6 +838,19 @@ TEST(FunctionReflectionTest, GetFunctionArgName) {
829
838
EXPECT_EQ (Cpp::GetFunctionArgName (Decls[1 ], 1 ), " d" );
830
839
EXPECT_EQ (Cpp::GetFunctionArgName (Decls[1 ], 2 ), " l" );
831
840
EXPECT_EQ (Cpp::GetFunctionArgName (Decls[1 ], 3 ), " ch" );
841
+
842
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[2 ], 0 ), " " );
843
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[2 ], 1 ), " " );
844
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[2 ], 2 ), " i" );
845
+
846
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[3 ], 0 ), " i" );
847
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[3 ], 1 ), " a" );
848
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[3 ], 2 ), " b" );
849
+
850
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[4 ], 0 ), " k" );
851
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[4 ], 1 ), " " );
852
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[4 ], 2 ), " ch" );
853
+ EXPECT_EQ (Cpp::GetFunctionArgName (Decls[4 ], 3 ), " l" );
832
854
}
833
855
834
856
TEST (FunctionReflectionTest, GetFunctionArgDefault) {
0 commit comments