Skip to content

Commit c8bbb4b

Browse files
sudo-pandavgvassilev
authored andcommitted
Do not return scoped types in GetType
1 parent f4a6fa7 commit c8bbb4b

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

lib/Interpreter/CppInterOp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,7 @@ namespace Cpp {
11141114
if (!builtin.isNull())
11151115
return builtin.getAsOpaquePtr();
11161116

1117-
auto *D = (Decl *)GetScopeFromCompleteName(S, name);
1117+
auto *D = (Decl *)GetNamed(S, name, /* Within= */ 0);
11181118
if (auto *TD = llvm::dyn_cast_or_null<TypeDecl>(D)) {
11191119
return QualType(TD->getTypeForDecl(), 0).getAsOpaquePtr();
11201120
}

unittests/CppInterOp/TypeReflectionTest.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,15 @@ TEST(TypeReflectionTest, GetType) {
103103
Interp.reset(static_cast<compat::Interpreter *>(Cpp::CreateInterpreter()));
104104
Sema *S = &Interp->getCI()->getSema();
105105

106-
std::string code = R"(
107-
#include <string>
106+
std::string code = R"(
107+
class A {};
108108
)";
109109

110110
Interp->declare(code);
111111

112112
EXPECT_EQ(Cpp::GetTypeAsString(Cpp::GetType(S, "int")), "int");
113113
EXPECT_EQ(Cpp::GetTypeAsString(Cpp::GetType(S, "double")), "double");
114-
EXPECT_EQ(Cpp::GetTypeAsString(Cpp::GetType(S, "std::string")),
115-
"std::string");
114+
EXPECT_EQ(Cpp::GetTypeAsString(Cpp::GetType(S, "A")), "A");
116115
}
117116

118117
TEST(TypeReflectionTest, IsRecordType) {

0 commit comments

Comments
 (0)