3 instantiations of CaptureId
Microsoft.CodeAnalysis (3)
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (1)
73CaptureIds.Add(new CaptureId(captureId));
Operations\OperationNodes.cs (2)
642this(new CaptureId(id), isInitialization, semanticModel: null, syntax: syntax, type: type, constantValue: constantValue, isImplicit: true) 650this(new CaptureId(id), value, semanticModel: null, syntax: syntax, isImplicit: true)
226 references to CaptureId
GenerateDocumentationAndConfigFiles (23)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)
ILLink.RoslynAnalyzer (21)
DataFlow\LocalDataFlowAnalysis.cs (1)
131ImmutableDictionary<CaptureId, FlowCaptureKind> lValueFlowCaptures,
DataFlow\LocalDataFlowVisitor.cs (4)
49private readonly ImmutableDictionary<CaptureId, FlowCaptureKind> lValueFlowCaptures; 53private bool IsLValueFlowCapture(CaptureId captureId) 56private bool IsRValueFlowCapture(CaptureId captureId) 64ImmutableDictionary<CaptureId, FlowCaptureKind> lValueFlowCaptures,
DataFlow\LocalStateLattice.cs (7)
15private readonly CaptureId? CaptureId; 19public LocalKey(CaptureId captureId) => (Local, CaptureId) = (null, captureId); 46public DefaultValueDictionary<CaptureId, ValueSet<CapturedReferenceValue>> CapturedReferences; 48public LocalState(DefaultValueDictionary<LocalKey, TValue> dictionary, DefaultValueDictionary<CaptureId, ValueSet<CapturedReferenceValue>> capturedReferences) 55: this(dictionary, new DefaultValueDictionary<CaptureId, ValueSet<CapturedReferenceValue>>(default(ValueSet<CapturedReferenceValue>))) 80public readonly DictionaryLattice<CaptureId, ValueSet<CapturedReferenceValue>, ValueSetLattice<CapturedReferenceValue>> CapturedReferenceLattice; 85CapturedReferenceLattice = new DictionaryLattice<CaptureId, ValueSet<CapturedReferenceValue>, ValueSetLattice<CapturedReferenceValue>>(default(ValueSetLattice<CapturedReferenceValue>));
DataFlow\LValueFlowCaptureProvider.cs (7)
23/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 51public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 60ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder? lvalueFlowCaptureIdBuilder = null; 61var rvalueFlowCaptureIds = new HashSet<CaptureId>(); 67lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 84var captureId = kvp.Key; 91return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
TrimAnalysis\TrimAnalysisVisitor.cs (1)
54ImmutableDictionary<CaptureId, FlowCaptureKind> lValueFlowCaptures,
TrimAnalysis\TrimDataFlowAnalysis.cs (1)
63ImmutableDictionary<CaptureId, FlowCaptureKind> lValueFlowCaptures,
Microsoft.CodeAnalysis (19)
Generated\FlowAnalysis.Generated.cs (2)
32CaptureId Id { get; } 56CaptureId Id { get; }
Generated\Operations.Generated.cs (4)
8854internal FlowCaptureOperation(CaptureId id, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8860public CaptureId Id { get; } 8907internal FlowCaptureReferenceOperation(CaptureId id, bool isInitialization, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 8915public CaptureId Id { get; }
Operations\CaptureId.cs (5)
13public readonly struct CaptureId : IEquatable<CaptureId> 24/// Compares <see cref="CaptureId"/>s. 26public bool Equals(CaptureId other) => Value == other.Value; 29public override bool Equals(object? obj) => obj is CaptureId && Equals((CaptureId)obj);
Operations\ControlFlowGraphBuilder.cs (2)
1707/// track <see cref="CaptureId"/>s used by the stack spilling, etc. 1878var idsStillOnTheStack = PooledHashSet<CaptureId>.GetInstance();
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (4)
25public ArrayBuilder<CaptureId>? CaptureIds = null; 70CaptureIds = ArrayBuilder<CaptureId>.GetInstance(); 76public void AddCaptureIds(ArrayBuilder<CaptureId>? others) 87CaptureIds = ArrayBuilder<CaptureId>.GetInstance();
Operations\ControlFlowRegion.cs (2)
61public ImmutableArray<CaptureId> CaptureIds { get; } 67ImmutableArray<CaptureId> captureIds,
Microsoft.CodeAnalysis.Analyzers (23)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)
Microsoft.CodeAnalysis.AnalyzerUtilities (48)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (5)
37leavingRegionFlowCaptures: ImmutableHashSet<CaptureId>.Empty) 50IEnumerable<CaptureId> leavingRegionFlowCaptures) 73public IEnumerable<CaptureId> LeavingRegionFlowCaptures { get; } 86leavingRegionFlowCaptures: ImmutableHashSet<CaptureId>.Empty); 116private static IEnumerable<CaptureId> ComputeLeavingRegionFlowCaptures(ImmutableArray<ControlFlowRegion> leavingRegions)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (2)
101protected override void ProcessOutOfScopeLocalsAndFlowCaptures(IEnumerable<ILocalSymbol> locals, IEnumerable<CaptureId> flowCaptures) 123foreach (var captureId in flowCaptures)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (5)
32private readonly Dictionary<CaptureId, AnalysisEntity> _captureIdEntityMap; 33private readonly Dictionary<CaptureId, CopyAbstractValue> _captureIdCopyValueMap; 404public bool TryGetForFlowCapture(CaptureId captureId, out AnalysisEntity analysisEntity) 407public bool TryGetCopyValueForFlowCapture(CaptureId captureId, out CopyAbstractValue copyValue) 413private AnalysisEntity GetOrCreateForFlowCapture(CaptureId captureId, ITypeSymbol? type, IOperation flowCaptureOrReference, bool isLValueFlowCapture)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (4)
46private readonly ImmutableHashSet<CaptureId> _lValueFlowCaptures; 942IEnumerable<CaptureId> leavingRegionFlowCaptures, 960protected virtual void ProcessOutOfScopeLocalsAndFlowCaptures(IEnumerable<ILocalSymbol> locals, IEnumerable<CaptureId> flowCaptures) 966foreach (var captureId in flowCaptures)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\InterproceduralCaptureId.cs (3)
12/// This type essentially wraps each <see cref="CaptureId"/>, which is unique for each control flow graph, 17internal InterproceduralCaptureId(CaptureId captureId, ControlFlowGraph controlFlowGraph, bool isLValueFlowCapture) 24public CaptureId Id { get; }
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (6)
23private static readonly ConditionalWeakTable<ControlFlowGraph, ImmutableHashSet<CaptureId>> s_lValueFlowCapturesCache = new(); 25public static ImmutableHashSet<CaptureId> GetOrCreateLValueFlowCaptures(ControlFlowGraph cfg) 28private static ImmutableHashSet<CaptureId> CreateLValueFlowCaptures(ControlFlowGraph cfg) 30var lvalueFlowCaptureIdBuilder = PooledHashSet<CaptureId>.GetInstance(); 32var rvalueFlowCaptureIds = new Dictionary<CaptureId, HashSet<IFlowCaptureReferenceOperation>>(); 57foreach (var captureId in lvalueFlowCaptureIdBuilder)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)
Microsoft.CodeAnalysis.CodeStyle (23)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)
Microsoft.CodeAnalysis.ResxSourceGenerator (23)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)
Microsoft.CodeAnalysis.Workspaces (23)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)
Roslyn.Diagnostics.Analyzers (23)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (6)
22/// <see cref="CaptureId"/> as this flow capture, dereferences and writes to this location 40public static ImmutableDictionary<CaptureId, FlowCaptureKind> CreateLValueFlowCaptures(ControlFlowGraph cfg) 49ImmutableDictionary<CaptureId, FlowCaptureKind>.Builder lvalueFlowCaptureIdBuilder = null; 50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 60lvalueFlowCaptureIdBuilder ??= ImmutableDictionary.CreateBuilder<CaptureId, FlowCaptureKind>(); 80return lvalueFlowCaptureIdBuilder != null ? lvalueFlowCaptureIdBuilder.ToImmutable() : ImmutableDictionary<CaptureId, FlowCaptureKind>.Empty;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
130public abstract bool IsLValueFlowCapture(CaptureId captureId); 131public abstract bool IsRValueFlowCapture(CaptureId captureId); 132public abstract void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId); 133public abstract void OnLValueDereferenceFound(CaptureId captureId);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (7)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 197public ImmutableDictionary<CaptureId, FlowCaptureKind> LValueFlowCapturesInGraph { get; } 472public override bool IsLValueFlowCapture(CaptureId captureId) 475public override bool IsRValueFlowCapture(CaptureId captureId) 478public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 489public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (4)
59public override bool IsLValueFlowCapture(CaptureId captureId) 61public override bool IsRValueFlowCapture(CaptureId captureId) 63public override void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 65public override void OnLValueDereferenceFound(CaptureId captureId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (2)
101private void OnLValueCaptureFound(ISymbol symbol, IOperation operation, CaptureId captureId) 104private void OnLValueDereferenceFound(CaptureId captureId)