private void InferType(GetSetAccessor node) { if (node.Type == null) { Node type = node.GetAccessor.Type ?? node.SetAccessor.Parameters[0].Type; node.SetType(type, false); } }
public CSharpSyntaxNode Convert(GetSetAccessor node) { PropertyDeclarationSyntax csProperty = SyntaxFactory.PropertyDeclaration(node.Type.ToCsNode <TypeSyntax>(), node.Name.Text); csProperty = csProperty.AddModifiers(node.Modifiers.ToCsNodes <SyntaxToken>()); AccessorDeclarationSyntax csGetAccess = SyntaxFactory .AccessorDeclaration(SyntaxKind.GetAccessorDeclaration) .WithBody(node.GetAccessor.Body.ToCsNode <BlockSyntax>()); AccessorDeclarationSyntax csSetAccess = SyntaxFactory .AccessorDeclaration(SyntaxKind.SetAccessorDeclaration) .WithBody(node.SetAccessor.Body.ToCsNode <BlockSyntax>()); if (node.JsDoc.Count > 0) { csProperty = csProperty.WithLeadingTrivia(SyntaxFactory.Trivia(node.JsDoc[0].ToCsNode <DocumentationCommentTriviaSyntax>())); } return(csProperty.AddAccessorListAccessors(csGetAccess, csSetAccess)); }