@@ -195,6 +195,8 @@ TEST(TypeReflectionTest, GetUnderlyingType) {
195195 int *&var9 = var8;
196196 int var10[] = {};
197197 int *var11[] = {var8};
198+ int var12[2][5];
199+ int ***var13;
198200
199201 class C {
200202 public:
@@ -212,6 +214,11 @@ TEST(TypeReflectionTest, GetUnderlyingType) {
212214 C *&cvar9 = cvar8;
213215 C cvar10[] = {};
214216 C *cvar11[] = {cvar8};
217+ C cvar12[2][5];
218+ C ***cvar13;
219+
220+ enum E { e1, e2 };
221+ E evar0 = e1;
215222 )" ;
216223 GetAllTopLevelDecls (code, Decls);
217224 auto get_underly_var_type_as_str = [] (Decl *D) {
@@ -229,9 +236,9 @@ TEST(TypeReflectionTest, GetUnderlyingType) {
229236 EXPECT_EQ (get_underly_var_type_as_str (Decls[9 ]), " int" );
230237 EXPECT_EQ (get_underly_var_type_as_str (Decls[10 ]), " int" );
231238 EXPECT_EQ (get_underly_var_type_as_str (Decls[11 ]), " int" );
239+ EXPECT_EQ (get_underly_var_type_as_str (Decls[12 ]), " int" );
240+ EXPECT_EQ (get_underly_var_type_as_str (Decls[13 ]), " int" );
232241
233- EXPECT_EQ (get_underly_var_type_as_str (Decls[13 ]), " C" );
234- EXPECT_EQ (get_underly_var_type_as_str (Decls[14 ]), " C" );
235242 EXPECT_EQ (get_underly_var_type_as_str (Decls[15 ]), " C" );
236243 EXPECT_EQ (get_underly_var_type_as_str (Decls[16 ]), " C" );
237244 EXPECT_EQ (get_underly_var_type_as_str (Decls[17 ]), " C" );
@@ -242,6 +249,12 @@ TEST(TypeReflectionTest, GetUnderlyingType) {
242249 EXPECT_EQ (get_underly_var_type_as_str (Decls[22 ]), " C" );
243250 EXPECT_EQ (get_underly_var_type_as_str (Decls[23 ]), " C" );
244251 EXPECT_EQ (get_underly_var_type_as_str (Decls[24 ]), " C" );
252+ EXPECT_EQ (get_underly_var_type_as_str (Decls[25 ]), " C" );
253+ EXPECT_EQ (get_underly_var_type_as_str (Decls[26 ]), " C" );
254+ EXPECT_EQ (get_underly_var_type_as_str (Decls[27 ]), " C" );
255+ EXPECT_EQ (get_underly_var_type_as_str (Decls[28 ]), " C" );
256+
257+ EXPECT_EQ (get_underly_var_type_as_str (Decls[30 ]), " E" );
245258}
246259
247260TEST (TypeReflectionTest, IsUnderlyingTypeRecordType) {
0 commit comments