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