Skip to content

Commit cbca55a

Browse files
committed
[cxx-interop] Simplify name generation for template arguments of builtin types
We were searching for types in the Swift stdlib by name, just to get the names back from the types. Let's just return the type name without performing the search. No user-facing change intended.
1 parent 4902e69 commit cbca55a

File tree

1 file changed

+5
-19
lines changed

1 file changed

+5
-19
lines changed

lib/ClangImporter/ClangClassTemplateNamePrinter.cpp

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,33 +35,19 @@ struct TemplateInstantiationNamePrinter
3535
}
3636

3737
std::string VisitBuiltinType(const clang::BuiltinType *type) {
38-
Type swiftType = nullptr;
3938
switch (type->getKind()) {
4039
case clang::BuiltinType::Void:
41-
swiftType =
42-
swiftCtx.getNamedSwiftType(swiftCtx.getStdlibModule(), "Void");
43-
break;
40+
return "Void";
41+
4442
#define MAP_BUILTIN_TYPE(CLANG_BUILTIN_KIND, SWIFT_TYPE_NAME) \
45-
case clang::BuiltinType::CLANG_BUILTIN_KIND: \
46-
swiftType = swiftCtx.getNamedSwiftType(swiftCtx.getStdlibModule(), \
47-
#SWIFT_TYPE_NAME); \
48-
break;
49-
#define MAP_BUILTIN_CCHAR_TYPE(CLANG_BUILTIN_KIND, SWIFT_TYPE_NAME) \
50-
case clang::BuiltinType::CLANG_BUILTIN_KIND: \
51-
swiftType = swiftCtx.getNamedSwiftType(swiftCtx.getStdlibModule(), \
52-
#SWIFT_TYPE_NAME); \
53-
break;
43+
case clang::BuiltinType::CLANG_BUILTIN_KIND: \
44+
return #SWIFT_TYPE_NAME;
5445
#include "swift/ClangImporter/BuiltinMappedTypes.def"
5546
default:
5647
break;
5748
}
5849

59-
if (swiftType) {
60-
if (swiftType->is<NominalType>() || swiftType->isVoid()) {
61-
return swiftType->getStringAsComponent();
62-
}
63-
}
64-
return "_";
50+
return VisitType(type);
6551
}
6652

6753
std::string VisitTagType(const clang::TagType *type) {

0 commit comments

Comments
 (0)