Skip to content

Commit 306188e

Browse files
committed
More tests.
Trying to repro a bug.
1 parent 770c152 commit 306188e

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

  • IDisposableAnalyzers.Test/IDISP003DisposeBeforeReassigningTests

IDisposableAnalyzers.Test/IDISP003DisposeBeforeReassigningTests/Valid.cs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,5 +1494,50 @@ public void Dispose()
14941494

14951495
RoslynAssert.Valid(Analyzer, DisposableCode, code);
14961496
}
1497+
1498+
[Test]
1499+
public static void TwoChainedConstructors()
1500+
{
1501+
var code = @"
1502+
namespace N
1503+
{
1504+
using System;
1505+
1506+
public sealed class C : IDisposable
1507+
{
1508+
private readonly IDisposable disposable;
1509+
private bool disposed;
1510+
1511+
public C()
1512+
{
1513+
}
1514+
1515+
public C(int _)
1516+
: this()
1517+
{
1518+
this.disposable = new Disposable();
1519+
}
1520+
1521+
public C(string _)
1522+
: this()
1523+
{
1524+
this.disposable = new Disposable();
1525+
}
1526+
1527+
public void Dispose()
1528+
{
1529+
if (this.disposed)
1530+
{
1531+
return;
1532+
}
1533+
1534+
this.disposed = true;
1535+
this.disposable?.Dispose();
1536+
}
1537+
}
1538+
}";
1539+
1540+
RoslynAssert.Valid(Analyzer, DisposableCode, code);
1541+
}
14971542
}
14981543
}

0 commit comments

Comments
 (0)