mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
(De)Mangling of layout constraints and requirements.
This commit is contained in:
@@ -1340,6 +1340,26 @@ void Remangler::mangleDependentGenericSameTypeRequirement(Node *node) {
|
||||
mangle(node->getChild(1).get());
|
||||
}
|
||||
|
||||
void Remangler::mangleDependentGenericLayoutRequirement(Node *node) {
|
||||
mangleConstrainedType(node->getChild(0).get());
|
||||
Out << 'l';
|
||||
auto id = node->getChild(1)->getText();
|
||||
auto size = -1;
|
||||
if (node->getNumChildren() > 2) {
|
||||
size = node->getChild(2)->getIndex();
|
||||
}
|
||||
int alignment = -1;
|
||||
if (node->getNumChildren() > 3) {
|
||||
alignment = node->getChild(3)->getIndex();
|
||||
}
|
||||
Out << id;
|
||||
if (size >= 0)
|
||||
Out << size;
|
||||
if (alignment >= 0) {
|
||||
Out << "_" << alignment;
|
||||
}
|
||||
}
|
||||
|
||||
void Remangler::mangleConstrainedType(Node *node) {
|
||||
if (node->getFirstChild()->getKind()
|
||||
== Node::Kind::DependentGenericParamType) {
|
||||
|
||||
Reference in New Issue
Block a user