Beispiel #1
0
        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);
     }
 }
Beispiel #3
0
 private static ExpressionSyntax ParenthesizeIfNecessary(ExpressionSyntax expression, SyntaxKind parentKind)
 {
     if (CSharpAnalysis.GetOperatorPrecedence(expression) > CSharpAnalysis.GetOperatorPrecedence(parentKind))
     {
         return(expression.Parenthesize(moveTrivia: true));
     }
     else
     {
         return(expression);
     }
 }