1 write to NeedsDisposal
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
73
this.
NeedsDisposal
= needsDisposal;
37 references to NeedsDisposal
Microsoft.CodeAnalysis.CSharp (6)
Compilation\MemberSemanticModel.cs (1)
963
if (enumeratorInfoOpt.
NeedsDisposal
)
FlowAnalysis\NullableWalker.cs (1)
10123
if (node.EnumeratorInfoOpt is {
NeedsDisposal
: true, DisposeAwaitableInfo: BoundAwaitableInfo awaitDisposalInfo })
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
201
if (enumeratorInfo.
NeedsDisposal
)
255
Debug.Assert(enumeratorInfo.
NeedsDisposal
);
Operations\CSharpOperationFactory.cs (2)
1799
needsDispose: enumeratorInfoOpt.
NeedsDisposal
,
1800
knownToImplementIDisposable: enumeratorInfoOpt.
NeedsDisposal
?
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (12)
CodeGen\CodeGenAwaitForeachTests.cs (12)
1675
Assert.False(internalInfo.
NeedsDisposal
);
2132
Assert.True(internalInfo.
NeedsDisposal
);
2451
Assert.True(internalInfo.
NeedsDisposal
);
2509
Assert.False(internalInfo.
NeedsDisposal
);
2699
Assert.True(internalInfo.
NeedsDisposal
);
2747
Assert.True(internalInfo.
NeedsDisposal
);
2880
Assert.True(internalInfo.
NeedsDisposal
);
3628
Assert.True(internalInfo.
NeedsDisposal
);
3701
Assert.True(internalInfo.
NeedsDisposal
);
3811
Assert.True(internalInfo.
NeedsDisposal
);
4137
Assert.True(internalInfo.
NeedsDisposal
);
4218
Assert.False(internalInfo.
NeedsDisposal
);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (19)
Semantics\ForEachTests.cs (19)
1213
Assert.True(info.
NeedsDisposal
);
1251
Assert.True(info.
NeedsDisposal
);
1295
Assert.True(info.
NeedsDisposal
);
1339
Assert.False(info.
NeedsDisposal
); // Definitely not disposable
1372
Assert.True(info.
NeedsDisposal
);
1412
Assert.True(info.
NeedsDisposal
);
1454
Assert.True(info.
NeedsDisposal
);
1493
Assert.True(info.
NeedsDisposal
);
1526
Assert.True(info.
NeedsDisposal
);
1557
Assert.True(info.
NeedsDisposal
);
1643
Assert.True(info.
NeedsDisposal
);
1674
Assert.True(info.
NeedsDisposal
);
1707
Assert.True(info.
NeedsDisposal
);
1748
Assert.True(info.
NeedsDisposal
);
1832
Assert.True(info.
NeedsDisposal
);
1879
Assert.False(info.
NeedsDisposal
); // Definitely not disposable
3123
Assert.True(info.
NeedsDisposal
);
3241
Assert.False(info.
NeedsDisposal
);
3279
if (enumeratorInfo.
NeedsDisposal
)