Demangler: Fill in places we need to handle symbolic references and OtherNominalTypes when demangling bound generic types.

This commit is contained in:
Joe Groff
2018-02-13 15:27:35 -08:00
committed by Pavel Yaskevich
parent 194c84e0a4
commit eb316818c5
7 changed files with 58 additions and 9 deletions

View File

@@ -1611,18 +1611,21 @@ static int doPrintLocalTypes(const CompilerInvocation &InitInvok,
case NodeKind::Structure:
case NodeKind::Class:
case NodeKind::Enum:
case NodeKind::OtherNominalType:
break;
case NodeKind::BoundGenericStructure:
case NodeKind::BoundGenericClass:
case NodeKind::BoundGenericEnum:
case NodeKind::BoundGenericOtherNominalType:
// Base type
typeNode = node->getFirstChild();
// Nominal type
node = typeNode->getFirstChild();
assert(node->getKind() == NodeKind::Structure ||
node->getKind() == NodeKind::Class ||
node->getKind() == NodeKind::Enum);
node->getKind() == NodeKind::Enum ||
node->getKind() == NodeKind::OtherNominalType);
break;
default: