[serialization] Handle @transparent on constructors and extensions as well.

Thanks for catching this, Dmitri and Joe.

Swift SVN r9354
This commit is contained in:
Jordan Rose
2013-10-15 18:02:49 +00:00
parent 016701a8cb
commit 7277b129b5
3 changed files with 15 additions and 5 deletions

View File

@@ -944,15 +944,15 @@ Decl *ModuleFile::getDecl(DeclID DID, Optional<DeclContext *> ForcedContext,
case decls_block::CONSTRUCTOR_DECL: {
DeclID parentID;
bool isImplicit, hasSelectorStyleSignature, isObjC;
bool isImplicit, hasSelectorStyleSignature, isObjC, isTransparent;
TypeID signatureID;
TypeID interfaceID;
DeclID implicitSelfID;
decls_block::ConstructorLayout::readRecord(scratch, parentID, isImplicit,
hasSelectorStyleSignature,
isObjC, signatureID,
interfaceID,
isObjC, isTransparent,
signatureID, interfaceID,
implicitSelfID);
auto parent = getDeclContext(parentID);
if (declOrOffset.isComplete())
@@ -1026,6 +1026,8 @@ Decl *ModuleFile::getDecl(DeclID DID, Optional<DeclContext *> ForcedContext,
if (hasSelectorStyleSignature)
ctor->setHasSelectorStyleSignature();
ctor->setIsObjC(isObjC);
if (isTransparent)
ctor->getMutableAttrs().setAttr(AK_transparent, SourceLoc());
if (genericParams)
for (auto &genericParam : *ctor->getGenericParams())