internal static MethodDeclarationSyntax CreateIEnumerableFromParamsArrayMethod(MetaField field, MethodDeclarationSyntax paramsArrayMethod) { return paramsArrayMethod .WithParameterList(SyntaxFactory.ParameterList(SyntaxFactory.SingletonSeparatedList( SyntaxFactory.Parameter(ValuesParameterName.Identifier) .WithType(Syntax.IEnumerableOf(GetFullyQualifiedSymbolName(field.ElementType)))))); }
public static MethodDeclarationSyntax AppendParameterToMethod(MethodDeclarationSyntax method, ParameterSyntax parameter) { if (method.ParameterList.Parameters.Any()) { parameter = parameter.WithLeadingTrivia(SF.Space); } return method.WithParameterList(method.ParameterList.AddParameters(parameter)); }
private static ClassDeclarationSyntax UpdateClassToUseNewParameterClass(string className, ClassDeclarationSyntax classOld, MethodDeclarationSyntax methodOld) { var newParameter = SyntaxFactory.Parameter(SyntaxFactory.Identifier(FirstLetteToLower(className))).WithType(SyntaxFactory.ParseTypeName(className)); var parameters = SyntaxFactory.ParameterList(SyntaxFactory.SeparatedList<ParameterSyntax>().Add(newParameter)); var newMethod = methodOld.WithParameterList(parameters); var newClass = classOld.ReplaceNode(methodOld, newMethod); return newClass; }
private ParameterSyntax RemoveOutParameter(MethodDeclarationSyntax syntax, out MethodDeclarationSyntax convertedSyntax) { var list = syntax.ParameterList; ParameterSyntax outParam = null; foreach (var parameter in list.Parameters) { if (parameter.Modifiers.Count > 0) { foreach (var mod in parameter.Modifiers) { if (mod.ToString().Equals("out")) { outParam = parameter; } } } } convertedSyntax = syntax.WithParameterList(list.WithParameters(list.Parameters.Remove(outParam))); return outParam; }