1 write to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
82this.GetEnumeratorInfo = getEnumeratorInfo;
14 references to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (14)
Binder\RefSafetyAnalysis.cs (1)
1055resultType: node.EnumeratorInfoOpt.GetEnumeratorInfo.Method.ContainingType,
Compilation\MemberSemanticModel.cs (1)
988enumeratorInfoOpt.GetEnumeratorInfo.Method.GetPublicSymbol(),
FlowAnalysis\NullableWalker.cs (4)
6682if (node is BoundForEachStatement { EnumeratorInfoOpt: { GetEnumeratorInfo: { Method: { TypeArgumentsWithAnnotations: { IsEmpty: false } } } } }) 10900if (enumeratorInfoOpt?.GetEnumeratorInfo is { Method: { IsExtensionMethod: true, Parameters: var parameters } } enumeratorMethodInfo) 10967bool reportedDiagnostic = enumeratorInfoOpt?.GetEnumeratorInfo.Method is { IsExtensionMethod: true } 11011reinferredGetEnumeratorMethod = (MethodSymbol)AsMemberOfType(getEnumeratorType, enumeratorInfoOpt.GetEnumeratorInfo.Method);
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
234if (enumeratorInfo.GetEnumeratorInfo.Method.IsExtensionMethod) 236foreach (var arg in enumeratorInfo.GetEnumeratorInfo.Arguments)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (2)
178if (!ShouldUseAddRangeOrToListMethod(singleSpread.Expression.Type, toListOfElementType.Parameters[0].Type, singleSpread.EnumeratorInfoOpt?.GetEnumeratorInfo.Method)) 1138if (!ShouldUseAddRangeOrToListMethod(rewrittenSpreadOperand.Type, addRangeMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.GetEnumeratorInfo.Method))
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
153MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.GetEnumeratorInfo;
Operations\CSharpOperationFactory.cs (3)
1902enumeratorInfoOpt.GetEnumeratorInfo.Method.GetPublicSymbol(), 1911HasImplicitConversionToOrImplementsVarianceCompatibleInterface(enumeratorInfoOpt.GetEnumeratorInfo.Method.ReturnType, 1919getEnumeratorArguments: createArgumentOperations(enumeratorInfoOpt.GetEnumeratorInfo),