private PropertyDeclarationSyntax CreateProperty() { var getAccessor = _property.GetAccessor(); var newGetAccessor = getAccessor .WithTrailingTrivia() .WithBody(FieldName.ToIdentifierName().ToReturnStatement().ToBlock()) .WithSemicolonToken(default(SyntaxToken)); var newAccessors = _property.AccessorList .F(n => n.ReplaceNode(getAccessor, newGetAccessor)) .F(n => n.RemoveNode(n.SetAccessor(), KeepNoTrivia)) .Nicefy(); return(_property.ReplaceNode(_property.AccessorList, newAccessors)); }
private static bool CanHandle(PropertyDeclarationSyntax property) { Contract.Requires(property != null); var getAccessor = property.GetAccessor(); var setAccessor = property.SetAccessor(); var isFullAuto = (getAccessor != null && getAccessor.Body != null && setAccessor != null && setAccessor.Body != null); var isAutoSet = (getAccessor != null && getAccessor.Body == null && setAccessor == null); return(isFullAuto || isAutoSet); }
public static AccessorDeclarationSyntax GetSetAccessor(this PropertyDeclarationSyntax property) => property?.GetAccessor(SyntaxKind.SetAccessorDeclaration);