1 implementation of IFlowAnonymousFunctionOperation
Microsoft.CodeAnalysis (1)
Operations\OperationNodes.cs (1)
150internal sealed class FlowAnonymousFunctionOperation : Operation, IFlowAnonymousFunctionOperation
212 references to IFlowAnonymousFunctionOperation
GenerateDocumentationAndConfigFiles (16)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);
ILLink.RoslynAnalyzer (2)
DataFlow\LocalDataFlowVisitor.cs (2)
669case IFlowAnonymousFunctionOperation lambda: 829public override TValue VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation, LocalDataFlowState<TValue, TContext, TValueLattice, TContextLattice> state)
Microsoft.CodeAnalysis (20)
Generated\OperationKind.Generated.cs (1)
225/// <summary>Indicates an <see cref="IFlowAnonymousFunctionOperation"/>.</summary>
Generated\Operations.Generated.cs (2)
11591public virtual void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) => DefaultVisit(operation); 11732public virtual TResult? VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraph.cs (4)
29private readonly ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)> _anonymousFunctionsMap; 38ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)> anonymousFunctionsMap) 276public ControlFlowGraph GetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation anonymousFunction, CancellationToken cancellationToken = default) 293internal bool TryGetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation anonymousFunction, [NotNullWhen(true)] out ControlFlowGraph? controlFlowGraph)
Operations\ControlFlowGraphBuilder.cs (4)
151ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion, int)>.Builder? anonymousFunctionsMapOpt = null; 155anonymousFunctionsMapOpt = ImmutableDictionary.CreateBuilder<IFlowAnonymousFunctionOperation, (ControlFlowRegion, int)>(); 169anonymousFunctionsMapOpt?.ToImmutable() ?? ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion, int)>.Empty); 6476public override IOperation VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation, int? captureIdForResult)
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (7)
299ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)>.Builder? anonymousFunctionsMapOpt, 383(ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)>.Builder map, ControlFlowRegion region) argument = (anonymousFunctionsMapOpt, result); 399OperationVisitor<(ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)>.Builder map, ControlFlowRegion region), IOperation> 404IFlowAnonymousFunctionOperation operation, 405(ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)>.Builder map, ControlFlowRegion region) argument) 411internal override IOperation? VisitNoneOperation(IOperation operation, (ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)>.Builder map, ControlFlowRegion region) argument) 418(ImmutableDictionary<IFlowAnonymousFunctionOperation, (ControlFlowRegion region, int ordinal)>.Builder map, ControlFlowRegion region) argument)
Operations\ControlFlowGraphExtensions.cs (1)
48public static ControlFlowGraph GetAnonymousFunctionControlFlowGraphInScope(this ControlFlowGraph controlFlowGraph, IFlowAnonymousFunctionOperation anonymousFunction, CancellationToken cancellationToken = default)
Operations\OperationCloner.cs (1)
24public override IOperation VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation, object? argument)
Microsoft.CodeAnalysis.Analyzers (16)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);
Microsoft.CodeAnalysis.AnalyzerUtilities (54)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
437public override TaintedDataAbstractValue VisitInvocation_Lambda(IFlowAnonymousFunctionOperation lambda, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation, TaintedDataAbstractValue defaultValue)
src\66dd3055a1c91c38\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
1037IFlowAnonymousFunctionOperation lambda,
src\683181b2796de991\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
264IFlowAnonymousFunctionOperation lambda,
src\a03b2aad21e28a8a\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (5)
42private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _visitedLambdas; 66this._visitedLambdas = ImmutableHashSet.CreateBuilder<IFlowAnonymousFunctionOperation>(); 90public ImmutableHashSet<IFlowAnonymousFunctionOperation> VisitedLambdas => this._visitedLambdas.ToImmutable(); 643public override PropertySetAbstractValue VisitInvocation_Lambda(IFlowAnonymousFunctionOperation lambda, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation, PropertySetAbstractValue defaultValue) 692foreach (IFlowAnonymousFunctionOperation lambdaOperation in subResult.VisitedLambdas)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.cs (2)
229foreach (IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation in 230enclosingControlFlowGraph.DescendantOperations<IFlowAnonymousFunctionOperation>(
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisResult.cs (2)
21ImmutableHashSet<IFlowAnonymousFunctionOperation> visitedLambdas) 34public ImmutableHashSet<IFlowAnonymousFunctionOperation> VisitedLambdas { get; }
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractDataFlowAnalysisContext.cs (1)
130public ControlFlowGraph? GetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation lambda)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (20)
52private readonly HashSet<IFlowAnonymousFunctionOperation> _visitedLambdas; 75private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _escapedLambdas; 80private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _analyzedLambdas; 286_escapedLambdas = ImmutableHashSet.CreateBuilder<IFlowAnonymousFunctionOperation>(); 287_analyzedLambdas = ImmutableHashSet.CreateBuilder<IFlowAnonymousFunctionOperation>(); 623foreach (var lambda in _visitedLambdas) 641private bool IsStandaloneAnalysisRequiredForLambda(IFlowAnonymousFunctionOperation lambda) 2683private void PerformStandaloneLambdaInterproceduralAnalysis(IFlowAnonymousFunctionOperation lambda) 3288using var _2 = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(out var lambdaTargets); 3300foreach (var flowAnonymousFunctionOperation in lambdaTargets) 3313PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3319PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3326PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3386void AddLambdaTarget(IFlowAnonymousFunctionOperation lambda) 3421case IFlowAnonymousFunctionOperation lambdaOperation: 3443using var _2 = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(out var lambdaTargets); 3484foreach (var lambda in lambdaTargets) 3595IFlowAnonymousFunctionOperation lambda, 3619case IFlowAnonymousFunctionOperation flowAnonymousFunction: 3804public override TAbstractAnalysisValue VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation, object? argument)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\IDataFlowAnalysisContext.cs (1)
16ControlFlowGraph? GetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation lambda);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LambdaAndLocalFunctionAnalysisInfo.cs (4)
28public ImmutableHashSet<IFlowAnonymousFunctionOperation> EscapedLambdas { get; } 33public ImmutableHashSet<IFlowAnonymousFunctionOperation> AnalyzedLambdas { get; } 38ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder escapedLambdas, 39ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder analyzedLambdas)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);
Microsoft.CodeAnalysis.CodeStyle (16)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);
Microsoft.CodeAnalysis.NetAnalyzers (39)
src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (5)
39private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _visitedLambdas; 63this._visitedLambdas = ImmutableHashSet.CreateBuilder<IFlowAnonymousFunctionOperation>(); 87public ImmutableHashSet<IFlowAnonymousFunctionOperation> VisitedLambdas => this._visitedLambdas.ToImmutable(); 640public override PropertySetAbstractValue VisitInvocation_Lambda(IFlowAnonymousFunctionOperation lambda, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation, PropertySetAbstractValue defaultValue) 689foreach (IFlowAnonymousFunctionOperation lambdaOperation in subResult.VisitedLambdas)
src\11b41c7305441175\PropertySetAnalysisResult.cs (2)
20ImmutableHashSet<IFlowAnonymousFunctionOperation> visitedLambdas) 33public ImmutableHashSet<IFlowAnonymousFunctionOperation> VisitedLambdas { get; }
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
435public override TaintedDataAbstractValue VisitInvocation_Lambda(IFlowAnonymousFunctionOperation lambda, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation, TaintedDataAbstractValue defaultValue)
src\47c588c5b8785708\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
262IFlowAnonymousFunctionOperation lambda,
src\9382845807600969\AbstractDataFlowAnalysisContext.cs (1)
129public ControlFlowGraph? GetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation lambda)
src\9382845807600969\LambdaAndLocalFunctionAnalysisInfo.cs (4)
27public ImmutableHashSet<IFlowAnonymousFunctionOperation> EscapedLambdas { get; } 32public ImmutableHashSet<IFlowAnonymousFunctionOperation> AnalyzedLambdas { get; } 37ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder escapedLambdas, 38ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder analyzedLambdas)
src\ffd9070534249528\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
1034IFlowAnonymousFunctionOperation lambda,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.cs (2)
228foreach (IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation in 229enclosingControlFlowGraph.DescendantOperations<IFlowAnonymousFunctionOperation>(
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (21)
49private readonly HashSet<IFlowAnonymousFunctionOperation> _visitedLambdas; 72private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _escapedLambdas; 77private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _analyzedLambdas; 277_visitedLambdas = new HashSet<IFlowAnonymousFunctionOperation>(); 283_escapedLambdas = ImmutableHashSet.CreateBuilder<IFlowAnonymousFunctionOperation>(); 284_analyzedLambdas = ImmutableHashSet.CreateBuilder<IFlowAnonymousFunctionOperation>(); 620foreach (var lambda in _visitedLambdas) 638private bool IsStandaloneAnalysisRequiredForLambda(IFlowAnonymousFunctionOperation lambda) 2680private void PerformStandaloneLambdaInterproceduralAnalysis(IFlowAnonymousFunctionOperation lambda) 3285using var lambdaTargets = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(); 3297foreach (var flowAnonymousFunctionOperation in lambdaTargets) 3310PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3316PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3323PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3383void AddLambdaTarget(IFlowAnonymousFunctionOperation lambda) 3418case IFlowAnonymousFunctionOperation lambdaOperation: 3440using var lambdaTargets = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(); 3481foreach (var lambda in lambdaTargets) 3592IFlowAnonymousFunctionOperation lambda, 3616case IFlowAnonymousFunctionOperation flowAnonymousFunction: 3801public override TAbstractAnalysisValue VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation, object? argument)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\IDataFlowAnalysisContext.cs (1)
15ControlFlowGraph? GetAnonymousFunctionControlFlowGraph(IFlowAnonymousFunctionOperation lambda);
Microsoft.CodeAnalysis.ResxSourceGenerator (16)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);
Microsoft.CodeAnalysis.Workspaces (16)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);
Roslyn.Diagnostics.Analyzers (17)
AbstractDoNotCopyValue.cs (1)
732public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
62private readonly PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> _lambdaTargetsToAccessingCfgMap; 83PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph> lambdaTargetsToAccessingCfgMap) 137lambdaTargetsToAccessingCfgMap: PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance()); 296case IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation: 324ControlFlowGraph TryGetAnonymousFunctionControlFlowGraphInScope(IFlowAnonymousFunctionOperation flowAnonymousFunctionOperation) 516protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 577public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\b310f676f7308b7f\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (2)
56protected override BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 69public override void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (3)
111public BasicBlockAnalysisData AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken) 127protected abstract BasicBlockAnalysisData AnalyzeLambdaInvocationCore(IFlowAnonymousFunctionOperation lambda, CancellationToken cancellationToken); 138public abstract void SetLambdaTargetForDelegate(IOperation write, IFlowAnonymousFunctionOperation lambdaTarget);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (4)
352private void AnalyzeLambdaInvocation(IFlowAnonymousFunctionOperation lambda) 395public override void VisitFlowAnonymousFunction(IFlowAnonymousFunctionOperation operation) 457_currentAnalysisData.SetLambdaTargetForDelegate(write, (IFlowAnonymousFunctionOperation)currentOperation); 554AnalyzeLambdaInvocation((IFlowAnonymousFunctionOperation)target);