Skip to content

Commit 12e6e69

Browse files
Vipul-Cariappaaaronj0
authored andcommitted
apply changes from code review
1 parent bbb8895 commit 12e6e69

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

include/clang/Interpreter/CppInterOp.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,8 +428,11 @@ namespace Cpp {
428428
CPPINTEROP_API std::vector<TCppScope_t> GetDatamembers(TCppScope_t scope);
429429

430430
/// Gets all the Static Fields/Data Members of a Class
431-
CPPINTEROP_API std::vector<TCppScope_t>
432-
GetStaticDatamembers(TCppScope_t scope);
431+
///\param[in] scope - class
432+
///\param[out] funcs - vector of static data members
433+
CPPINTEROP_API void
434+
GetStaticDatamembers(TCppScope_t scope,
435+
std::vector<TCppScope_t>& datamembers);
433436

434437
/// This is a Lookup function to be used specifically for data members.
435438
CPPINTEROP_API TCppScope_t LookupDatamember(const std::string& name,

lib/Interpreter/CppInterOp.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,10 +1161,9 @@ namespace Cpp {
11611161
return {};
11621162
}
11631163

1164-
std::vector<TCppScope_t> GetStaticDatamembers(TCppScope_t scope) {
1165-
std::vector<TCppScope_t> datamembers;
1164+
void GetStaticDatamembers(TCppScope_t scope,
1165+
std::vector<TCppScope_t>& datamembers) {
11661166
GetClassDecls<VarDecl>(scope, datamembers);
1167-
return datamembers;
11681167
}
11691168

11701169
TCppScope_t LookupDatamember(const std::string& name, TCppScope_t parent) {

unittests/CppInterOp/VariableReflectionTest.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,26 @@ TEST(VariableReflectionTest, GetDatamembers) {
3131
GetAllTopLevelDecls(code, Decls);
3232
auto datamembers = Cpp::GetDatamembers(Decls[0]);
3333
auto datamembers1 = Cpp::GetDatamembers(Decls[1]);
34-
auto static_datamembers = Cpp::GetStaticDatamembers(Decls[0]);
35-
auto static_datamembers1 = Cpp::GetStaticDatamembers(Decls[1]);
3634

37-
// non static field first
35+
// non static field
3836
EXPECT_EQ(Cpp::GetQualifiedName(datamembers[0]), "C::a");
3937
EXPECT_EQ(Cpp::GetQualifiedName(datamembers[1]), "C::c");
4038
EXPECT_EQ(Cpp::GetQualifiedName(datamembers[2]), "C::e");
4139
EXPECT_EQ(datamembers.size(), 3);
4240
EXPECT_EQ(datamembers1.size(), 0);
4341

4442
// static fields
45-
EXPECT_EQ(Cpp::GetQualifiedName(static_datamembers[0]), "C::b");
46-
EXPECT_EQ(Cpp::GetQualifiedName(static_datamembers[1]), "C::d");
47-
EXPECT_EQ(Cpp::GetQualifiedName(static_datamembers[2]), "C::f");
48-
EXPECT_EQ(static_datamembers.size(), 3);
49-
EXPECT_EQ(static_datamembers1.size(), 0);
43+
datamembers.clear();
44+
datamembers1.clear();
45+
46+
Cpp::GetStaticDatamembers(Decls[0], datamembers);
47+
Cpp::GetStaticDatamembers(Decls[1], datamembers1);
48+
49+
EXPECT_EQ(Cpp::GetQualifiedName(datamembers[0]), "C::b");
50+
EXPECT_EQ(Cpp::GetQualifiedName(datamembers[1]), "C::d");
51+
EXPECT_EQ(Cpp::GetQualifiedName(datamembers[2]), "C::f");
52+
EXPECT_EQ(datamembers.size(), 3);
53+
EXPECT_EQ(datamembers1.size(), 0);
5054
}
5155

5256
#define CODE \

0 commit comments

Comments
 (0)