private static ExpressionSyntax ParenthesizeIfNecessary(this ExpressionSyntax expression, SyntaxKind kind) { if (expression != null && CSharpAnalysis.GetOperatorPrecedence(expression) > CSharpAnalysis.GetOperatorPrecedence(kind)) { expression = expression.Parenthesize(moveTrivia: true); } return(expression); }
private static void Analyze(SyntaxNodeAnalysisContext context, SyntaxKind kind, ExpressionSyntax expression) { if (expression != null && GetGroupNumber(kind) == GetGroupNumber(expression.Kind()) && CSharpAnalysis.GetOperatorPrecedence(expression) < CSharpAnalysis.GetOperatorPrecedence(kind)) { context.ReportDiagnostic( DiagnosticDescriptors.AddParenthesesAccordingToOperatorPrecedence, expression); } }
private static ExpressionSyntax ParenthesizeIfNecessary(ExpressionSyntax expression, SyntaxKind parentKind) { if (CSharpAnalysis.GetOperatorPrecedence(expression) > CSharpAnalysis.GetOperatorPrecedence(parentKind)) { return(expression.Parenthesize(moveTrivia: true)); } else { return(expression); } }