9 writes to CurrentAnalysisData
Microsoft.CodeAnalysis.AnalyzerUtilities (9)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (9)
421CurrentAnalysisData = input; 444CurrentAnalysisData = input; 476CurrentAnalysisData = analysisData; 687CurrentAnalysisData = input; 952CurrentAnalysisData = input; 2144=> CurrentAnalysisData = resultData; 3501CurrentAnalysisData = GetClonedAnalysisData(inputAnalysisData); 3516CurrentAnalysisData = result; 3771CurrentAnalysisData = MergeAnalysisData(previousCurrentAnalysisData, exceptionData);
110 references to CurrentAnalysisData
Microsoft.CodeAnalysis.AnalyzerUtilities (110)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (14)
67protected override bool HasAbstractValue(AnalysisEntity analysisEntity) => CurrentAnalysisData.HasAbstractValue(analysisEntity); 92protected override CopyAbstractValue GetAbstractValue(AnalysisEntity analysisEntity) => CurrentAnalysisData.TryGetValue(analysisEntity, out var value) ? value : CopyAbstractValue.Unknown; 103SetAbstractValue(CurrentAnalysisData, analysisEntity, value, TryGetAddressSharedCopyValue); 115CurrentAnalysisData.AssertValidCopyAnalysisData(); 274if (CurrentAnalysisData.TryGetValue(entity, out var existingValue)) 290SetAbstractValue(CurrentAnalysisData, analysisEntity, copyValue, TryGetAddressSharedCopyValue, initializingParameters: true); 303protected override void ResetCurrentAnalysisData() => CurrentAnalysisData.Reset(GetResetValue); 309return CurrentAnalysisData.TryGetValue(analysisEntity, out var value) ? value : GetDefaultCopyValue(analysisEntity); 402if (CurrentAnalysisData.TryGetValue(key, out var newValue)) 429var entitiesToExclude = existingValue.AnalysisEntities.Where(e => !CurrentAnalysisData.HasAbstractValue(e)); 518CurrentAnalysisData.CoreAnalysisData.Clear(); 519CurrentAnalysisData.CoreAnalysisData.AddRange(mergedData.CoreAnalysisData); 525foreach (var kvp in CurrentAnalysisData.CoreAnalysisData) 583copyValues = CurrentAnalysisData.CoreAnalysisData;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (11)
62protected override DisposeAbstractValue GetAbstractValue(AbstractLocation location) => CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.UnknownOrMayBeValue; 73CurrentAnalysisData[location] = value; 77protected override void StopTrackingAbstractValue(AbstractLocation location) => CurrentAnalysisData.Remove(location); 79protected override void ResetCurrentAnalysisData() => ResetAnalysisData(CurrentAnalysisData); 118if (CurrentAnalysisData.TryGetValue(location, out var currentDisposeValue)) 131if (CurrentAnalysisData.TryGetValue(location, out var currentDisposeValue) && 143if (CurrentAnalysisData.TryGetValue(escapedLocation, out var currentDisposeValue) && 207=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 209=> GetClonedAnalysisDataHelper(CurrentAnalysisData); 215=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData); 422else if (!CurrentAnalysisData.ContainsKey(location))
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateDataFlowOperationVisitor.cs (7)
116=> CurrentAnalysisData.TryGetValue(analysisEntity, out var value) ? value : ValueDomain.UnknownOrMayBeValue; 119=> SetAbstractValue(CurrentAnalysisData, analysisEntity, value); 122=> CurrentAnalysisData.ContainsKey(analysisEntity); 128=> GetTrimmedCurrentAnalysisDataHelper(withEntities, CurrentAnalysisData, SetAbstractValue); 134=> ResetAnalysisData(CurrentAnalysisData); 137=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 140=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData, throwBranchWithExceptionType);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (9)
59=> CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.Bottom; 61protected override void ResetCurrentAnalysisData() => ResetAnalysisData(CurrentAnalysisData); 65return CurrentAnalysisData.ContainsKey(location) || 84CurrentAnalysisData.TryGetValue(location, out var value) && 87protected override void StopTrackingAbstractValue(AbstractLocation location) => CurrentAnalysisData.Remove(location); 93CurrentAnalysisData[location] = value; 207=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 215=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData); 364var notValidatedLocations = CurrentAnalysisData.Keys.Where(IsNotOrMaybeValidatedLocation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (13)
92Debug.Assert(!CurrentAnalysisData.TryGetValue(analysisEntity, out var existingValue) || existingValue == PointsToAbstractValue.NoLocation); 149protected override bool HasAbstractValue(AnalysisEntity analysisEntity) => CurrentAnalysisData.HasAbstractValue(analysisEntity); 161if (!CurrentAnalysisData.TryGetValue(analysisEntity, out var value)) 184Debug.Assert(!CurrentAnalysisData.TryGetValue(analysisEntity, out var currentValue) || 190SetAbstractValueCore(CurrentAnalysisData, analysisEntity, value); 271protected override void ResetCurrentAnalysisData() => CurrentAnalysisData.Reset(GetResetValue); 420sourceAnalysisData: CurrentAnalysisData, targetAnalysisData: targetAnalysisData); 427sourceAnalysisData: CurrentAnalysisData, targetAnalysisData: targetAnalysisData); 581=> UpdateValuesForAnalysisData(targetAnalysisData.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData); 589=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData, throwBranchWithExceptionType); 598AssertValidPointsToAnalysisData(CurrentAnalysisData); 603var trimmedData = GetTrimmedCurrentAnalysisDataHelper(withEntities, CurrentAnalysisData.CoreAnalysisData, SetAbstractValueCore); 619pointsToValues = CurrentAnalysisData.CoreAnalysisData;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
97=> this.CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.Bottom; 99protected override void ResetCurrentAnalysisData() => ResetAnalysisData(CurrentAnalysisData); 101protected override void StopTrackingAbstractValue(AbstractLocation location) => CurrentAnalysisData.Remove(location); 106|| this.CurrentAnalysisData.ContainsKey(location)) 108this.CurrentAnalysisData[location] = value; 115=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 123=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (10)
74return this.CurrentAnalysisData.TryGetValue(analysisEntity, out TaintedDataAbstractValue? value) ? value : TaintedDataAbstractValue.NotTainted; 84return this.CurrentAnalysisData.HasAbstractValue(analysisEntity); 99UpdateValuesForAnalysisData(targetAnalysisData.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData); 104this.CurrentAnalysisData.Reset(this.ValueDomain.UnknownOrMayBeValue); 119base.ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData, throwBranchWithExceptionType); 155|| this.CurrentAnalysisData.CoreAnalysisData.ContainsKey(analysisEntity)) 159SetAbstractValueCore(CurrentAnalysisData, analysisEntity, value); 242return this.CurrentAnalysisData.TryGetValue(analysisEntity, out TaintedDataAbstractValue? value) ? value : defaultValue; 767this.CurrentAnalysisData.SetAbstractValue(analysisEntity, value); 775=> GetTrimmedCurrentAnalysisDataHelper(withEntities, CurrentAnalysisData.CoreAnalysisData, SetAbstractValueCore);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ValueContentAnalysis\ValueContentAnalysis.ValueContentDataFlowOperationVisitor.cs (8)
38=> SetAbstractValue(CurrentAnalysisData, analysisEntity, value); 59=> CurrentAnalysisData.HasAbstractValue(analysisEntity); 65=> CurrentAnalysisData.TryGetValue(analysisEntity, out var value) ? value : ValueDomain.UnknownOrMayBeValue; 76=> CurrentAnalysisData.Reset(ValueDomain.UnknownOrMayBeValue); 120if (CurrentAnalysisData.TryGetValue(targetEntity, out var existingTargetValue) && 167=> UpdateValuesForAnalysisData(targetAnalysisData.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData); 175=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData, throwBranchWithExceptionType); 181=> GetTrimmedCurrentAnalysisDataHelper(withEntities, CurrentAnalysisData.CoreAnalysisData, SetAbstractValue);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (4)
39=> AddTrackedEntities(CurrentAnalysisData, builder, forInterproceduralAnalysis); 133=> StopTrackingDataForEntity(analysisEntity, CurrentAnalysisData, allEntities); 181StopTrackingDataForEntity(parameterEntity, CurrentAnalysisData, allEntities); 185StopTrackingDataForParamArrayParameterIndices(parameterEntity, CurrentAnalysisData, allEntities);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (24)
424return CurrentAnalysisData; 470return CurrentAnalysisData; 505return CurrentAnalysisData; 740return (CurrentAnalysisData, isFeasibleBranch); 857if (!HasAnyAbstractValue(CurrentAnalysisData) && 937MergeAnalysisData(CurrentAnalysisData, existingData); 957return CurrentAnalysisData; 1380return IsReachableBlockData(CurrentAnalysisData); 1424Debug.Assert(Equals(savedCurrentAnalysisData, CurrentAnalysisData), "Expected no updates to CurrentAnalysisData"); 1453Debug.Assert(!ReferenceEquals(truePredicatedData, CurrentAnalysisData)); 1458Debug.Assert(!ReferenceEquals(falsePredicatedData, CurrentAnalysisData)); 1462Debug.Assert(Equals(savedCurrentAnalysisData, CurrentAnalysisData), "Expected no updates to CurrentAnalysisData"); 1480PerformPredicateAnalysisCore(operation, CurrentAnalysisData); 1919=> HasPredicatedDataForEntity(CurrentAnalysisData, predicatedEntity); 2088protected TAnalysisData GetClonedCurrentAnalysisData() => GetClonedAnalysisData(CurrentAnalysisData); 2363SetPredicateValueKind(originalOperation, CurrentAnalysisData, analysisResult.ReturnValueAndPredicateKind.Value.PredicateValueKind); 3480Debug.Assert(!ReferenceEquals(oldMergedAnalysisData, CurrentAnalysisData)); 3492Debug.Assert(!ReferenceEquals(oldMergedAnalysisData, CurrentAnalysisData)); 3496Debug.Assert(mergedCurrentAnalysisData == null || ReferenceEquals(mergedCurrentAnalysisData, CurrentAnalysisData)); 3514var result = MergeAnalysisData(mergedAnalysisData, CurrentAnalysisData); 3515CurrentAnalysisData.Dispose(); 3519return CurrentAnalysisData; 3769var previousCurrentAnalysisData = CurrentAnalysisData; 3772AssertValidAnalysisData(CurrentAnalysisData);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\PredicateAnalysisEntityDataFlowOperationVisitor.cs (3)
42=> CurrentAnalysisData?.StartTrackingPredicatedData( 47=> CurrentAnalysisData?.StopTrackingPredicatedData(predicatedEntity); 51=> CurrentAnalysisData?.TransferPredicatedData(fromEntity, toEntity);