Skip to content

Commit 360b168

Browse files
committed
Remove support for the obsolete Qualified Archetype mangling from everywhere.
1 parent 630596d commit 360b168

File tree

8 files changed

+0
-96
lines changed

8 files changed

+0
-96
lines changed

include/swift/Demangling/DemangleNodes.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ NODE(ProtocolWitness)
148148
NODE(ProtocolWitnessTable)
149149
NODE(ProtocolWitnessTableAccessor)
150150
NODE(ProtocolWitnessTablePattern)
151-
NODE(QualifiedArchetype)
152151
NODE(ReabstractionThunk)
153152
NODE(ReabstractionThunkHelper)
154153
NODE(RelatedEntityDeclName)

lib/Demangling/Demangler.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,13 +1560,6 @@ NodePointer Demangler::demangleArchetype() {
15601560
addSubstitution(AssocTy);
15611561
return AssocTy;
15621562
}
1563-
case 'q': {
1564-
NodePointer Idx = demangleIndexAsNode();
1565-
NodePointer Ctx = popContext();
1566-
NodePointer DeclCtx = createWithChild(Node::Kind::DeclContext, Ctx);
1567-
return createType(createWithChildren(Node::Kind::QualifiedArchetype,
1568-
Idx, DeclCtx));
1569-
}
15701563
case 'y': {
15711564
NodePointer T = demangleAssociatedTypeSimple(demangleGenericParamIndex());
15721565
addSubstitution(T);

lib/Demangling/NodePrinter.cpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,6 @@ class NodePrinter {
282282
case Node::Kind::Module:
283283
case Node::Kind::Tuple:
284284
case Node::Kind::Protocol:
285-
case Node::Kind::QualifiedArchetype:
286285
case Node::Kind::ReturnType:
287286
case Node::Kind::SILBoxType:
288287
case Node::Kind::SILBoxTypeWithLayout:
@@ -1668,20 +1667,6 @@ NodePointer NodePrinter::print(NodePointer Node, bool asPrefixContext) {
16681667
case Node::Kind::AssociatedType:
16691668
// Don't print for now.
16701669
return nullptr;
1671-
case Node::Kind::QualifiedArchetype: {
1672-
if (Options.ShortenArchetype) {
1673-
Printer << "(archetype)";
1674-
return nullptr;
1675-
}
1676-
if (Node->getNumChildren() < 2)
1677-
return nullptr;
1678-
NodePointer number = Node->getChild(0);
1679-
NodePointer decl_ctx = Node->getChild(1);
1680-
Printer << "(archetype " << number->getIndex() << " of ";
1681-
print(decl_ctx);
1682-
Printer << ")";
1683-
return nullptr;
1684-
}
16851670
case Node::Kind::OwningAddressor:
16861671
return printAbstractStorage(Node->getFirstChild(), asPrefixContext,
16871672
"owningAddressor");

lib/Demangling/OldDemangler.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1705,20 +1705,6 @@ class OldDemangler {
17051705
NodePointer stdlib = Factory.createNode(Node::Kind::Module, STDLIB_NAME);
17061706
return makeAssociatedType(stdlib);
17071707
}
1708-
if (Mangled.nextIf('q')) {
1709-
NodePointer index = demangleIndexAsNode();
1710-
if (!index)
1711-
return nullptr;
1712-
NodePointer decl_ctx = Factory.createNode(Node::Kind::DeclContext);
1713-
NodePointer ctx = demangleContext();
1714-
if (!ctx)
1715-
return nullptr;
1716-
decl_ctx->addChild(ctx, Factory);
1717-
auto qual_atype = Factory.createNode(Node::Kind::QualifiedArchetype);
1718-
qual_atype->addChild(index, Factory);
1719-
qual_atype->addChild(decl_ctx, Factory);
1720-
return qual_atype;
1721-
}
17221708
return nullptr;
17231709
}
17241710

lib/Demangling/OldRemangler.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1628,11 +1628,6 @@ void Remangler::mangleAssociatedType(Node *node) {
16281628
}
16291629
}
16301630

1631-
void Remangler::mangleQualifiedArchetype(Node *node) {
1632-
Out << "Qq";
1633-
mangleChildNodes(node); // index, declcontext
1634-
}
1635-
16361631
void Remangler::mangleDeclContext(Node *node) {
16371632
mangleSingleChildNode(node);
16381633
}

lib/Demangling/Remangler.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1602,12 +1602,6 @@ void Remangler::mangleProtocolWitnessTableAccessor(Node *node) {
16021602
Buffer << "Wa";
16031603
}
16041604

1605-
void Remangler::mangleQualifiedArchetype(Node *node) {
1606-
mangleChildNode(node, 1);
1607-
Buffer << "Qq";
1608-
mangleNumber(node->getFirstChild());
1609-
}
1610-
16111605
void Remangler::mangleReabstractionThunk(Node *node) {
16121606
if (node->getNumChildren() == 3) {
16131607
mangleChildNode(node, 1); // type 1

lib/IDE/TypeReconstruction.cpp

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2079,49 +2079,6 @@ static void VisitNodeProtocolListWithAnyObject(
20792079
}
20802080
}
20812081

2082-
static void VisitNodeQualifiedArchetype(
2083-
ASTContext *ast,
2084-
Demangle::NodePointer cur_node, VisitNodeResult &result) {
2085-
if (cur_node->begin() != cur_node->end()) {
2086-
VisitNodeResult type_result;
2087-
uint64_t index = 0xFFFFFFFFFFFFFFFF;
2088-
for (Demangle::NodePointer ChildNd : *cur_node) {
2089-
switch (ChildNd->getKind()) {
2090-
case Demangle::Node::Kind::Number:
2091-
index = ChildNd->getIndex();
2092-
break;
2093-
case Demangle::Node::Kind::DeclContext:
2094-
VisitNode(ast, ChildNd, type_result);
2095-
break;
2096-
default:
2097-
break;
2098-
}
2099-
}
2100-
if (index != 0xFFFFFFFFFFFFFFFF) {
2101-
Decl *decl_ptr = nullptr;
2102-
if (type_result._decls.size() == 1) {
2103-
decl_ptr = type_result._decls[0];
2104-
} else if (type_result._module.IsExtension()) {
2105-
decl_ptr = type_result._module.GetExtendedDecl();
2106-
}
2107-
2108-
if (decl_ptr) {
2109-
auto *dc = decl_ptr->getInnermostDeclContext();
2110-
auto *sig = dc->getGenericSignatureOfContext();
2111-
if (sig) {
2112-
auto params = sig->getInnermostGenericParams();
2113-
if (index < params.size()) {
2114-
auto argTy = dc->mapTypeIntoContext(params[index])
2115-
->getAs<ArchetypeType>();
2116-
if (argTy)
2117-
result._types.push_back(argTy);
2118-
}
2119-
}
2120-
}
2121-
}
2122-
}
2123-
}
2124-
21252082
static void VisitNodeTupleElement(
21262083
ASTContext *ast,
21272084
Demangle::NodePointer cur_node, VisitNodeResult &result) {
@@ -2414,10 +2371,6 @@ static void VisitNode(
24142371
VisitNodeProtocolListWithAnyObject(ast, node, result);
24152372
break;
24162373

2417-
case Demangle::Node::Kind::QualifiedArchetype:
2418-
VisitNodeQualifiedArchetype(ast, node, result);
2419-
break;
2420-
24212374
case Demangle::Node::Kind::TupleElement:
24222375
VisitNodeTupleElement(ast, node, result);
24232376
break;

test/Demangle/Inputs/manglings.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,6 @@ _TFVV15nested_generics5Lunch6DinnerCfT11firstCoursex12secondCourseGSqqd___9lefto
244244
_TFVFC15nested_generics7HotDogs11applyRelishFT_T_L_6RelishCfT8materialx_GS1_x_ ---> init(material: A) -> Relish #1 in nested_generics.HotDogs.applyRelish() -> ()<A> in Relish #1 in nested_generics.HotDogs.applyRelish() -> ()
245245
_TFVFE15nested_genericsSS3fooFT_T_L_6CheeseCfT8materialx_GS0_x_ ---> init(material: A) -> Cheese #1 in (extension in nested_generics):Swift.String.foo() -> ()<A> in Cheese #1 in (extension in nested_generics):Swift.String.foo() -> ()
246246
_TTWOE5imojiCSo5Imoji14ImojiMatchRankS_9RankValueS_FS2_g9rankValueqq_Ss16RawRepresentable8RawValue ---> _TTWOE5imojiCSo5Imoji14ImojiMatchRankS_9RankValueS_FS2_g9rankValueqq_Ss16RawRepresentable8RawValue
247-
_TtFzas4VoidGC16FusionXBaseUtils6FutureQq_ZFVS_7Futures6futureurFFzT_GS0_x_GS0_x__ ---> _TtFzas4VoidGC16FusionXBaseUtils6FutureQq_ZFVS_7Futures6futureurFFzT_GS0_x_GS0_x__
248247
_T0s17MutableCollectionP1asAARzs012RandomAccessB0RzsAA11SubSequences013BidirectionalB0PRpzsAdHRQlE06rotatecD05Indexs01_A9IndexablePQzAM15shiftingToStart_tFAJs01_J4BasePQzAQcfU_ ---> closure #1 (A.Index) -> A.Index in (extension in a):Swift.MutableCollection<A where A: Swift.MutableCollection, A: Swift.RandomAccessCollection, A.SubSequence: Swift.MutableCollection, A.SubSequence: Swift.RandomAccessCollection>.rotateRandomAccess(shiftingToStart: A.Index) -> A.Index
249248
_$Ss17MutableCollectionP1asAARzs012RandomAccessB0RzsAA11SubSequences013BidirectionalB0PRpzsAdHRQlE06rotatecD015shiftingToStart5Indexs01_A9IndexablePQzAN_tFAKs01_M4BasePQzAQcfU_ ---> closure #1 (A.Index) -> A.Index in (extension in a):Swift.MutableCollection<A where A: Swift.MutableCollection, A: Swift.RandomAccessCollection, A.SubSequence: Swift.MutableCollection, A.SubSequence: Swift.RandomAccessCollection>.rotateRandomAccess(shiftingToStart: A.Index) -> A.Index
250249
_T03foo4_123ABTf3psbpsb_n ---> function signature specialization <Arg[0] = [Constant Propagated String : u8'123'], Arg[1] = [Constant Propagated String : u8'123']> of foo

0 commit comments

Comments
 (0)