@@ -333,7 +333,7 @@ class alignas(1 << DeclAlignInBits) Decl {
333333 NumElements : 32
334334 );
335335
336- SWIFT_INLINE_BITFIELD (ValueDecl, Decl, 1 +1 +1 ,
336+ SWIFT_INLINE_BITFIELD (ValueDecl, Decl, 1 +1 +1 + 1 ,
337337 AlreadyInLookupTable : 1 ,
338338
339339 // / Whether we have already checked whether this declaration is a
@@ -342,7 +342,11 @@ class alignas(1 << DeclAlignInBits) Decl {
342342
343343 // / Whether the decl can be accessed by swift users; for instance,
344344 // / a.storage for lazy var a is a decl that cannot be accessed.
345- IsUserAccessible : 1
345+ IsUserAccessible : 1 ,
346+
347+ // / Whether this member was synthesized as part of a derived
348+ // / protocol conformance.
349+ Synthesized : 1
346350 );
347351
348352 SWIFT_INLINE_BITFIELD (AbstractStorageDecl, ValueDecl, 1 ,
@@ -387,7 +391,7 @@ class alignas(1 << DeclAlignInBits) Decl {
387391 SWIFT_INLINE_BITFIELD (SubscriptDecl, VarDecl, 2 ,
388392 StaticSpelling : 2
389393 );
390- SWIFT_INLINE_BITFIELD (AbstractFunctionDecl, ValueDecl, 3 +8 +1 +1 +1 +1 +1 +1 + 1 ,
394+ SWIFT_INLINE_BITFIELD (AbstractFunctionDecl, ValueDecl, 3 +8 +1 +1 +1 +1 +1 +1 ,
391395 // / \see AbstractFunctionDecl::BodyKind
392396 BodyKind : 3 ,
393397
@@ -406,10 +410,6 @@ class alignas(1 << DeclAlignInBits) Decl {
406410 // / Whether the function body throws.
407411 Throws : 1 ,
408412
409- // / Whether this member was synthesized as part of a derived
410- // / protocol conformance.
411- Synthesized : 1 ,
412-
413413 // / Whether this member's body consists of a single expression.
414414 HasSingleExpressionBody : 1 ,
415415
@@ -2020,6 +2020,7 @@ class ValueDecl : public Decl {
20202020 Bits.ValueDecl .AlreadyInLookupTable = false ;
20212021 Bits.ValueDecl .CheckedRedeclaration = false ;
20222022 Bits.ValueDecl .IsUserAccessible = true ;
2023+ Bits.ValueDecl .Synthesized = false ;
20232024 }
20242025
20252026 // MemberLookupTable borrows a bit from this type
@@ -2057,6 +2058,14 @@ class ValueDecl : public Decl {
20572058 return Bits.ValueDecl .IsUserAccessible ;
20582059 }
20592060
2061+ bool isSynthesized () const {
2062+ return Bits.ValueDecl .Synthesized ;
2063+ }
2064+
2065+ void setSynthesized (bool value = true ) {
2066+ Bits.ValueDecl .Synthesized = value;
2067+ }
2068+
20602069 bool hasName () const { return bool (Name); }
20612070 bool isOperator () const { return Name.isOperator (); }
20622071
@@ -3532,7 +3541,7 @@ class ClassDecl final : public NominalTypeDecl {
35323541
35333542 friend class SuperclassDeclRequest ;
35343543 friend class SuperclassTypeRequest ;
3535- friend class SemanticMembersRequest ;
3544+ friend class ABIMembersRequest ;
35363545 friend class HasMissingDesignatedInitializersRequest ;
35373546 friend class InheritsSuperclassInitializersRequest ;
35383547
@@ -5577,7 +5586,6 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
55775586 Bits.AbstractFunctionDecl .Overridden = false ;
55785587 Bits.AbstractFunctionDecl .Async = Async;
55795588 Bits.AbstractFunctionDecl .Throws = Throws;
5580- Bits.AbstractFunctionDecl .Synthesized = false ;
55815589 Bits.AbstractFunctionDecl .HasSingleExpressionBody = false ;
55825590 Bits.AbstractFunctionDecl .HasNestedTypeDeclarations = false ;
55835591 }
@@ -5784,14 +5792,6 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
57845792 // / vtable.
57855793 bool needsNewVTableEntry () const ;
57865794
5787- bool isSynthesized () const {
5788- return Bits.AbstractFunctionDecl .Synthesized ;
5789- }
5790-
5791- void setSynthesized (bool value = true ) {
5792- Bits.AbstractFunctionDecl .Synthesized = value;
5793- }
5794-
57955795public:
57965796 // / Retrieve the source range of the function body.
57975797 SourceRange getBodySourceRange () const ;
0 commit comments