@@ -306,7 +306,6 @@ namespace {
306
306
bool trySubstitution (Node *node, SubstitutionEntry &entry);
307
307
bool mangleStandardSubstitution (Node *node);
308
308
void addSubstitution (const SubstitutionEntry &entry);
309
- void resetSubstitutions ();
310
309
311
310
void mangleDependentGenericParamIndex (Node *node);
312
311
void mangleConstrainedType (Node *node);
@@ -389,13 +388,6 @@ static NodePointer applyParamLabels(NodePointer LabelList, NodePointer OrigType,
389
388
return Type;
390
389
}
391
390
392
- // / Reset the currently-active set of substitutions. This is useful
393
- // / when part of the mangling is done independently, e.g. when an
394
- // / optimization pass modifies a pass.
395
- void Remangler::resetSubstitutions () {
396
- Substitutions.clear ();
397
- }
398
-
399
391
bool Remangler::trySubstitution (Node *node, SubstitutionEntry &entry) {
400
392
if (mangleStandardSubstitution (node))
401
393
return true ;
@@ -520,147 +512,47 @@ void Remangler::mangleSuffix(Node *node) {
520
512
}
521
513
522
514
void Remangler::mangleGenericSpecialization (Node *node) {
523
- Out << " TSg" ;
524
- mangleChildNodes (node); // GenericSpecializationParams
525
-
526
- // Specializations are just prepended to already-mangled names.
527
- resetSubstitutions ();
528
-
529
- // Start another mangled name.
530
- Out << " __T" ;
515
+ unreachable (" unsupported" );
531
516
}
532
517
533
518
void Remangler::mangleGenericSpecializationNotReAbstracted (Node *node) {
534
- Out << " TSr" ;
535
- mangleChildNodes (node); // GenericSpecializationParams
536
-
537
- // Specializations are just prepended to already-mangled names.
538
- resetSubstitutions ();
539
-
540
- // Start another mangled name.
541
- Out << " __T" ;
519
+ unreachable (" unsupported" );
542
520
}
543
521
544
522
void Remangler::mangleInlinedGenericFunction (Node *node) {
545
- Out << " TSi" ;
546
- mangleChildNodes (node); // GenericSpecializationParams
547
-
548
- // Specializations are just prepended to already-mangled names.
549
- resetSubstitutions ();
550
-
551
- // Start another mangled name.
552
- Out << " __T" ;
523
+ unreachable (" unsupported" );
553
524
}
554
525
555
526
void Remangler::mangleGenericPartialSpecialization (Node *node) {
556
- unreachable (" todo " );
527
+ unreachable (" unsupported " );
557
528
}
558
529
559
530
void Remangler::mangleGenericPartialSpecializationNotReAbstracted (Node *node) {
560
- unreachable (" todo " );
531
+ unreachable (" unsupported " );
561
532
}
562
533
563
534
void Remangler::mangleGenericSpecializationParam (Node *node) {
564
- // Should be a type followed by a series of protocol conformances.
565
- mangleChildNodes (node);
566
- Out << ' _' ;
535
+ unreachable (" unsupported" );
567
536
}
568
537
569
538
void Remangler::mangleFunctionSignatureSpecialization (Node *node) {
570
- Out << " TSf" ;
571
- mangleChildNodes (node); // FunctionSignatureSpecializationParams
572
-
573
- // Specializations are just prepended to already-mangled names.
574
- resetSubstitutions ();
575
-
576
- // Start another mangled name.
577
- Out << " __T" ;
539
+ unreachable (" unsupported" );
578
540
}
579
541
580
542
void Remangler::mangleSpecializationPassID (Node *node) {
581
- Out << node-> getIndex ( );
543
+ unreachable ( " unsupported " );
582
544
}
583
545
584
546
void Remangler::mangleIsSerialized (Node *node) {
585
547
Out << " q" ;
586
548
}
587
549
588
550
void Remangler::mangleFunctionSignatureSpecializationReturn (Node *node) {
589
- mangleFunctionSignatureSpecializationParam (node );
551
+ unreachable ( " unsupported " );
590
552
}
591
553
592
554
void Remangler::mangleFunctionSignatureSpecializationParam (Node *node) {
593
- if (!node->hasChildren ()) {
594
- Out << " n_" ;
595
- return ;
596
- }
597
-
598
- // The first child is always a kind that specifies the type of param that we
599
- // have.
600
- NodePointer firstChild = node->getChild (0 );
601
- unsigned kindValue = firstChild->getIndex ();
602
- auto kind = FunctionSigSpecializationParamKind (kindValue);
603
-
604
- switch (kind) {
605
- case FunctionSigSpecializationParamKind::ConstantPropFunction:
606
- Out << " cpfr" ;
607
- mangleIdentifier (node->getChild (1 ));
608
- Out << ' _' ;
609
- return ;
610
- case FunctionSigSpecializationParamKind::ConstantPropGlobal:
611
- Out << " cpg" ;
612
- mangleIdentifier (node->getChild (1 ));
613
- Out << ' _' ;
614
- return ;
615
- case FunctionSigSpecializationParamKind::ConstantPropInteger:
616
- Out << " cpi" << node->getChild (1 )->getText () << ' _' ;
617
- return ;
618
- case FunctionSigSpecializationParamKind::ConstantPropFloat:
619
- Out << " cpfl" << node->getChild (1 )->getText () << ' _' ;
620
- return ;
621
- case FunctionSigSpecializationParamKind::ConstantPropString: {
622
- Out << " cpse" ;
623
- StringRef encodingStr = node->getChild (1 )->getText ();
624
- if (encodingStr == " u8" )
625
- Out << ' 0' ;
626
- else if (encodingStr == " u16" )
627
- Out << ' 1' ;
628
- else
629
- unreachable (" Unknown encoding" );
630
- Out << ' v' ;
631
- mangleIdentifier (node->getChild (2 ));
632
- Out << ' _' ;
633
- return ;
634
- }
635
- case FunctionSigSpecializationParamKind::ClosureProp:
636
- Out << " cl" ;
637
- mangleIdentifier (node->getChild (1 ));
638
- for (unsigned i = 2 , e = node->getNumChildren (); i != e; ++i) {
639
- mangleType (node->getChild (i));
640
- }
641
- Out << ' _' ;
642
- return ;
643
- case FunctionSigSpecializationParamKind::BoxToValue:
644
- Out << " i_" ;
645
- return ;
646
- case FunctionSigSpecializationParamKind::BoxToStack:
647
- Out << " k_" ;
648
- return ;
649
- default :
650
- if (kindValue &
651
- unsigned (FunctionSigSpecializationParamKind::Dead))
652
- Out << ' d' ;
653
- if (kindValue &
654
- unsigned (FunctionSigSpecializationParamKind::OwnedToGuaranteed))
655
- Out << ' g' ;
656
- if (kindValue &
657
- unsigned (FunctionSigSpecializationParamKind::GuaranteedToOwned))
658
- Out << ' o' ;
659
- if (kindValue & unsigned (FunctionSigSpecializationParamKind::SROA))
660
- Out << ' s' ;
661
- Out << ' _' ;
662
- return ;
663
- }
555
+ unreachable (" unsupported" );
664
556
}
665
557
666
558
void Remangler::mangleFunctionSignatureSpecializationParamPayload (Node *node) {
0 commit comments