Skip to content

Commit 655336c

Browse files
authored
Merge pull request #77555 from swiftlang/egorzhdan/builtin-names
[cxx-interop] Simplify name generation for template arguments of builtin types
2 parents 359f898 + cbca55a commit 655336c

File tree

1 file changed

+5
-19
lines changed

1 file changed

+5
-19
lines changed

lib/ClangImporter/ClangClassTemplateNamePrinter.cpp

+5-19
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)