Skip to content

Commit ddef82a

Browse files
committed
Serialization: manually write ‘FinalAttr’ if ‘isFinal’
1 parent f196d26 commit ddef82a

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

lib/Serialization/Serialization.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2724,6 +2724,11 @@ void Serializer::writeDecl(const Decl *D) {
27242724
writeDeclAttribute(Attr);
27252725
}
27262726

2727+
if (auto VD = dyn_cast<ValueDecl>(D)) {
2728+
if (VD->isFinal() && !D->getAttrs().hasAttribute<FinalAttr>())
2729+
writeDeclAttribute(new (D->getASTContext()) FinalAttr(/*Implicit=*/false));
2730+
}
2731+
27272732
if (auto *value = dyn_cast<ValueDecl>(D)) {
27282733
auto *storage = dyn_cast<AbstractStorageDecl>(value);
27292734
auto access = value->getFormalAccess();

0 commit comments

Comments
 (0)