Serialization: Don't serialize the 'self' parameter

This commit is contained in:
Slava Pestov
2017-11-18 19:22:46 -05:00
parent 88f1bc82cf
commit be1512c89f
6 changed files with 43 additions and 39 deletions

View File

@@ -3157,7 +3157,6 @@ void Serializer::writeDecl(const Decl *D) {
fn->hasDynamicSelf(),
fn->hasForcedStaticDispatch(),
fn->hasThrows(),
fn->getParameterLists().size(),
addGenericEnvironmentRef(
fn->getGenericEnvironment()),
addTypeRef(ty),
@@ -3175,8 +3174,7 @@ void Serializer::writeDecl(const Decl *D) {
writeGenericParams(fn->getGenericParams());
// Write the body parameters.
for (auto pattern : fn->getParameterLists())
writeParameterList(pattern);
writeParameterList(fn->getParameterLists().back());
if (auto errorConvention = fn->getForeignErrorConvention())
writeForeignErrorConvention(*errorConvention);
@@ -3314,10 +3312,10 @@ void Serializer::writeDecl(const Decl *D) {
nameComponentsAndDependencies);
writeGenericParams(ctor->getGenericParams());
assert(ctor->getParameterLists().size() == 2);
// Why is this writing out the param list for self?
for (auto paramList : ctor->getParameterLists())
writeParameterList(paramList);
writeParameterList(ctor->getParameterLists().back());
if (auto errorConvention = ctor->getForeignErrorConvention())
writeForeignErrorConvention(*errorConvention);
break;
@@ -3337,9 +3335,6 @@ void Serializer::writeDecl(const Decl *D) {
addGenericEnvironmentRef(
dtor->getGenericEnvironment()),
addTypeRef(dtor->getInterfaceType()));
assert(dtor->getParameterLists().size() == 1);
// Why is this writing out the param list for self?
writeParameterList(dtor->getParameterLists()[0]);
break;
}