diff --git a/src/Features/CSharp/Portable/UseIndexOperator/CSharpUseRangeOperatorCodeFixProvider.cs b/src/Features/CSharp/Portable/UseIndexOperator/CSharpUseRangeOperatorCodeFixProvider.cs index 1f801c0ec5d16348c2aa9ea388919ad0c755cf9e..b8ce07e78b35c7eef8bb1497ceb00dec66f495f2 100644 --- a/src/Features/CSharp/Portable/UseIndexOperator/CSharpUseRangeOperatorCodeFixProvider.cs +++ b/src/Features/CSharp/Portable/UseIndexOperator/CSharpUseRangeOperatorCodeFixProvider.cs @@ -65,18 +65,15 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context) editor.ReplaceNode(invocation, elementAccess); } - private static RangeExpressionSyntax CreateRangeExpression( - Diagnostic diagnostic, ExpressionSyntax start, ExpressionSyntax end, CancellationToken cancellationToken) - { - var props = diagnostic.Properties; - - return RangeExpression( - props.ContainsKey(OmitStart) ? null : GetExpression(diagnostic, start, StartFromEnd), - props.ContainsKey(OmitEnd) ? null : GetExpression(diagnostic, end, EndFromEnd)); - } + private static RangeExpressionSyntax CreateRangeExpression(Diagnostic diagnostic, ExpressionSyntax start, ExpressionSyntax end, CancellationToken cancellationToken) + => RangeExpression( + GetExpression(diagnostic.Properties, start, OmitStart, StartFromEnd), + GetExpression(diagnostic.Properties, end, OmitEnd, EndFromEnd)); - private static ExpressionSyntax GetExpression(Diagnostic diagnostic, ExpressionSyntax expr, string fromEndKey) - => diagnostic.Properties.ContainsKey(fromEndKey) ? IndexExpression(expr) : expr; + private static ExpressionSyntax GetExpression(ImmutableDictionary props, ExpressionSyntax expr, string omitKey, string fromEndKey) + => props.ContainsKey(omitKey) + ? null + : props.ContainsKey(fromEndKey) ? IndexExpression(expr) : expr; private class MyCodeAction : CodeAction.DocumentChangeAction {