private static bool CanBeSet(IPropertySymbol targetProperty, SyntaxNode globbalTargetAccessor, bool isConstructorContext) { var isPrivateField = targetProperty.SetMethod?.DeclaredAccessibility != Accessibility.Public; var isOutsideThisScope = globbalTargetAccessor?.Kind() != SyntaxKind.ThisExpression; if (targetProperty.CanBeSetOnlyFromConstructor() && isConstructorContext == false) { return(false); } if (isPrivateField && isOutsideThisScope) { return(false); } return(true); }