File tree Expand file tree Collapse file tree
IDisposableAnalyzers.Test/IDISP003DisposeBeforeReassigningTests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1539,5 +1539,56 @@ public void Dispose()
15391539
15401540 RoslynAssert . Valid ( Analyzer , DisposableCode , code ) ;
15411541 }
1542+
1543+ [ Test ]
1544+ public static void TwoChainedBaseConstructors ( )
1545+ {
1546+ var baseClass = @"
1547+ namespace N
1548+ {
1549+ public abstract class BaseClass
1550+ {
1551+ protected BaseClass()
1552+ {
1553+ }
1554+ }
1555+ }" ;
1556+ var code = @"
1557+ namespace N
1558+ {
1559+ using System;
1560+
1561+ public sealed class C : BaseClass, IDisposable
1562+ {
1563+ private readonly IDisposable disposable;
1564+ private bool disposed;
1565+
1566+ public C(int _)
1567+ : base()
1568+ {
1569+ this.disposable = new Disposable();
1570+ }
1571+
1572+ public C(string _)
1573+ : base()
1574+ {
1575+ this.disposable = new Disposable();
1576+ }
1577+
1578+ public void Dispose()
1579+ {
1580+ if (this.disposed)
1581+ {
1582+ return;
1583+ }
1584+
1585+ this.disposed = true;
1586+ this.disposable?.Dispose();
1587+ }
1588+ }
1589+ }" ;
1590+
1591+ RoslynAssert . Valid ( Analyzer , DisposableCode , baseClass , code ) ;
1592+ }
15421593 }
15431594}
You can’t perform that action at this time.
0 commit comments