1 write to NeedsDisposal
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
86
this.
NeedsDisposal
= needsDisposal;
36 references to NeedsDisposal
Microsoft.CodeAnalysis.CSharp (5)
Compilation\MemberSemanticModel.cs (1)
973
if (enumeratorInfoOpt.
NeedsDisposal
)
FlowAnalysis\NullableWalker.cs (1)
11731
if (enumeratorInfoOpt is {
NeedsDisposal
: true, DisposeAwaitableInfo: BoundAwaitableInfo awaitDisposalInfo })
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
317
if (!enumeratorInfo.
NeedsDisposal
)
Operations\CSharpOperationFactory.cs (2)
1908
needsDispose: enumeratorInfoOpt.
NeedsDisposal
,
1909
knownToImplementIDisposable: enumeratorInfoOpt.
NeedsDisposal
?
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (12)
CodeGen\CodeGenAwaitForeachTests.cs (12)
1675
Assert.False(internalInfo.
NeedsDisposal
);
2978
Assert.True(internalInfo.
NeedsDisposal
);
3297
Assert.True(internalInfo.
NeedsDisposal
);
3355
Assert.False(internalInfo.
NeedsDisposal
);
3551
Assert.True(internalInfo.
NeedsDisposal
);
3599
Assert.True(internalInfo.
NeedsDisposal
);
3732
Assert.True(internalInfo.
NeedsDisposal
);
4480
Assert.True(internalInfo.
NeedsDisposal
);
4553
Assert.True(internalInfo.
NeedsDisposal
);
4663
Assert.True(internalInfo.
NeedsDisposal
);
5066
Assert.True(internalInfo.
NeedsDisposal
);
5147
Assert.False(internalInfo.
NeedsDisposal
);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (19)
Semantics\ForEachTests.cs (19)
1214
Assert.True(info.
NeedsDisposal
);
1252
Assert.True(info.
NeedsDisposal
);
1296
Assert.True(info.
NeedsDisposal
);
1340
Assert.False(info.
NeedsDisposal
); // Definitely not disposable
1373
Assert.True(info.
NeedsDisposal
);
1413
Assert.True(info.
NeedsDisposal
);
1455
Assert.True(info.
NeedsDisposal
);
1494
Assert.True(info.
NeedsDisposal
);
1527
Assert.True(info.
NeedsDisposal
);
1558
Assert.True(info.
NeedsDisposal
);
1644
Assert.True(info.
NeedsDisposal
);
1675
Assert.True(info.
NeedsDisposal
);
1708
Assert.True(info.
NeedsDisposal
);
1749
Assert.True(info.
NeedsDisposal
);
1833
Assert.True(info.
NeedsDisposal
);
1880
Assert.False(info.
NeedsDisposal
); // Definitely not disposable
3124
Assert.True(info.
NeedsDisposal
);
3242
Assert.False(info.
NeedsDisposal
);
3280
if (enumeratorInfo.
NeedsDisposal
)