mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Make DynamicSelf into its own special type node.
Making DynamicSelf its own special type node makes it easier to opt-in to the behavior we want rather than opting out of the behavior we don't want. Some things already work better with this representation, such as mangling and overriding; others are more broken, such as the handling of DynamicSelf within generic classes and the lookup of the DynamicSelf type. Swift SVN r13141
This commit is contained in:
@@ -392,6 +392,11 @@ namespace decls_block {
|
||||
// Trailed by the nested types record.
|
||||
>;
|
||||
|
||||
using DynamicSelfTypeLayout = BCRecordLayout<
|
||||
DYNAMIC_SELF_TYPE,
|
||||
TypeIDField // self type
|
||||
>;
|
||||
|
||||
using ArchetypeNestedTypeNamesLayout = BCRecordLayout<
|
||||
ARCHETYPE_NESTED_TYPE_NAMES,
|
||||
BCArray<IdentifierIDField>
|
||||
@@ -621,6 +626,7 @@ namespace decls_block {
|
||||
BCFixed<1>, // IBAction?
|
||||
BCFixed<1>, // transparent?
|
||||
BCFixed<1>, // mutating?
|
||||
BCFixed<1>, // has dynamic self?
|
||||
BCFixed<1>, // optional?
|
||||
BCVBR<5>, // number of parameter patterns
|
||||
TypeIDField, // type (signature)
|
||||
|
||||
Reference in New Issue
Block a user