public override SyntaxNode VisitArgumentList(ArgumentListSyntax node) { SeparatedSyntaxList <ArgumentSyntax> arguments = node.Arguments; for (int i = 0; i < arguments.Count; i++) { ArgumentSyntax arg = arguments[i]; if (arg.IsKind(SyntaxKind.RangeArgument)) { SyntaxToken tokn = arguments[i].GetFirstToken(); if (tokn.IsKind(SyntaxKind.IntegerLiteralToken)) { if (tokn.ValueText == "1") { var newIndexStart = SyntaxFactory.IntegerLiteralToken( "0", LiteralBase.Decimal, TypeCharacter.IntegerLiteral, 0); var newArrayArgument = arg.ReplaceToken(tokn, newIndexStart); arguments = arguments.Replace(arg, newArrayArgument); } } } } return(node.WithArguments(arguments)); }