@@ -370,7 +370,7 @@ class alignas(1 << DeclAlignInBits) Decl {
370
370
IsStatic : 1
371
371
);
372
372
373
- SWIFT_INLINE_BITFIELD (VarDecl, AbstractStorageDecl, 4 +1 +1 +1 +1 ,
373
+ SWIFT_INLINE_BITFIELD (VarDecl, AbstractStorageDecl, 4 +1 +1 +1 +1 + 1 ,
374
374
// / The specifier associated with this variable or parameter. This
375
375
// / determines the storage semantics of the value e.g. mutability.
376
376
Specifier : 4 ,
@@ -387,6 +387,8 @@ class alignas(1 << DeclAlignInBits) Decl {
387
387
// / It is up to the debugger to instruct SIL how to access this variable.
388
388
IsDebuggerVar : 1 ,
389
389
390
+ // / Whether this is the backing storage for a lazy property.
391
+ IsLazyStorageProperty : 1 ,
390
392
391
393
// / Whether this is the backing storage for a property wrapper.
392
394
IsPropertyWrapperBackingProperty : 1
@@ -4803,6 +4805,7 @@ class VarDecl : public AbstractStorageDecl {
4803
4805
Bits.VarDecl .Specifier = static_cast <unsigned >(Sp);
4804
4806
Bits.VarDecl .IsCaptureList = IsCaptureList;
4805
4807
Bits.VarDecl .IsDebuggerVar = false ;
4808
+ Bits.VarDecl .IsLazyStorageProperty = false ;
4806
4809
Bits.VarDecl .HasNonPatternBindingInit = false ;
4807
4810
Bits.VarDecl .IsPropertyWrapperBackingProperty = false ;
4808
4811
}
@@ -5091,6 +5094,13 @@ class VarDecl : public AbstractStorageDecl {
5091
5094
void setDebuggerVar (bool IsDebuggerVar) {
5092
5095
Bits.VarDecl .IsDebuggerVar = IsDebuggerVar;
5093
5096
}
5097
+
5098
+ // / Is this the synthesized storage for a 'lazy' property?
5099
+ bool isLazyStorageProperty () const {
5100
+ return Bits.VarDecl .IsLazyStorageProperty ;
5101
+ }
5102
+ void setLazyStorageProperty (bool IsLazyStorage) {
5103
+ Bits.VarDecl .IsLazyStorageProperty = IsLazyStorage;
5094
5104
}
5095
5105
5096
5106
// / Retrieve the custom attribute that attaches a property wrapper to this
0 commit comments