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)
974if (enumeratorInfoOpt.NeedsDisposal)
FlowAnalysis\NullableWalker.cs (1)
11755if (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)
2482Assert.False(internalInfo.NeedsDisposal); 4416Assert.True(internalInfo.NeedsDisposal); 4900Assert.True(internalInfo.NeedsDisposal); 5033Assert.False(internalInfo.NeedsDisposal); 5229Assert.True(internalInfo.NeedsDisposal); 5352Assert.True(internalInfo.NeedsDisposal); 5486Assert.True(internalInfo.NeedsDisposal); 6968Assert.True(internalInfo.NeedsDisposal); 7124Assert.True(internalInfo.NeedsDisposal); 7403Assert.True(internalInfo.NeedsDisposal); 8088Assert.True(internalInfo.NeedsDisposal); 8232Assert.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)