Skip to content

Commit 69b5962

Browse files
authored
Fix analyzer RCS1085 (#1461)
1 parent 1556d11 commit 69b5962

3 files changed

Lines changed: 31 additions & 1 deletion

File tree

ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Fixed
1111

1212
- Fix analyzer [RCS1246](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS1246) ([PR](https://github.com/dotnet/roslynator/pull/1460))
13+
- Fix analyzer [RCS1085](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS1085) ([PR](https://github.com/dotnet/roslynator/pull/1461))
1314

1415
## [4.12.2] - 2024-04-23
1516

src/Analyzers/CSharp/Analysis/UseAutoPropertyAnalyzer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ public override void VisitArgument(ArgumentSyntax node)
486486
{
487487
CancellationToken.ThrowIfCancellationRequested();
488488

489-
if (node.RefOrOutKeyword.IsKind(SyntaxKind.RefKeyword, SyntaxKind.OutKeyword))
489+
if (node.RefOrOutKeyword.IsKind(SyntaxKind.RefKeyword, SyntaxKind.OutKeyword, SyntaxKind.InKeyword))
490490
{
491491
ExpressionSyntax expression = node.Expression?.WalkDownParentheses();
492492

src/Tests/Analyzers.Tests/RCS1085UseAutoPropertyTests.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -952,4 +952,33 @@ class C
952952
}
953953
");
954954
}
955+
956+
[Fact, Trait(Traits.Analyzer, DiagnosticIdentifiers.UseAutoProperty)]
957+
public async Task TestNoDiagnostic_BackingFieldUsedByReference()
958+
{
959+
await VerifyNoDiagnosticAsync(@"
960+
using System.Buffers;
961+
962+
class Repro(ReadOnlySequence<byte> data)
963+
{
964+
public ReadOnlySequence<byte> Data => _data;
965+
private readonly ReadOnlySequence<byte> _data = data;
966+
967+
public void Method(IBufferWriter<byte> writer)
968+
{
969+
Write1(in _data, writer);
970+
Write2(in _data, writer);
971+
}
972+
973+
private static void Write1(in ReadOnlySequence<byte> data, IBufferWriter<byte> writer)
974+
{
975+
data.CopyTo(writer.GetSpan((int)data.Length));
976+
}
977+
978+
private static void Write2(ref readonly ReadOnlySequence<byte> data, IBufferWriter<byte> writer)
979+
{
980+
data.CopyTo(writer.GetSpan((int)data.Length));
981+
}
982+
}");
983+
}
955984
}

0 commit comments

Comments
 (0)