1 write to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
89
this.
GetEnumeratorInfo
= getEnumeratorInfo;
51 references to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (14)
Binder\RefSafetyAnalysis.cs (1)
1268
resultType: node.EnumeratorInfoOpt.
GetEnumeratorInfo
.Method.ContainingType,
Compilation\MemberSemanticModel.cs (1)
1025
enumeratorInfoOpt.
GetEnumeratorInfo
.Method.GetPublicSymbol(),
FlowAnalysis\NullableWalker.cs (3)
11739
if (enumeratorInfoOpt?.
GetEnumeratorInfo
is { } enumeratorMethodInfo
11810
bool reportedDiagnostic = enumeratorInfoOpt?.
GetEnumeratorInfo
.Method is { } getEnumeratorMethod
11855
reinferredGetEnumeratorMethod = (MethodSymbol)AsMemberOfType(getEnumeratorType, enumeratorInfoOpt.
GetEnumeratorInfo
.Method);
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
232
if (enumeratorInfo.
GetEnumeratorInfo
.Method.IsExtensionMethod) // Tracked by https://github.com/dotnet/roslyn/issues/78828: Test this code path with new extensions
234
foreach (var arg in enumeratorInfo.
GetEnumeratorInfo
.Arguments)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (3)
162
if (!ShouldUseIEnumerableBulkAddMethod(singleSpread.Expression.Type, toListOfElementType.Parameters[0].Type, singleSpread.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method))
750
&& ShouldUseIEnumerableBulkAddMethod(spreadExpression.Type!, linqToArrayMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method))
1253
if (!ShouldUseIEnumerableBulkAddMethod(rewrittenSpreadOperand.Type, addRangeMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method))
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
157
MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.
GetEnumeratorInfo
;
Operations\CSharpOperationFactory.cs (3)
1893
enumeratorInfoOpt.
GetEnumeratorInfo
.Method.GetPublicSymbol(),
1902
HasImplicitConversionToOrImplementsVarianceCompatibleInterface(enumeratorInfoOpt.
GetEnumeratorInfo
.Method.ReturnType,
1910
getEnumeratorArguments: createArgumentOperations(enumeratorInfoOpt.
GetEnumeratorInfo
),
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (37)
Semantics\ForEachTests.cs (37)
1725
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1726
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1763
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1764
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1807
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1808
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1851
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1852
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1884
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1885
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1924
Assert.Equal("System.Collections.Generic.IEnumerator<System.Int32> System.Collections.Generic.IEnumerable<System.Int32>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1925
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1966
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1967
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2005
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2006
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2038
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2039
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2069
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2070
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2155
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2156
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2186
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2187
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2219
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2220
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2260
Assert.Equal("T Enumerable<T>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2261
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2344
Assert.Equal("T Enumerable<T>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2345
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
2391
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
2392
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
3635
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
3636
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
3753
Assert.Equal("C.Enumerator Extensions.GetEnumerator(this C self)", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
3754
Assert.Equal("C", info.
GetEnumeratorInfo
.Arguments.Single().Type.ToTestDisplayString());
3792
Assert.Equal(enumeratorInfo.
GetEnumeratorInfo
.Method.GetPublicSymbol(), statementInfo.GetEnumeratorMethod);