private void InferType(GetSetAccessor node)
 {
     if (node.Type == null)
     {
         Node type = node.GetAccessor.Type ?? node.SetAccessor.Parameters[0].Type;
         node.SetType(type, false);
     }
 }
Esempio n. 2
0
        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));
        }