diff --git a/src/Analyzers/CSharp/Analysis/UseBlockBodyOrExpressionBodyAnalyzer.cs b/src/Analyzers/CSharp/Analysis/UseBlockBodyOrExpressionBodyAnalyzer.cs index be28f38fc7..a7570ad38f 100644 --- a/src/Analyzers/CSharp/Analysis/UseBlockBodyOrExpressionBodyAnalyzer.cs +++ b/src/Analyzers/CSharp/Analysis/UseBlockBodyOrExpressionBodyAnalyzer.cs @@ -76,7 +76,7 @@ private static void AnalyzeMethodDeclaration(SyntaxNodeAnalysisContext context) if (!analysis.Success) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenDeclarationIsMultiLine == true @@ -208,7 +208,7 @@ private static void AnalyzeOperatorDeclaration(SyntaxNodeAnalysisContext context if (!analysis.Success) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenDeclarationIsMultiLine == true @@ -272,7 +272,7 @@ private static void AnalyzeConversionOperatorDeclaration(SyntaxNodeAnalysisConte if (!analysis.Success) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenDeclarationIsMultiLine == true @@ -336,7 +336,7 @@ private static void AnalyzeConstructorDeclaration(SyntaxNodeAnalysisContext cont if (!analysis.Success) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenDeclarationIsMultiLine == true @@ -400,7 +400,7 @@ private static void AnalyzeDestructorDeclaration(SyntaxNodeAnalysisContext conte if (!analysis.Success) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenDeclarationIsMultiLine == true @@ -464,7 +464,7 @@ private static void AnalyzeLocalFunctionStatement(SyntaxNodeAnalysisContext cont if (!analysis.Success) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenDeclarationIsMultiLine == true @@ -569,7 +569,7 @@ private static void AnalyzeAccessorDeclarationBlock( if (expression == null) return; - if (style.UseBlock) + if (!style.UseExpression) return; if (style.UseBlockWhenExpressionIsMultiLine == true diff --git a/src/Tests/Analyzers.Tests/RCS1016UseBlockBodyTests.cs b/src/Tests/Analyzers.Tests/RCS1016UseBlockBodyTests.cs index 6dbc18187c..d63b57eed4 100644 --- a/src/Tests/Analyzers.Tests/RCS1016UseBlockBodyTests.cs +++ b/src/Tests/Analyzers.Tests/RCS1016UseBlockBodyTests.cs @@ -833,5 +833,20 @@ public static explicit operator C(string value) } ", options: Options.AddConfigOption(ConfigOptionKeys.BodyStyle, ConfigOptionValues.BodyStyle_Block)); } + + [Fact, Trait(Traits.Analyzer, DiagnosticIdentifiers.UseBlockBodyOrExpressionBody)] + public async Task TestNoDiagnostic_AccessorWithSingleLineBlock() + { + await VerifyNoDiagnosticAsync(@" +class C +{ + public string P + { + get { throw new System.Exception(); } + set { throw new System.Exception(); } + } +} +", options: Options.AddConfigOption(ConfigOptionKeys.UseBlockBodyWhenDeclarationSpansOverMultipleLines, true)); + } } }