1 implementation of IFlowCaptureReferenceOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
8865internal sealed partial class FlowCaptureReferenceOperation : Operation, IFlowCaptureReferenceOperation
74 references to IFlowCaptureReferenceOperation
ILLink.RoslynAnalyzer (11)
DataFlow\LocalDataFlowVisitor.cs (7)
343 Debug.Assert (operation.Target is not IFlowCaptureReferenceOperation); 388 if (targetOperation is not IFlowCaptureReferenceOperation flowCaptureReference) 449 TValue GetFlowCaptureValue (IFlowCaptureReferenceOperation operation, LocalDataFlowState<TValue, TContext, TValueLattice, TContextLattice> state) 460 public override TValue VisitFlowCaptureReference (IFlowCaptureReferenceOperation operation, LocalDataFlowState<TValue, TContext, TValueLattice, TContextLattice> state) 509 Debug.Assert (operation.Value is not IFlowCaptureReferenceOperation); 510 if (operation.Value is IFlowCaptureReferenceOperation) 523 if (operation.Value is IFlowCaptureReferenceOperation captureRef) {
DataFlow\LValueFlowCaptureProvider.cs (4)
22 /// Corresponding <see cref="IFlowCaptureReferenceOperation"/>s which share the same 41 static bool IsLValueFlowCapture (IFlowCaptureReferenceOperation flowCaptureReference, out IAssignmentOperation? assignment) 63 foreach (var flowCaptureReference in cfg.DescendantOperations<IFlowCaptureReferenceOperation> (OperationKind.FlowCaptureReference)) {
Microsoft.CodeAnalysis (13)
Generated\OperationKind.Generated.cs (1)
216/// <summary>Indicates an <see cref="IFlowCaptureReferenceOperation"/>.</summary>
Generated\Operations.Generated.cs (3)
11236public override IOperation VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation, object? argument) 11510public virtual void VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation) => DefaultVisit(operation); 11649public virtual TResult? VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (9)
1688captureId != ((IFlowCaptureReferenceOperation)result).Id.Value) 1877if (operation is IFlowCaptureReferenceOperation reference) 1884foreach (IFlowCaptureReferenceOperation reference in operation.DescendantsAndSelf().OfType<IFlowCaptureReferenceOperation>()) 4754IFlowCaptureReferenceOperation? positiveFlag = null; 5912public override IOperation VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation, int? captureIdForResult) 6978Debug.Assert(receiverCapture is IFlowCaptureReferenceOperation); 6991Debug.Assert(argumentCapture is IFlowCaptureReferenceOperation or IDiscardOperation); 7149return captured is IFlowCaptureReferenceOperation reference ?
Microsoft.CodeAnalysis.AnalyzerUtilities (14)
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\IOperationExtensions_FlowAnalysis.cs (1)
52public static bool IsLValueFlowCaptureReference(this IFlowCaptureReferenceOperation flowCaptureReference)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
1239public override PointsToAbstractValue VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (1)
25/// 4. Location created for flow capture entities, i.e. for <see cref="InterproceduralCaptureId"/> created for <see cref="IFlowCaptureOperation"/> or <see cref="IFlowCaptureReferenceOperation"/>.
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (1)
230case IFlowCaptureReferenceOperation flowCaptureReference:
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (6)
224protected bool IsLValueFlowCaptureReference(IFlowCaptureReferenceOperation flowCaptureReference) 1680case IFlowCaptureReferenceOperation: 1947private void HandleFlowCaptureReferenceAssignment(IFlowCaptureReferenceOperation flowCaptureReference, IOperation assignedValueOperation, TAbstractAnalysisValue assignedValue) 2837if (operation.Target is IFlowCaptureReferenceOperation flowCaptureReference) 2882if (operation.Target is IFlowCaptureReferenceOperation flowCaptureReference) 2964public override TAbstractAnalysisValue VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (4)
33var rvalueFlowCaptureIds = new Dictionary<CaptureId, HashSet<IFlowCaptureReferenceOperation>>(); 35foreach (var flowCaptureReference in cfg.DescendantOperations<IFlowCaptureReferenceOperation>(OperationKind.FlowCaptureReference)) 46operations = new HashSet<IFlowCaptureReferenceOperation>();
Microsoft.CodeAnalysis.CodeStyle (6)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (3)
21/// Corresponding <see cref="IFlowCaptureReferenceOperation"/>s which share the same 54foreach (var flowCaptureReference in cfg.DescendantOperations<IFlowCaptureReferenceOperation>(OperationKind.FlowCaptureReference))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
209var captureReference = (IFlowCaptureReferenceOperation)write; 280public override void VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation)
Microsoft.CodeAnalysis.Test.Utilities (23)
Compilation\ControlFlowGraphVerifier.cs (20)
495foreach (IFlowCaptureReferenceOperation reference in lastOperation.DescendantsAndSelf().OfType<IFlowCaptureReferenceOperation>()) 522IFlowCaptureReferenceOperation[] referencesAfter = getFlowCaptureReferenceOperationsInRegion(region, block.Ordinal + 1).Where(r => r.Id.Equals(id)).ToArray(); 595bool isEmptySwitchExpressionResult(IFlowCaptureReferenceOperation reference) 773foreach (IFlowCaptureReferenceOperation reference in operation.DescendantsAndSelf().OfType<IFlowCaptureReferenceOperation>()) 827bool isConditionalAccessReceiver(IFlowCaptureReferenceOperation reference) 860bool isCoalesceAssignmentTarget(IFlowCaptureReferenceOperation reference) 873bool isObjectInitializerInitializedObjectTarget(IFlowCaptureReferenceOperation reference) 889bool isInterpolatedStringArgumentCapture(IFlowCaptureReferenceOperation reference) 921bool isInterpolatedStringHandlerCapture(IFlowCaptureReferenceOperation reference) 942bool isFirstOperandOfDynamicOrUserDefinedLogicalOperator(IFlowCaptureReferenceOperation reference) 994bool isIncrementedNullableForToLoopControlVariable(IFlowCaptureReferenceOperation reference) 1011bool isLongLivedCaptureReference(IFlowCaptureReferenceOperation reference, ControlFlowRegion region) 1318IEnumerable<IFlowCaptureReferenceOperation> getFlowCaptureReferenceOperationsInRegion(ControlFlowRegion region, int firstBlockOrdinal) 1326foreach (IFlowCaptureReferenceOperation reference in operation.DescendantsAndSelf().OfType<IFlowCaptureReferenceOperation>()) 1334foreach (IFlowCaptureReferenceOperation reference in block.BranchValue.DescendantsAndSelf().OfType<IFlowCaptureReferenceOperation>()) 1747case IFlowCaptureReferenceOperation flowCaptureReference:
Compilation\OperationTreeVerifier.cs (2)
1000public override void VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation) 1002LogString(nameof(IFlowCaptureReferenceOperation));
Compilation\TestOperationVisitor.cs (1)
1731public override void VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation)
Microsoft.CodeAnalysis.Workspaces (6)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (3)
21/// Corresponding <see cref="IFlowCaptureReferenceOperation"/>s which share the same 54foreach (var flowCaptureReference in cfg.DescendantOperations<IFlowCaptureReferenceOperation>(OperationKind.FlowCaptureReference))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (3)
209var captureReference = (IFlowCaptureReferenceOperation)write; 280public override void VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation)
Roslyn.Diagnostics.Analyzers (1)
AbstractDoNotCopyValue.cs (1)
746public override void VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation)