Skip to content

Commit f51dcf6

Browse files
Vipul-Cariappavgvassilev
authored andcommitted
Minimal example of a bug from cppyy
That needs to be fixed at CppInterOp reference: look at comments at compiler-research/cppyy-backend#116
1 parent 30aa130 commit f51dcf6

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

unittests/CppInterOp/VariableReflectionTest.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,39 @@ TEST(VariableReflectionTest, DatamembersWithAnonymousStructOrUnion) {
159159
#endif
160160
}
161161

162+
TEST(VariableReflectionTest, GetTypeAsString) {
163+
if (llvm::sys::RunningOnValgrind())
164+
GTEST_SKIP() << "XFAIL due to Valgrind report";
165+
166+
std::string code = R"(
167+
namespace my_namespace {
168+
169+
struct Container {
170+
int value;
171+
};
172+
173+
struct Wrapper {
174+
Container item;
175+
};
176+
177+
}
178+
)";
179+
180+
Cpp::CreateInterpreter();
181+
EXPECT_EQ(Cpp::Declare(code.c_str()), 0);
182+
183+
Cpp::TCppScope_t wrapper =
184+
Cpp::GetScopeFromCompleteName("my_namespace::Wrapper");
185+
EXPECT_TRUE(wrapper);
186+
187+
std::vector<Cpp::TCppScope_t> datamembers;
188+
Cpp::GetDatamembers(wrapper, datamembers);
189+
EXPECT_EQ(datamembers.size(), 1);
190+
191+
EXPECT_EQ(Cpp::GetTypeAsString(Cpp::GetVariableType(datamembers[0])),
192+
"my_namespace::Container");
193+
}
194+
162195
TEST(VariableReflectionTest, LookupDatamember) {
163196
std::vector<Decl*> Decls;
164197
std::string code = R"(

0 commit comments

Comments
 (0)