Skip to content

Commit f6a6958

Browse files
committed
Swift: mangle ParameterizedProtocolType
1 parent 92c20be commit f6a6958

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

swift/extractor/mangler/SwiftMangler.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,3 +379,15 @@ SwiftMangledName SwiftMangler::visitReferenceStorageType(const swift::ReferenceS
379379
ret << dispatcher.fetchLabel(type->getReferentType());
380380
return ret;
381381
}
382+
383+
SwiftMangledName SwiftMangler::visitParametrizedProtocolType(
384+
const swift::ParameterizedProtocolType* type) {
385+
auto ret = initMangled(type);
386+
ret << dispatcher.fetchLabel(type->getBaseType());
387+
ret << '<';
388+
for (auto arg : type->getArgs()) {
389+
ret << dispatcher.fetchLabel(arg);
390+
}
391+
ret << '>';
392+
return ret;
393+
}

swift/extractor/mangler/SwiftMangler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ class SwiftMangler : private swift::TypeVisitor<SwiftMangler, SwiftMangledName>,
8989
SwiftMangledName visitDynamicSelfType(const swift::DynamicSelfType* type);
9090
SwiftMangledName visitUnboundGenericType(const swift::UnboundGenericType* type);
9191
SwiftMangledName visitReferenceStorageType(const swift::ReferenceStorageType* type);
92+
SwiftMangledName visitParametrizedProtocolType(const swift::ParameterizedProtocolType* type);
9293

9394
private:
9495
static SwiftMangledName initMangled(const swift::TypeBase* type);

0 commit comments

Comments
 (0)