Commit Graph

5 Commits

Author SHA1 Message Date
practicalswift
b704f1448b [gardening] Improve header consistency 2017-04-12 15:13:11 +02:00
Slava Pestov
7aabd80898 SIL: Stub out TypeConverter::getOverriddenVTableEntry()
This replaces SILDeclRef::getBaseOverriddenVTableEntry(). It lives
in the TypeConverter because it needs to use type lowering information
to determine if the method requires a new vtable entry or not.
2017-03-24 01:53:39 -07:00
Slava Pestov
ef7f6bf0ea SIL: Stub out TypeConverter::requiresNewVTableEntry() 2017-03-24 01:52:42 -07:00
Slava Pestov
aebf843dda SIL: Addressors don't need vtable entries
In the old vtable emission code, IRGen would skip addressors,
but they had entries in the SILVTable. This is still correct
behavior, so skip addressors explicitly in SILVTableVisitor.

We never call addressors dynamically, only inside a getter,
setter or materializeForSet. When a property with addressors
is overridden we provide new getters and setters (which may
or may not statically dispatch to a peer addressor).
2017-03-23 20:36:12 -07:00
Slava Pestov
c94e6b8a5e SIL: Add new SILVTableVisitor
This is a CRTP utility to walk the members of a class and
produce vtable entries. It will be used to clean up some
code duplication between SILGen and IRGen, and to provide
missing functionality for multiple vtable entries per
method.
2017-03-23 18:17:42 -07:00