public SyntaxList <StatementSyntax> InsertGeneratedClassMemberDeclarations( SyntaxList <StatementSyntax> convertedStatements, CS.CSharpSyntaxNode originaNode, bool isModule) { var descendantNodes = originaNode.DescendantNodes().ToList(); var propertyBlocks = descendantNodes.OfType <CSS.PropertyDeclarationSyntax>() .Where(e => e.AccessorList != null && e.AccessorList.Accessors.Any(a => a.Body == null && a.ExpressionBody == null && a.Modifiers.ContainsDeclaredVisibility())) .ToList(); return(convertedStatements.InsertRange(0, ConvertToDeclarationStatement(propertyBlocks, isModule))); }
private SyntaxList <StatementSyntax> InsertRequiredDeclarations( SyntaxList <StatementSyntax> convertedStatements, CS.CSharpSyntaxNode originaNode) { var descendantNodes = originaNode.DescendantNodes().ToList(); var declarationExpressions = descendantNodes.OfType <CSS.DeclarationExpressionSyntax>() .Where(e => !e.Parent.IsKind(CSSyntaxKind.ForEachVariableStatement)) //Handled inline for tuple loop .ToList(); var isPatternExpressions = descendantNodes.OfType <CSS.IsPatternExpressionSyntax>().ToList(); if (declarationExpressions.Any() || isPatternExpressions.Any()) { convertedStatements = convertedStatements.InsertRange(0, ConvertToDeclarationStatement(declarationExpressions, isPatternExpressions)); } return(convertedStatements); }