[region-isolation] Add parsing/serialization/type system support for a transferring OwnershipSpecifier.

This commit is contained in:
Michael Gottesman
2023-12-24 03:37:25 -08:00
parent 728d6809e9
commit 9513d298ec
21 changed files with 163 additions and 48 deletions

View File

@@ -2551,6 +2551,8 @@ static uint8_t getRawStableParamDeclSpecifier(swift::ParamDecl::Specifier sf) {
return uint8_t(serialization::ParamDeclSpecifier::LegacyShared);
case swift::ParamDecl::Specifier::LegacyOwned:
return uint8_t(serialization::ParamDeclSpecifier::LegacyOwned);
case swift::ParamDecl::Specifier::Transferring:
return uint8_t(serialization::ParamDeclSpecifier::Transferring);
}
llvm_unreachable("bad param decl specifier kind");
}
@@ -5426,7 +5428,8 @@ public:
S.addTypeRef(param.getPlainType()), paramFlags.isVariadic(),
paramFlags.isAutoClosure(), paramFlags.isNonEphemeral(), rawOwnership,
paramFlags.isIsolated(), paramFlags.isNoDerivative(),
paramFlags.isCompileTimeConst(), paramFlags.hasResultDependsOn());
paramFlags.isCompileTimeConst(), paramFlags.hasResultDependsOn(),
paramFlags.isTransferring());
}
}