public CSharpSyntaxNode Convert(PropertySignature node) { PropertyDeclarationSyntax csProperty = SyntaxFactory.PropertyDeclaration(node.Type.ToCsNode <TypeSyntax>(), node.Name.Text); if (node.Parent != null && node.Parent.Kind == NodeKind.InterfaceDeclaration) { csProperty = csProperty.AddAccessorListAccessors(SyntaxFactory .AccessorDeclaration(SyntaxKind.GetAccessorDeclaration) .WithSemicolonToken(SyntaxFactory.Token(SyntaxKind.SemicolonToken))); if (!node.HasModify(NodeKind.ReadonlyKeyword)) { csProperty = csProperty.AddAccessorListAccessors(SyntaxFactory .AccessorDeclaration(SyntaxKind.SetAccessorDeclaration) .WithSemicolonToken(SyntaxFactory.Token(SyntaxKind.SemicolonToken))); } } if (node.JsDoc.Count > 0) { csProperty = csProperty.WithLeadingTrivia(SyntaxFactory.Trivia(node.JsDoc[0].ToCsNode <DocumentationCommentTriviaSyntax>())); } return(csProperty); }