mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
SILGen: Use SILVTableVisitor instead of bespoke member traversal
This changes the order in which declarations are emitted. It also means we no longer emit a vtable entry for the materializeForSet of dynamic storage. Neither of these are intended to have any functional effect.
This commit is contained in:
@@ -772,12 +772,14 @@ SILDeclRef SILDeclRef::getNextOverriddenVTableEntry() const {
|
||||
// @NSManaged property, then it won't be in the vtable.
|
||||
if (overridden.getDecl()->hasClangNode())
|
||||
return SILDeclRef();
|
||||
if (overridden.getDecl()->getAttrs().hasAttribute<DynamicAttr>())
|
||||
if (overridden.getDecl()->isDynamic())
|
||||
return SILDeclRef();
|
||||
if (auto *ovFD = dyn_cast<FuncDecl>(overridden.getDecl()))
|
||||
if (auto *asd = ovFD->getAccessorStorageDecl()) {
|
||||
if (asd->hasClangNode())
|
||||
return SILDeclRef();
|
||||
if (asd->isDynamic())
|
||||
return SILDeclRef();
|
||||
}
|
||||
|
||||
// If we overrode a decl from an extension, it won't be in a vtable
|
||||
|
||||
Reference in New Issue
Block a user