1 implementation of IForEachLoopOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
3824internal sealed partial class ForEachLoopOperation : BaseLoopOperation, IForEachLoopOperation
29 references to IForEachLoopOperation
Microsoft.CodeAnalysis (5)
Generated\Operations.Generated.cs (3)
10261public override IOperation VisitForEachLoop(IForEachLoopOperation operation, object? argument) 10854public virtual void VisitForEachLoop(IForEachLoopOperation operation) => DefaultVisit(operation); 10990public virtual TResult? VisitForEachLoop(IForEachLoopOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (1)
4372public override IOperation? VisitForEachLoop(IForEachLoopOperation operation, int? captureIdForResult)
Operations\Loops\LoopKind.cs (1)
33/// Indicates an <see cref="IForEachLoopOperation"/> in C# or VB.
Microsoft.CodeAnalysis.CodeStyle (2)
AbstractForEachCastDiagnosticAnalyzer.cs (1)
69if (semanticModel.GetOperation(node, cancellationToken) is not IForEachLoopOperation loopOperation)
SymbolUsageAnalysis.Walker.cs (1)
264operation.Parent is IForEachLoopOperation forEachLoop && forEachLoop.LoopControlVariable == operation ||
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
AbstractForEachCastCodeFixProvider.cs (2)
65var loopOperation = (IForEachLoopOperation)semanticModel.GetRequiredOperation(forEachStatement, cancellationToken);
Microsoft.CodeAnalysis.CSharp (1)
Operations\CSharpOperationFactory.cs (1)
1866private IForEachLoopOperation CreateBoundForEachStatementOperation(BoundForEachStatement boundForEachStatement)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
NullableHelpers.cs (2)
59if (reference is IForEachLoopOperation forEachLoop) 105IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol),
Microsoft.CodeAnalysis.CSharp.Features (1)
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (1)
153protected override bool IsSupported(ILocalSymbol foreachVariable, IForEachLoopOperation forEachOperation, ForEachStatementSyntax foreachStatement)
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (2)
IOperation\IOperationTests.cs (2)
379var op = (IForEachLoopOperation)comp.GetSemanticModel(tree).GetOperation(tree.GetRoot().DescendantNodes().OfType<ForEachStatementSyntax>().Single());
Microsoft.CodeAnalysis.CSharp.Workspaces (2)
NullableHelpers.cs (2)
59if (reference is IForEachLoopOperation forEachLoop) 105IForEachLoopOperation { LoopControlVariable: IVariableDeclaratorOperation variableDeclarator } => variableDeclarator.Symbol.Equals(symbol),
Microsoft.CodeAnalysis.Features (5)
AbstractForEachCastCodeFixProvider.cs (2)
65var loopOperation = (IForEachLoopOperation)semanticModel.GetRequiredOperation(forEachStatement, cancellationToken);
AbstractForEachCastDiagnosticAnalyzer.cs (1)
69if (semanticModel.GetOperation(node, cancellationToken) is not IForEachLoopOperation loopOperation)
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (2)
54protected abstract bool IsSupported(ILocalSymbol foreachVariable, IForEachLoopOperation forEachOperation, TForEachStatement foreachStatement); 153if (model.GetOperation(foreachStatement, cancellationToken) is not IForEachLoopOperation operation || operation.Locals.Length != 1)
Microsoft.CodeAnalysis.Test.Utilities (4)
Compilation\OperationTreeVerifier.cs (3)
631if (operation is IForEachLoopOperation { IsAsynchronous: true }) 648public override void VisitForEachLoop(IForEachLoopOperation operation) 650LogString(nameof(IForEachLoopOperation));
Compilation\TestOperationVisitor.cs (1)
329public override void VisitForEachLoop(IForEachLoopOperation operation)
Microsoft.CodeAnalysis.VisualBasic (1)
Operations\VisualBasicOperationFactory.vb (1)
1235Private Function CreateBoundForEachStatementOperation(boundForEachStatement As BoundForEachStatement) As IForEachLoopOperation
Microsoft.CodeAnalysis.VisualBasic.Features (1)
ConvertForEachToFor\VisualBasicConvertForEachToForCodeRefactoringProvider.vb (1)
167Protected Overrides Function IsSupported(foreachVariable As ILocalSymbol, foreachOperation As IForEachLoopOperation, foreachStatement As ForEachBlockSyntax) As Boolean
Microsoft.CodeAnalysis.Workspaces (1)
SymbolUsageAnalysis.Walker.cs (1)
264operation.Parent is IForEachLoopOperation forEachLoop && forEachLoop.LoopControlVariable == operation ||