@@ -3309,7 +3309,45 @@ ManglingError Remangler::mangleOutlinedDestroy(Node *node, unsigned depth) {
3309
3309
Buffer << " WOh" ;
3310
3310
return ManglingError::Success;
3311
3311
}
3312
-
3312
+ ManglingError Remangler::mangleOutlinedEnumGetTag (Node *node, unsigned depth) {
3313
+ RETURN_IF_ERROR (mangleChildNodes (node, depth + 1 ));
3314
+ Buffer << " WOg" ;
3315
+ return ManglingError::Success;
3316
+ }
3317
+ ManglingError Remangler::mangleOutlinedEnumProjectDataForLoad (Node *node, unsigned depth) {
3318
+ if (node->getNumChildren () == 2 ) {
3319
+ auto ty = node->getChild (0 );
3320
+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3321
+ Buffer << " WOj" ;
3322
+ mangleIndex (node->getChild (1 )->getIndex ());
3323
+ return ManglingError::Success;
3324
+ } else {
3325
+ auto ty = node->getChild (0 );
3326
+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3327
+ auto sig = node->getChild (1 );
3328
+ RETURN_IF_ERROR (mangle (sig, depth + 1 ));
3329
+ Buffer << " WOj" ;
3330
+ mangleIndex (node->getChild (2 )->getIndex ());
3331
+ return ManglingError::Success;
3332
+ }
3333
+ }
3334
+ ManglingError Remangler::mangleOutlinedEnumTagStore (Node *node, unsigned depth) {
3335
+ if (node->getNumChildren () == 2 ) {
3336
+ auto ty = node->getChild (0 );
3337
+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3338
+ Buffer << " WOi" ;
3339
+ mangleIndex (node->getChild (1 )->getIndex ());
3340
+ return ManglingError::Success;
3341
+ } else {
3342
+ auto ty = node->getChild (0 );
3343
+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3344
+ auto sig = node->getChild (1 );
3345
+ RETURN_IF_ERROR (mangle (sig, depth + 1 ));
3346
+ Buffer << " WOi" ;
3347
+ mangleIndex (node->getChild (2 )->getIndex ());
3348
+ return ManglingError::Success;
3349
+ }
3350
+ }
3313
3351
ManglingError Remangler::mangleOutlinedVariable (Node *node, unsigned depth) {
3314
3352
Buffer << " Tv" ;
3315
3353
mangleIndex (node->getIndex ());
0 commit comments