Sema: Add request to compute if an AccessorDecl is transparent

Implicit accessors are sometimes transparent for performance reasons.
Previously this was done in Sema by maybeMarkTransparent(), which would
add a TransparentAttr. Replace this with a request.
This commit is contained in:
Slava Pestov
2019-07-26 23:46:34 -04:00
parent 37f0d6a613
commit e41760e44f
12 changed files with 131 additions and 31 deletions

View File

@@ -52,7 +52,7 @@ const uint16_t SWIFTMODULE_VERSION_MAJOR = 0;
/// describe what change you made. The content of this comment isn't important;
/// it just ensures a conflict if two people change the module format.
/// Don't worry about adhering to the 80-column limit for this line.
const uint16_t SWIFTMODULE_VERSION_MINOR = 505; // track vtable entries for storage
const uint16_t SWIFTMODULE_VERSION_MINOR = 506; // transparent accessor bit
using DeclIDField = BCFixed<31>;
@@ -1139,6 +1139,7 @@ namespace decls_block {
AccessorKindField, // accessor kind
AccessLevelField, // access level
BCFixed<1>, // requires a new vtable slot
BCFixed<1>, // is transparent
BCArray<IdentifierIDField> // name components,
// followed by TypeID dependencies
// The record is trailed by: