9 writes to CurrentAnalysisData
Microsoft.CodeAnalysis.AnalyzerUtilities (9)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (9)
419CurrentAnalysisData = input; 442CurrentAnalysisData = input; 474CurrentAnalysisData = analysisData; 685CurrentAnalysisData = input; 950CurrentAnalysisData = input; 2142=> CurrentAnalysisData = resultData; 3499CurrentAnalysisData = GetClonedAnalysisData(inputAnalysisData); 3514CurrentAnalysisData = result; 3769CurrentAnalysisData = MergeAnalysisData(previousCurrentAnalysisData, exceptionData);
110 references to CurrentAnalysisData
Microsoft.CodeAnalysis.AnalyzerUtilities (110)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (14)
68protected override bool HasAbstractValue(AnalysisEntity analysisEntity) => CurrentAnalysisData.HasAbstractValue(analysisEntity); 93protected override CopyAbstractValue GetAbstractValue(AnalysisEntity analysisEntity) => CurrentAnalysisData.TryGetValue(analysisEntity, out var value) ? value : CopyAbstractValue.Unknown; 104SetAbstractValue(CurrentAnalysisData, analysisEntity, value, TryGetAddressSharedCopyValue); 116CurrentAnalysisData.AssertValidCopyAnalysisData(); 275if (CurrentAnalysisData.TryGetValue(entity, out var existingValue)) 291SetAbstractValue(CurrentAnalysisData, analysisEntity, copyValue, TryGetAddressSharedCopyValue, initializingParameters: true); 304protected override void ResetCurrentAnalysisData() => CurrentAnalysisData.Reset(GetResetValue); 310return CurrentAnalysisData.TryGetValue(analysisEntity, out var value) ? value : GetDefaultCopyValue(analysisEntity); 403if (CurrentAnalysisData.TryGetValue(key, out var newValue)) 430var entitiesToExclude = existingValue.AnalysisEntities.Where(e => !CurrentAnalysisData.HasAbstractValue(e)); 519CurrentAnalysisData.CoreAnalysisData.Clear(); 520CurrentAnalysisData.CoreAnalysisData.AddRange(mergedData.CoreAnalysisData); 526foreach (var kvp in CurrentAnalysisData.CoreAnalysisData) 584copyValues = CurrentAnalysisData.CoreAnalysisData;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (11)
60protected override DisposeAbstractValue GetAbstractValue(AbstractLocation location) => CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.UnknownOrMayBeValue; 71CurrentAnalysisData[location] = value; 75protected override void StopTrackingAbstractValue(AbstractLocation location) => CurrentAnalysisData.Remove(location); 77protected override void ResetCurrentAnalysisData() => ResetAnalysisData(CurrentAnalysisData); 116if (CurrentAnalysisData.TryGetValue(location, out var currentDisposeValue)) 129if (CurrentAnalysisData.TryGetValue(location, out var currentDisposeValue) && 141if (CurrentAnalysisData.TryGetValue(escapedLocation, out var currentDisposeValue) && 205=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 207=> GetClonedAnalysisDataHelper(CurrentAnalysisData); 213=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData); 420else 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)
58=> CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.Bottom; 60protected override void ResetCurrentAnalysisData() => ResetAnalysisData(CurrentAnalysisData); 64return CurrentAnalysisData.ContainsKey(location) || 83CurrentAnalysisData.TryGetValue(location, out var value) && 86protected override void StopTrackingAbstractValue(AbstractLocation location) => CurrentAnalysisData.Remove(location); 92CurrentAnalysisData[location] = value; 206=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 214=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData); 363var notValidatedLocations = CurrentAnalysisData.Keys.Where(IsNotOrMaybeValidatedLocation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (13)
90Debug.Assert(!CurrentAnalysisData.TryGetValue(analysisEntity, out var existingValue) || existingValue == PointsToAbstractValue.NoLocation); 147protected override bool HasAbstractValue(AnalysisEntity analysisEntity) => CurrentAnalysisData.HasAbstractValue(analysisEntity); 159if (!CurrentAnalysisData.TryGetValue(analysisEntity, out var value)) 182Debug.Assert(!CurrentAnalysisData.TryGetValue(analysisEntity, out var currentValue) || 188SetAbstractValueCore(CurrentAnalysisData, analysisEntity, value); 269protected override void ResetCurrentAnalysisData() => CurrentAnalysisData.Reset(GetResetValue); 418sourceAnalysisData: CurrentAnalysisData, targetAnalysisData: targetAnalysisData); 425sourceAnalysisData: CurrentAnalysisData, targetAnalysisData: targetAnalysisData); 579=> UpdateValuesForAnalysisData(targetAnalysisData.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData); 587=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData, throwBranchWithExceptionType); 596AssertValidPointsToAnalysisData(CurrentAnalysisData); 601var trimmedData = GetTrimmedCurrentAnalysisDataHelper(withEntities, CurrentAnalysisData.CoreAnalysisData, SetAbstractValueCore); 617pointsToValues = CurrentAnalysisData.CoreAnalysisData;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
95=> this.CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.Bottom; 97protected override void ResetCurrentAnalysisData() => ResetAnalysisData(CurrentAnalysisData); 99protected override void StopTrackingAbstractValue(AbstractLocation location) => CurrentAnalysisData.Remove(location); 104|| this.CurrentAnalysisData.ContainsKey(location)) 106this.CurrentAnalysisData[location] = value; 113=> UpdateValuesForAnalysisData(targetAnalysisData, CurrentAnalysisData); 121=> ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException, CurrentAnalysisData);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (10)
73return this.CurrentAnalysisData.TryGetValue(analysisEntity, out TaintedDataAbstractValue? value) ? value : TaintedDataAbstractValue.NotTainted; 83return this.CurrentAnalysisData.HasAbstractValue(analysisEntity); 98UpdateValuesForAnalysisData(targetAnalysisData.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData); 103this.CurrentAnalysisData.Reset(this.ValueDomain.UnknownOrMayBeValue); 118base.ApplyMissingCurrentAnalysisDataForUnhandledExceptionData(dataAtException.CoreAnalysisData, CurrentAnalysisData.CoreAnalysisData, throwBranchWithExceptionType); 154|| this.CurrentAnalysisData.CoreAnalysisData.ContainsKey(analysisEntity)) 158SetAbstractValueCore(CurrentAnalysisData, analysisEntity, value); 241return this.CurrentAnalysisData.TryGetValue(analysisEntity, out TaintedDataAbstractValue? value) ? value : defaultValue; 766this.CurrentAnalysisData.SetAbstractValue(analysisEntity, value); 774=> 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)
422return CurrentAnalysisData; 468return CurrentAnalysisData; 503return CurrentAnalysisData; 738return (CurrentAnalysisData, isFeasibleBranch); 855if (!HasAnyAbstractValue(CurrentAnalysisData) && 935MergeAnalysisData(CurrentAnalysisData, existingData); 955return CurrentAnalysisData; 1378return IsReachableBlockData(CurrentAnalysisData); 1422Debug.Assert(Equals(savedCurrentAnalysisData, CurrentAnalysisData), "Expected no updates to CurrentAnalysisData"); 1451Debug.Assert(!ReferenceEquals(truePredicatedData, CurrentAnalysisData)); 1456Debug.Assert(!ReferenceEquals(falsePredicatedData, CurrentAnalysisData)); 1460Debug.Assert(Equals(savedCurrentAnalysisData, CurrentAnalysisData), "Expected no updates to CurrentAnalysisData"); 1478PerformPredicateAnalysisCore(operation, CurrentAnalysisData); 1917=> HasPredicatedDataForEntity(CurrentAnalysisData, predicatedEntity); 2086protected TAnalysisData GetClonedCurrentAnalysisData() => GetClonedAnalysisData(CurrentAnalysisData); 2361SetPredicateValueKind(originalOperation, CurrentAnalysisData, analysisResult.ReturnValueAndPredicateKind.Value.PredicateValueKind); 3478Debug.Assert(!ReferenceEquals(oldMergedAnalysisData, CurrentAnalysisData)); 3490Debug.Assert(!ReferenceEquals(oldMergedAnalysisData, CurrentAnalysisData)); 3494Debug.Assert(mergedCurrentAnalysisData == null || ReferenceEquals(mergedCurrentAnalysisData, CurrentAnalysisData)); 3512var result = MergeAnalysisData(mergedAnalysisData, CurrentAnalysisData); 3513CurrentAnalysisData.Dispose(); 3517return CurrentAnalysisData; 3767var previousCurrentAnalysisData = CurrentAnalysisData; 3770AssertValidAnalysisData(CurrentAnalysisData);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\PredicateAnalysisEntityDataFlowOperationVisitor.cs (3)
42=> CurrentAnalysisData?.StartTrackingPredicatedData( 47=> CurrentAnalysisData?.StopTrackingPredicatedData(predicatedEntity); 51=> CurrentAnalysisData?.TransferPredicatedData(fromEntity, toEntity);