Skip to content

Commit a4904be

Browse files
authored
Merge pull request #7442 from DougGregor/remove-dead-demangling
2 parents 751d61a + 5b7e2d3 commit a4904be

File tree

6 files changed

+2
-63
lines changed

6 files changed

+2
-63
lines changed

include/swift/Basic/DemangleNodes.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#endif
2626

2727
CONTEXT_NODE(Allocator)
28-
NODE(Archetype)
2928
NODE(ArgumentTuple)
3029
NODE(AssociatedType)
3130
NODE(AssociatedTypeRef)

lib/AST/Type.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2604,6 +2604,8 @@ ArchetypeType::getNew(const ASTContext &Ctx,
26042604
SmallVectorImpl<ProtocolDecl *> &ConformsTo,
26052605
Type Superclass,
26062606
LayoutConstraint Layout) {
2607+
assert(genericEnvironment && "missing generic environment for archetype");
2608+
26072609
// Gather the set of protocol declarations to which this archetype conforms.
26082610
ProtocolType::canonicalizeProtocols(ConformsTo);
26092611

lib/Basic/Demangle.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2494,7 +2494,6 @@ class NodePrinter {
24942494
/// production.
24952495
bool isSimpleType(NodePointer pointer) {
24962496
switch (pointer->getKind()) {
2497-
case Node::Kind::Archetype:
24982497
case Node::Kind::AssociatedType:
24992498
case Node::Kind::AssociatedTypeRef:
25002499
case Node::Kind::BoundGenericClass:
@@ -3633,14 +3632,6 @@ void NodePrinter::print(NodePointer pointer, bool asContext, bool suppressType)
36333632
printChildren(type_list, " & ");
36343633
return;
36353634
}
3636-
case Node::Kind::Archetype: {
3637-
Printer << pointer->getText();
3638-
if (pointer->hasChildren()) {
3639-
Printer << " : ";
3640-
print(pointer->getChild(0));
3641-
}
3642-
return;
3643-
}
36443635
case Node::Kind::AssociatedType:
36453636
// Don't print for now.
36463637
return;

lib/Basic/Remangle.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1370,15 +1370,6 @@ void Remangler::mangleConstrainedType(Node *node) {
13701370
}
13711371
}
13721372

1373-
void Remangler::mangleArchetype(Node *node) {
1374-
if (node->hasChildren()) {
1375-
assert(node->getNumChildren() == 1);
1376-
mangleProtocolListWithoutPrefix(node->begin()->get());
1377-
} else {
1378-
Out << '_';
1379-
}
1380-
}
1381-
13821373
void Remangler::mangleAssociatedType(Node *node) {
13831374
if (node->hasChildren()) {
13841375
assert(node->getNumChildren() == 1);

lib/Basic/Remangler.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -461,10 +461,6 @@ void Remangler::mangleAllocator(Node *node) {
461461
Buffer << "fC";
462462
}
463463

464-
void Remangler::mangleArchetype(Node *node) {
465-
unreachable("unsupported node");
466-
}
467-
468464
void Remangler::mangleArgumentTuple(Node *node) {
469465
Node *Child = skipType(getSingleChild(node));
470466
if (Child->getKind() == Node::Kind::NonVariadicTuple &&

lib/IDE/TypeReconstruction.cpp

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -719,42 +719,6 @@ static void VisitNodeAddressor(
719719
result._types.push_back(swift_can_func_type.getPointer());
720720
}
721721

722-
static void VisitNodeArchetype(
723-
ASTContext *ast, std::vector<Demangle::NodePointer> &nodes,
724-
Demangle::NodePointer &cur_node, VisitNodeResult &result,
725-
const VisitNodeResult &generic_context) { // set by GenericType case
726-
const StringRef &archetype_name(cur_node->getText());
727-
VisitNodeResult protocol_list;
728-
for (Demangle::Node::iterator pos = cur_node->begin(), end = cur_node->end();
729-
pos != end; ++pos) {
730-
const Demangle::Node::Kind child_node_kind = (*pos)->getKind();
731-
switch (child_node_kind) {
732-
case Demangle::Node::Kind::ProtocolList:
733-
nodes.push_back(*pos);
734-
VisitNode(ast, nodes, protocol_list, generic_context);
735-
break;
736-
default:
737-
result._error =
738-
stringWithFormat("%s encountered in generics children",
739-
SwiftDemangleNodeKindToCString(child_node_kind));
740-
break;
741-
}
742-
}
743-
744-
SmallVector<ProtocolDecl *, 1> conforms_to;
745-
if (protocol_list.HasSingleType()) {
746-
(void)protocol_list.GetFirstType()->isExistentialType(conforms_to);
747-
}
748-
749-
if (ast) {
750-
result._types.push_back(ArchetypeType::getNew(
751-
*ast, nullptr, ast->getIdentifier(archetype_name), conforms_to,
752-
Type(), LayoutConstraint()));
753-
} else {
754-
result._error = "invalid ASTContext";
755-
}
756-
}
757-
758722
static void VisitNodeAssociatedTypeRef(
759723
ASTContext *ast, std::vector<Demangle::NodePointer> &nodes,
760724
Demangle::NodePointer &cur_node, VisitNodeResult &result,
@@ -2017,10 +1981,6 @@ static void visitNodeImpl(
20171981
VisitNodeAddressor(ast, nodes, node, result, genericContext);
20181982
break;
20191983

2020-
case Demangle::Node::Kind::Archetype:
2021-
VisitNodeArchetype(ast, nodes, node, result, genericContext);
2022-
break;
2023-
20241984
case Demangle::Node::Kind::ArgumentTuple:
20251985
VisitFirstChildNode(ast, nodes, node, result, genericContext);
20261986
break;

0 commit comments

Comments
 (0)