You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
else
{
+ if (method is SourcePropertyAccessorSymbol+ {+ MethodKind: MethodKind.PropertySet,+ AssociatedSymbol: SourcePropertySymbolBase { UsesFieldKeyword: true, BackingField: { } backingField }+ })+ {+ // https://github.com/dotnet/csharplang/blob/main/proposals/field-keyword.md#setter-analysis+ // setter assumes the backing field may be null and has to put the field into the correct state when exiting.+ if (getSlotForFieldOrPropertyOrEvent(backingField) is int memberSlot &&+ memberSlot > 0)+ {+ SetState(ref this.State, memberSlot, NullableFlowState.MaybeNull);+ }+ }
do
{
makeMembersMaybeNull(method, method.NotNullMembers);
makeMembersMaybeNull(method, method.NotNullWhenTrueMembers);
makeMembersMaybeNull(method, method.NotNullWhenFalseMembers);
method = method.OverriddenMethod;
}
while (method != null);
}
The text was updated successfully, but these errors were encountered:
#57012
dotnet/csharplang#8425
Tracks implementation of short-term nullability solution for
field
keyword in properties.Calling out a few areas to change to implement
set
enforcement (not part of the initial PR, but maybe we will do it as a stretch goal):roslyn/src/Compilers/CSharp/Portable/FlowAnalysis/NullableWalker.cs
Lines 687 to 699 in bdebb57
roslyn/src/Compilers/CSharp/Portable/FlowAnalysis/NullableWalker.cs
Lines 949 to 959 in bdebb57
The text was updated successfully, but these errors were encountered: