1 write to PatternDisposeInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
88
this.
PatternDisposeInfo
= patternDisposeInfo;
14 references to PatternDisposeInfo
Microsoft.CodeAnalysis.CSharp (8)
Compilation\MemberSemanticModel.cs (1)
975
if (enumeratorInfoOpt.
PatternDisposeInfo
is { Method: var method })
FlowAnalysis\NullableWalker.cs (1)
11735
if (enumeratorInfoOpt.
PatternDisposeInfo
is { Method: var originalDisposeMethod }) // no statically known Dispose method if doing a runtime check
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
324
MethodSymbol? disposeMethod = enumeratorInfo.
PatternDisposeInfo
?.Method; // pattern-based
351
if (implementsInterface || !(enumeratorInfo.
PatternDisposeInfo
is null))
359
var disposeInfo = enumeratorInfo.
PatternDisposeInfo
;
Operations\CSharpOperationFactory.cs (3)
1916
enumeratorInfoOpt.
PatternDisposeInfo
?.Method.GetPublicSymbol(),
1921
disposeArguments: enumeratorInfoOpt.
PatternDisposeInfo
is object
1922
? CreateDisposeArguments(enumeratorInfoOpt.
PatternDisposeInfo
)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (6)
Semantics\ForEachTests.cs (6)
3163
Assert.Equal("void DisposableEnumerator.Dispose()", enumeratorInfo.
PatternDisposeInfo
.Method.ToTestDisplayString());
3164
Assert.Empty(enumeratorInfo.
PatternDisposeInfo
.Arguments);
3202
Assert.Equal("void DisposableEnumerator.Dispose()", enumeratorInfo.
PatternDisposeInfo
.Method.ToTestDisplayString());
3203
Assert.Empty(enumeratorInfo.
PatternDisposeInfo
.Arguments);
3282
if (enumeratorInfo.
PatternDisposeInfo
is object)
3284
Assert.Equal(enumeratorInfo.
PatternDisposeInfo
.Method.GetPublicSymbol(), statementInfo.DisposeMethod);