1 write to PatternDisposeInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
96
this.
PatternDisposeInfo
= patternDisposeInfo;
14 references to PatternDisposeInfo
Microsoft.CodeAnalysis.CSharp (8)
Compilation\MemberSemanticModel.cs (1)
1011
if (enumeratorInfoOpt.
PatternDisposeInfo
is { Method: var method })
FlowAnalysis\NullableWalker.cs (1)
11890
if (enumeratorInfoOpt.
PatternDisposeInfo
is { Method: var originalDisposeMethod }) // no statically known Dispose method if doing a runtime check
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
328
MethodSymbol? disposeMethod = enumeratorInfo.
PatternDisposeInfo
?.Method; // pattern-based
355
if (implementsInterface || !(enumeratorInfo.
PatternDisposeInfo
is null))
363
var disposeInfo = enumeratorInfo.
PatternDisposeInfo
;
Operations\CSharpOperationFactory.cs (3)
1907
enumeratorInfoOpt.
PatternDisposeInfo
?.Method.GetPublicSymbol(),
1912
disposeArguments: enumeratorInfoOpt.
PatternDisposeInfo
is object
1913
? CreateDisposeArguments(enumeratorInfoOpt.
PatternDisposeInfo
)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (6)
Semantics\ForEachTests.cs (6)
3679
Assert.Equal("void DisposableEnumerator.Dispose()", enumeratorInfo.
PatternDisposeInfo
.Method.ToTestDisplayString());
3680
Assert.Empty(enumeratorInfo.
PatternDisposeInfo
.Arguments);
3718
Assert.Equal("void DisposableEnumerator.Dispose()", enumeratorInfo.
PatternDisposeInfo
.Method.ToTestDisplayString());
3719
Assert.Empty(enumeratorInfo.
PatternDisposeInfo
.Arguments);
3798
if (enumeratorInfo.
PatternDisposeInfo
is object)
3800
Assert.Equal(enumeratorInfo.
PatternDisposeInfo
.Method.GetPublicSymbol(), statementInfo.DisposeMethod);