@@ -300,6 +300,7 @@ class Remangler : public RemanglerBase {
300300 mangleChildNodesReversed (FuncType);
301301 }
302302
303+ void mangleGenericSpecializationNode (Node *node, const char *operatorStr);
303304 void mangleAnyNominalType (Node *node);
304305 void mangleAnyGenericType (Node *node, StringRef TypeOp);
305306 void mangleGenericArgs (Node *node, char &Separator,
@@ -1298,7 +1299,8 @@ void Remangler::mangleGenericPartialSpecializationNotReAbstracted(Node *node) {
12981299 mangleGenericPartialSpecialization (node);
12991300}
13001301
1301- void Remangler::mangleGenericSpecialization (Node *node) {
1302+ void Remangler::
1303+ mangleGenericSpecializationNode (Node *node, const char *operatorStr) {
13021304 bool FirstParam = true ;
13031305 for (NodePointer Child : *node) {
13041306 if (Child->getKind () == Node::Kind::GenericSpecializationParam) {
@@ -1308,39 +1310,32 @@ void Remangler::mangleGenericSpecialization(Node *node) {
13081310 }
13091311 assert (!FirstParam && " generic specialization with no substitutions" );
13101312
1311- switch (node->getKind ()) {
1312- case Node::Kind::GenericSpecialization:
1313- Buffer << " Tg" ;
1314- break ;
1315- case Node::Kind::GenericSpecializationPrespecialized:
1316- Buffer << " Ts" ;
1317- break ;
1318- case Node::Kind::GenericSpecializationNotReAbstracted:
1319- Buffer << " TG" ;
1320- break ;
1321- case Node::Kind::InlinedGenericFunction:
1322- Buffer << " Ti" ;
1323- break ;
1324- default :
1325- unreachable (" unsupported node" );
1326- }
1313+ Buffer << operatorStr;
13271314
13281315 for (NodePointer Child : *node) {
13291316 if (Child->getKind () != Node::Kind::GenericSpecializationParam)
13301317 mangle (Child);
13311318 }
13321319}
13331320
1321+ void Remangler::mangleGenericSpecialization (Node *node) {
1322+ mangleGenericSpecializationNode (node, " Tg" );
1323+ }
1324+
13341325void Remangler::mangleGenericSpecializationPrespecialized (Node *node) {
1335- mangleGenericSpecialization (node);
1326+ mangleGenericSpecializationNode (node, " Ts " );
13361327}
13371328
13381329void Remangler::mangleGenericSpecializationNotReAbstracted (Node *node) {
1339- mangleGenericSpecialization (node);
1330+ mangleGenericSpecializationNode (node, " TG" );
1331+ }
1332+
1333+ void Remangler::mangleGenericSpecializationInResilienceDomain (Node *node) {
1334+ mangleGenericSpecializationNode (node, " TB" );
13401335}
13411336
13421337void Remangler::mangleInlinedGenericFunction (Node *node) {
1343- mangleGenericSpecialization (node);
1338+ mangleGenericSpecializationNode (node, " Ti " );
13441339}
13451340
13461341
@@ -1372,6 +1367,7 @@ void Remangler::mangleGlobal(Node *node) {
13721367 case Node::Kind::GenericSpecialization:
13731368 case Node::Kind::GenericSpecializationPrespecialized:
13741369 case Node::Kind::GenericSpecializationNotReAbstracted:
1370+ case Node::Kind::GenericSpecializationInResilienceDomain:
13751371 case Node::Kind::InlinedGenericFunction:
13761372 case Node::Kind::GenericPartialSpecialization:
13771373 case Node::Kind::GenericPartialSpecializationNotReAbstracted:
0 commit comments