private static void AnalyzeArrowExpressionClause(SyntaxNodeAnalysisContext context) { var arrowExpressionClause = (ArrowExpressionClauseSyntax)context.Node; SyntaxToken arrowToken = arrowExpressionClause.ArrowToken; NewLinePosition newLinePosition = context.GetArrowTokenNewLinePosition(); if (newLinePosition == NewLinePosition.None) { return; } FormattingSuggestion suggestion = FormattingAnalysis.AnalyzeNewLineBeforeOrAfter(arrowToken, arrowExpressionClause.Expression, newLinePosition); if (suggestion == FormattingSuggestion.AddNewLineBefore) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.PlaceNewLineAfterOrBeforeArrowToken, arrowToken.GetLocation(), "before"); } else if (suggestion == FormattingSuggestion.AddNewLineAfter) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.PlaceNewLineAfterOrBeforeArrowToken, arrowToken.GetLocation(), properties: DiagnosticProperties.AnalyzerOption_Invert, "after"); } }
private static void Analyze(SyntaxNodeAnalysisContext context, SyntaxToken token, ExpressionSyntax expression) { NewLinePosition newLinePosition = context.GetEqualsSignNewLinePosition(); if (newLinePosition == NewLinePosition.None) { return; } FormattingSuggestion suggestion = FormattingAnalysis.AnalyzeNewLineBeforeOrAfter(token, expression, newLinePosition); if (suggestion == FormattingSuggestion.AddNewLineBefore) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.PlaceNewLineAfterOrBeforeEqualsToken, token.GetLocation(), "before"); } else if (suggestion == FormattingSuggestion.AddNewLineAfter) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.PlaceNewLineAfterOrBeforeEqualsToken, token.GetLocation(), properties: DiagnosticProperties.AnalyzerOption_Invert, "after"); } }
private static void Analyze(SyntaxNodeAnalysisContext context, SyntaxToken token, ExpressionSyntax expression) { FormattingSuggestion suggestion = FormattingAnalysis.AnalyzeNewLineBeforeOrAfter(context, token, expression, AnalyzerOptionDiagnosticRules.AddNewLineAfterEqualsSignInsteadOfBeforeIt); if (suggestion == FormattingSuggestion.AddNewLineBefore) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.AddNewLineBeforeEqualsSignInsteadOfAfterItOrViceVersa, token.GetLocation()); } else if (suggestion == FormattingSuggestion.AddNewLineAfter) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.ReportOnly.AddNewLineAfterEqualsSignInsteadOfBeforeIt, token.GetLocation(), properties: DiagnosticProperties.AnalyzerOption_Invert); } }
private static void AnalyzeArrowExpressionClause(SyntaxNodeAnalysisContext context) { var arrowExpressionClause = (ArrowExpressionClauseSyntax)context.Node; SyntaxToken arrowToken = arrowExpressionClause.ArrowToken; FormattingSuggestion suggestion = FormattingAnalysis.AnalyzeNewLineBeforeOrAfter(context, arrowToken, arrowExpressionClause.Expression, AnalyzerOptions.AddNewLineAfterExpressionBodyArrowInsteadOfBeforeIt); if (suggestion == FormattingSuggestion.AddNewLineBefore) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticDescriptors.AddNewLineBeforeExpressionBodyArrowInsteadOfAfterItOrViceVersa, arrowToken.GetLocation()); } else if (suggestion == FormattingSuggestion.AddNewLineAfter) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticDescriptors.ReportOnly.AddNewLineAfterExpressionBodyArrowInsteadOfBeforeIt, arrowToken.GetLocation(), properties: DiagnosticProperties.AnalyzerOption_Invert); } }