@@ -659,7 +659,7 @@ class alignas(1 << DeclAlignInBits) Decl : public ASTAllocated<Decl> {
659659 HasAnyUnavailableValues : 1
660660 );
661661
662- SWIFT_INLINE_BITFIELD (ModuleDecl, TypeDecl, 1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 ,
662+ SWIFT_INLINE_BITFIELD (ModuleDecl, TypeDecl, 1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + 1 ,
663663 // / If the module is compiled as static library.
664664 StaticLibrary : 1 ,
665665
@@ -709,7 +709,10 @@ class alignas(1 << DeclAlignInBits) Decl : public ASTAllocated<Decl> {
709709
710710 // / If the map from @objc provided name to top level swift::Decl in this
711711 // / module is populated
712- ObjCNameLookupCachePopulated : 1
712+ ObjCNameLookupCachePopulated : 1 ,
713+
714+ // / Whether this module has been built with C++ interoperability enabled.
715+ HasCxxInteroperability : 1
713716 );
714717
715718 SWIFT_INLINE_BITFIELD (PrecedenceGroupDecl, Decl, 1 +2 ,
@@ -5293,10 +5296,10 @@ class AbstractStorageDecl : public ValueDecl {
52935296
52945297 // / Overwrite the registered implementation-info. This should be
52955298 // / used carefully.
5296- void setImplInfo (StorageImplInfo implInfo) {
5297- LazySemanticInfo. ImplInfoComputed = 1 ;
5298- ImplInfo = implInfo;
5299- }
5299+ void setImplInfo (StorageImplInfo implInfo);
5300+
5301+ // / Cache the implementation-info, for use by the request-evaluator.
5302+ void cacheImplInfo (StorageImplInfo implInfo);
53005303
53015304 ReadImplKind getReadImpl () const {
53025305 return getImplInfo ().getReadImpl ();
@@ -5311,9 +5314,7 @@ class AbstractStorageDecl : public ValueDecl {
53115314
53125315 // / Return true if this is a VarDecl that has storage associated with
53135316 // / it.
5314- bool hasStorage () const {
5315- return getImplInfo ().hasStorage ();
5316- }
5317+ bool hasStorage () const ;
53175318
53185319 // / Return true if this storage has the basic accessors/capability
53195320 // / to be mutated. This is generally constant after the accessors are
0 commit comments