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