@@ -300,6 +300,7 @@ class Remangler : public RemanglerBase {
300
300
mangleChildNodesReversed (FuncType);
301
301
}
302
302
303
+ void mangleGenericSpecializationNode (Node *node, const char *operatorStr);
303
304
void mangleAnyNominalType (Node *node);
304
305
void mangleAnyGenericType (Node *node, StringRef TypeOp);
305
306
void mangleGenericArgs (Node *node, char &Separator,
@@ -1298,7 +1299,8 @@ void Remangler::mangleGenericPartialSpecializationNotReAbstracted(Node *node) {
1298
1299
mangleGenericPartialSpecialization (node);
1299
1300
}
1300
1301
1301
- void Remangler::mangleGenericSpecialization (Node *node) {
1302
+ void Remangler::
1303
+ mangleGenericSpecializationNode (Node *node, const char *operatorStr) {
1302
1304
bool FirstParam = true ;
1303
1305
for (NodePointer Child : *node) {
1304
1306
if (Child->getKind () == Node::Kind::GenericSpecializationParam) {
@@ -1308,39 +1310,32 @@ void Remangler::mangleGenericSpecialization(Node *node) {
1308
1310
}
1309
1311
assert (!FirstParam && " generic specialization with no substitutions" );
1310
1312
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;
1327
1314
1328
1315
for (NodePointer Child : *node) {
1329
1316
if (Child->getKind () != Node::Kind::GenericSpecializationParam)
1330
1317
mangle (Child);
1331
1318
}
1332
1319
}
1333
1320
1321
+ void Remangler::mangleGenericSpecialization (Node *node) {
1322
+ mangleGenericSpecializationNode (node, " Tg" );
1323
+ }
1324
+
1334
1325
void Remangler::mangleGenericSpecializationPrespecialized (Node *node) {
1335
- mangleGenericSpecialization (node);
1326
+ mangleGenericSpecializationNode (node, " Ts " );
1336
1327
}
1337
1328
1338
1329
void Remangler::mangleGenericSpecializationNotReAbstracted (Node *node) {
1339
- mangleGenericSpecialization (node);
1330
+ mangleGenericSpecializationNode (node, " TG" );
1331
+ }
1332
+
1333
+ void Remangler::mangleGenericSpecializationInResilienceDomain (Node *node) {
1334
+ mangleGenericSpecializationNode (node, " TB" );
1340
1335
}
1341
1336
1342
1337
void Remangler::mangleInlinedGenericFunction (Node *node) {
1343
- mangleGenericSpecialization (node);
1338
+ mangleGenericSpecializationNode (node, " Ti " );
1344
1339
}
1345
1340
1346
1341
@@ -1372,6 +1367,7 @@ void Remangler::mangleGlobal(Node *node) {
1372
1367
case Node::Kind::GenericSpecialization:
1373
1368
case Node::Kind::GenericSpecializationPrespecialized:
1374
1369
case Node::Kind::GenericSpecializationNotReAbstracted:
1370
+ case Node::Kind::GenericSpecializationInResilienceDomain:
1375
1371
case Node::Kind::InlinedGenericFunction:
1376
1372
case Node::Kind::GenericPartialSpecialization:
1377
1373
case Node::Kind::GenericPartialSpecializationNotReAbstracted:
0 commit comments