mirror of
https://github.com/github/codeql.git
synced 2026-04-24 00:05:14 +02:00
Swift: mangle ParameterizedProtocolType
This commit is contained in:
@@ -379,3 +379,15 @@ SwiftMangledName SwiftMangler::visitReferenceStorageType(const swift::ReferenceS
|
||||
ret << dispatcher.fetchLabel(type->getReferentType());
|
||||
return ret;
|
||||
}
|
||||
|
||||
SwiftMangledName SwiftMangler::visitParametrizedProtocolType(
|
||||
const swift::ParameterizedProtocolType* type) {
|
||||
auto ret = initMangled(type);
|
||||
ret << dispatcher.fetchLabel(type->getBaseType());
|
||||
ret << '<';
|
||||
for (auto arg : type->getArgs()) {
|
||||
ret << dispatcher.fetchLabel(arg);
|
||||
}
|
||||
ret << '>';
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -89,6 +89,7 @@ class SwiftMangler : private swift::TypeVisitor<SwiftMangler, SwiftMangledName>,
|
||||
SwiftMangledName visitDynamicSelfType(const swift::DynamicSelfType* type);
|
||||
SwiftMangledName visitUnboundGenericType(const swift::UnboundGenericType* type);
|
||||
SwiftMangledName visitReferenceStorageType(const swift::ReferenceStorageType* type);
|
||||
SwiftMangledName visitParametrizedProtocolType(const swift::ParameterizedProtocolType* type);
|
||||
|
||||
private:
|
||||
static SwiftMangledName initMangled(const swift::TypeBase* type);
|
||||
|
||||
Reference in New Issue
Block a user