AST: Fix up mangling of dependent types.

Don't fall through from GenericTypeParamType into DependentMemberType, and don't infinite loop on DependentMemberTypes. Oops.

Swift SVN r13720
This commit is contained in:
Joe Groff
2014-02-09 22:25:55 +00:00
parent 54dc5ff6af
commit 188b53c4ab

View File

@@ -960,14 +960,16 @@ void Mangler::mangleType(CanType type, ResilienceExpansion explosion,
Buffer << Index(paramTy->getDepth() - 1);
}
Buffer << Index(paramTy->getIndex());
return;
}
case TypeKind::DependentMember: {
Buffer << 'q';
auto memTy = cast<DependentMemberType>(type);
mangleType(type, explosion, 0);
mangleType(memTy.getBase(), explosion, 0);
mangleIdentifier(memTy->getName());
return;
}
case TypeKind::Function: