@@ -197,19 +197,30 @@ SwiftMangledName SwiftMangler::visitAnyFunctionType(const swift::AnyFunctionType
197197 auto ret = initMangled (type);
198198 for (const auto & param : type->getParams ()) {
199199 ret << fetch (param.getPlainType ());
200- if (param.isInOut ()) {
201- ret << " _inout" ;
200+ auto flags = param.getParameterFlags ();
201+ ret << " _" << getNameForParamSpecifier (flags.getOwnershipSpecifier ());
202+ if (flags.isIsolated ()) {
203+ ret << " _isolated" ;
202204 }
203- if (param. isOwned ()) {
204- ret << " _owned " ;
205+ if (flags. isAutoClosure ()) {
206+ ret << " _autoclosure " ;
205207 }
206- if (param. isShared ()) {
207- ret << " _shared " ;
208+ if (flags. isNonEphemeral ()) {
209+ ret << " _nonephermeral " ;
208210 }
209- if (param .isIsolated ()) {
211+ if (flags .isIsolated ()) {
210212 ret << " _isolated" ;
211213 }
212- if (param.isVariadic ()) {
214+ if (flags.isSending ()) {
215+ ret << " _sending" ;
216+ }
217+ if (flags.isCompileTimeConst ()) {
218+ ret << " _compiletimeconst" ;
219+ }
220+ if (flags.isNoDerivative ()) {
221+ ret << " _noderivative" ;
222+ }
223+ if (flags.isVariadic ()) {
213224 ret << " ..." ;
214225 }
215226 }
@@ -219,6 +230,9 @@ SwiftMangledName SwiftMangler::visitAnyFunctionType(const swift::AnyFunctionType
219230 }
220231 if (type->isThrowing ()) {
221232 ret << " _throws" ;
233+ if (type->hasThrownError ()) {
234+ ret << " (" << fetch (type->getThrownError ()) << " )" ;
235+ }
222236 }
223237 if (type->isSendable ()) {
224238 ret << " _sendable" ;
0 commit comments