private static GenericInfo ToSingleLine(GenericInfo info) { SyntaxNode declaration = info.Node; SyntaxList <TypeParameterConstraintClauseSyntax> constraintClauses = info.ConstraintClauses; SyntaxToken previousToken = declaration.FindToken(constraintClauses.First().FullSpan.Start - 1); declaration = declaration.ReplaceToken(previousToken, previousToken.WithTrailingTrivia(TriviaList(ElasticSpace))); int count = constraintClauses.Count; for (int i = 0; i < count; i++) { TypeParameterConstraintClauseSyntax constraintClause = constraintClauses[i]; TextSpan?span = null; if (i == count - 1) { span = TextSpan.FromBounds(constraintClause.FullSpan.Start, constraintClause.Span.End); } TypeParameterConstraintClauseSyntax newNode = constraintClause .RemoveWhitespace(span) .WithFormatterAnnotation(); constraintClauses = constraintClauses.ReplaceAt(i, newNode); } return(SyntaxInfo.GenericInfo(declaration).WithConstraintClauses(constraintClauses)); }