1 write to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
69
this.
GetEnumeratorInfo
= getEnumeratorInfo;
48 references to GetEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (11)
Compilation\MemberSemanticModel.cs (1)
979
enumeratorInfoOpt.
GetEnumeratorInfo
.Method.GetPublicSymbol(),
FlowAnalysis\NullableWalker.cs (4)
6077
if (node is BoundForEachStatement { EnumeratorInfoOpt: {
GetEnumeratorInfo
: { Method: { TypeArgumentsWithAnnotations: { IsEmpty: false } } } } })
9998
if (node.EnumeratorInfoOpt?.
GetEnumeratorInfo
is { Method: { IsExtensionMethod: true, Parameters: var parameters } } enumeratorMethodInfo)
10065
bool reportedDiagnostic = node.EnumeratorInfoOpt?.
GetEnumeratorInfo
.Method is { IsExtensionMethod: true }
10094
reinferredGetEnumeratorMethod ??= (MethodSymbol)AsMemberOfType(convertedResult.Type, node.EnumeratorInfoOpt.
GetEnumeratorInfo
.Method);
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
140
if (node.EnumeratorInfoOpt.
GetEnumeratorInfo
.Method.IsExtensionMethod)
142
foreach (var arg in node.EnumeratorInfoOpt.
GetEnumeratorInfo
.Arguments)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
118
MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.
GetEnumeratorInfo
;
Operations\CSharpOperationFactory.cs (3)
1795
enumeratorInfoOpt.
GetEnumeratorInfo
.Method.GetPublicSymbol(),
1802
ClassifyImplicitConversionFromType(enumeratorInfoOpt.
GetEnumeratorInfo
.Method.ReturnType,
1809
getEnumeratorArguments: CreateArgumentOperations(enumeratorInfoOpt.
GetEnumeratorInfo
, boundForEachStatement.Expression.Syntax),
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (37)
Semantics\ForEachTests.cs (37)
1208
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1209
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1246
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1247
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1290
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1291
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1334
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1335
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1367
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1368
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1407
Assert.Equal("System.Collections.Generic.IEnumerator<System.Int32> System.Collections.Generic.IEnumerable<System.Int32>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1408
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1449
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1450
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1488
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1489
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1521
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1522
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1552
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1553
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1638
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1639
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1669
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1670
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1702
Assert.Equal("System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1703
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1743
Assert.Equal("T Enumerable<T>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1744
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1827
Assert.Equal("T Enumerable<T>.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1828
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
1874
Assert.Equal("Enumerator Enumerable.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
1875
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
3118
Assert.Equal("System.CharEnumerator System.String.GetEnumerator()", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
3119
Assert.Empty(info.
GetEnumeratorInfo
.Arguments);
3236
Assert.Equal("C.Enumerator Extensions.GetEnumerator(this C self)", info.
GetEnumeratorInfo
.Method.ToTestDisplayString());
3237
Assert.Equal("C", info.
GetEnumeratorInfo
.Arguments.Single().Type.ToTestDisplayString());
3275
Assert.Equal(enumeratorInfo.
GetEnumeratorInfo
.Method.GetPublicSymbol(), statementInfo.GetEnumeratorMethod);