1 write to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
82
this.
GetEnumeratorInfo
= getEnumeratorInfo;
51 references to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (14)
Binder\RefSafetyAnalysis.cs (1)
1120
resultType: node.EnumeratorInfoOpt.
GetEnumeratorInfo
.Method.ContainingType,
Compilation\MemberSemanticModel.cs (1)
989
enumeratorInfoOpt.
GetEnumeratorInfo
.Method.GetPublicSymbol(),
FlowAnalysis\NullableWalker.cs (3)
11606
if (enumeratorInfoOpt?.
GetEnumeratorInfo
is { } enumeratorMethodInfo
11678
bool reportedDiagnostic = enumeratorInfoOpt?.
GetEnumeratorInfo
.Method is { } getEnumeratorMethod
11723
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)
177
if (!ShouldUseIEnumerableBulkAddMethod(singleSpread.Expression.Type, toListOfElementType.Parameters[0].Type, singleSpread.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method))
680
&& ShouldUseIEnumerableBulkAddMethod(spreadExpression.Type!, linqToArrayMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method))
1182
if (!ShouldUseIEnumerableBulkAddMethod(rewrittenSpreadOperand.Type, addRangeMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method))
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
154
MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.
GetEnumeratorInfo
;
Operations\CSharpOperationFactory.cs (3)
1902
enumeratorInfoOpt.
GetEnumeratorInfo
.Method.GetPublicSymbol(),
1911
HasImplicitConversionToOrImplementsVarianceCompatibleInterface(enumeratorInfoOpt.
GetEnumeratorInfo
.Method.ReturnType,
1919
getEnumeratorArguments: createArgumentOperations(enumeratorInfoOpt.
GetEnumeratorInfo
),
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (37)
Semantics\ForEachTests.cs (37)
1209
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1210
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1247
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1248
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1291
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1292
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1335
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1336
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1368
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1369
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1408
Assert.Equal("System.Collections.Generic.IEnumerator<System.Int32> System.Collections.Generic.IEnumerable<System.Int32>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1409
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1450
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1451
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1489
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1490
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1522
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1523
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1553
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1554
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1639
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1640
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1670
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1671
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1703
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1704
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1744
Assert.Equal("T Enumerable<T>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1745
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1828
Assert.Equal("T Enumerable<T>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1829
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1875
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1876
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
3119
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
3120
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
3237
Assert.Equal("C.Enumerator Extensions.GetEnumerator(this C self)", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
3238
Assert.Equal("C", info.
GetEnumeratorInfo
.Arguments.Single().Type.ToTestDisplayString());
3276
Assert.Equal(enumeratorInfo.
GetEnumeratorInfo
.Method.GetPublicSymbol(), statementInfo.GetEnumeratorMethod);