private static void AnalyzeAccessorDeclaration(SyntaxNodeAnalysisContext context) { var accessor = (AccessorDeclarationSyntax)context.Node; BlockSyntax block = accessor.Body; if (block == null) { return; } SyntaxToken openBrace = block.OpenBraceToken; if (openBrace.IsMissing) { return; } if (DiagnosticRules.FormatAccessorBracesOnSingleLineWhenExpressionIsOnSingleLine.IsEffective(context) && accessor.SyntaxTree.IsMultiLineSpan(TextSpan.FromBounds(accessor.Keyword.SpanStart, accessor.Span.End)) && CanBeMadeSingleLine(accessor)) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.FormatAccessorBracesOnSingleLineWhenExpressionIsOnSingleLine, accessor); } AccessorBracesStyle style = context.GetAccessorBracesStyle(); if (style == AccessorBracesStyle.None) { return; } if (accessor.SyntaxTree.IsSingleLineSpan(TextSpan.FromBounds(accessor.Keyword.SpanStart, accessor.Span.End))) { if (style == AccessorBracesStyle.MultiLine || !CanBeMadeSingleLine(accessor)) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.FormatAccessorBraces, block.OpenBraceToken, "multiple lines"); } } else if (style == AccessorBracesStyle.SingleLineWhenExpressionIsOnSingleLine && CanBeMadeSingleLine(accessor)) { DiagnosticHelpers.ReportDiagnostic( context, DiagnosticRules.FormatAccessorBraces, block.OpenBraceToken, "a single line"); } }