public override IEnumerable <SyntaxNode> GetSyntax() { var method = SyntaxFactory.MethodDeclaration ( SyntaxFactory.PredefinedType ( SyntaxFactory.Token(SyntaxKind.VoidKeyword) ), SyntaxFactory.Identifier(Name) ) .WithModifiers(SyntaxHelpers.GetModifiers(Modifiers)); if (!string.IsNullOrWhiteSpace(Comment)) { method = method.WithLeadingTrivia(GetDocumentationTriviaSyntax()); } var block = SyntaxFactory.Block(); foreach (var port in Ports.Where(x => x.PortType == Enums.PortType.Out)) { foreach (var connectedPort in port.ConnectedPorts.Cast <CSPort>()) { block = block.AddStatements(connectedPort.GetStatementSyntax().ToArray()); } } return(new[] { method.WithBody(block) }); }