6 instantiations of GlobalFlowStateDictionaryAnalysisValue
Microsoft.CodeAnalysis.NetAnalyzers (6)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (1)
335
var analysisValue = new
GlobalFlowStateDictionaryAnalysisValue
(
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryAnalysisValue.cs (5)
18
public static readonly GlobalFlowStateDictionaryAnalysisValue Empty =
new
(ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.Empty, GlobalFlowStateDictionaryAnalysisValueKind.Empty);
20
public static readonly GlobalFlowStateDictionaryAnalysisValue Unknown =
new
(ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.Empty, GlobalFlowStateDictionaryAnalysisValueKind.Unknown);
70
return new
GlobalFlowStateDictionaryAnalysisValue
(builder.ToImmutableDictionary(), GlobalFlowStateDictionaryAnalysisValueKind.Known);
117
return new
GlobalFlowStateDictionaryAnalysisValue
(builder.ToImmutable(), GlobalFlowStateDictionaryAnalysisValueKind.Known);
126
: new
GlobalFlowStateDictionaryAnalysisValue
(TrackedEntities.Remove(entity), GlobalFlowStateDictionaryAnalysisValueKind.Known);
77 references to GlobalFlowStateDictionaryAnalysisValue
Microsoft.CodeAnalysis.NetAnalyzers (77)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.cs (1)
320
var
result = analysisResult[operation.Kind, operation.Syntax];
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (26)
33
public override
GlobalFlowStateDictionaryAnalysisValue
VisitParameterReference(IParameterReferenceOperation operation, object? argument)
35
var
value = base.VisitParameterReference(operation, argument);
39
public override
GlobalFlowStateDictionaryAnalysisValue
VisitLocalReference(ILocalReferenceOperation operation, object? argument)
41
var
value = base.VisitLocalReference(operation, argument);
45
private
GlobalFlowStateDictionaryAnalysisValue
VisitLocalOrParameter(ITypeSymbol? typeSymbol, IOperation parameterOrLocalReferenceOperation,
GlobalFlowStateDictionaryAnalysisValue
defaultValue)
84
AnalysisEntity targetAnalysisEntity, IOperation? assignedValueOperation,
GlobalFlowStateDictionaryAnalysisValue
assignedValue)
126
private
GlobalFlowStateDictionaryAnalysisValue
VisitDeferTypeEntities(
129
GlobalFlowStateDictionaryAnalysisValue
defaultValue,
171
var
resultAnalysisValue = defaultValue;
193
var
analysisValue = CreateAndUpdateAnalysisValue(currentOperation, new DeferredTypeSymbolEntity(location.Symbol), defaultValue, enumerationCount);
194
resultAnalysisValue =
GlobalFlowStateDictionaryAnalysisValue
.Merge(resultAnalysisValue, analysisValue, false);
209
var
analysisValue =
212
resultAnalysisValue =
GlobalFlowStateDictionaryAnalysisValue
.Merge(resultAnalysisValue, analysisValue, false);
228
var
analysisValue = CreateAndUpdateAnalysisValue(
234
resultAnalysisValue =
GlobalFlowStateDictionaryAnalysisValue
.Merge(resultAnalysisValue, analysisValue, false);
309
private
GlobalFlowStateDictionaryAnalysisValue
CreateAndUpdateAnalysisValue(
312
GlobalFlowStateDictionaryAnalysisValue
defaultValue,
315
var
analysisValueForNewEntity = CreateAnalysisValue(entity, parameterOrLocalOperation, defaultValue, enumerationCount);
320
private static
GlobalFlowStateDictionaryAnalysisValue
CreateAnalysisValue(
323
GlobalFlowStateDictionaryAnalysisValue
defaultValue,
335
var
analysisValue = new GlobalFlowStateDictionaryAnalysisValue(
340
?
GlobalFlowStateDictionaryAnalysisValue
.Merge(analysisValue, defaultValue, false)
344
private void UpdateGlobalValue(
GlobalFlowStateDictionaryAnalysisValue
value)
348
var
newState =
GlobalFlowStateDictionaryAnalysisValue
.Merge(GlobalState, value, false);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryAnalysis.cs (5)
14
using GlobalFlowStateDictionaryAnalysisData = DictionaryAnalysisData<AnalysisEntity,
GlobalFlowStateDictionaryAnalysisValue
>;
15
using GlobalFlowStateDictionaryAnalysisResult = DataFlowAnalysisResult<GlobalFlowStateDictionaryBlockAnalysisResult,
GlobalFlowStateDictionaryAnalysisValue
>;
16
using GlobalFlowStateDictionaryAnalysisDomain = MapAbstractDomain<AnalysisEntity,
GlobalFlowStateDictionaryAnalysisValue
>;
26
GlobalFlowStateDictionaryAnalysisValue
>
32
DataFlowOperationVisitor<GlobalFlowStateDictionaryAnalysisData, GlobalFlowStateDictionaryAnalysisContext, GlobalFlowStateDictionaryAnalysisResult,
GlobalFlowStateDictionaryAnalysisValue
> operationVisitor)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryAnalysisContext.cs (7)
16
using GlobalFlowStateDictionaryAnalysisData = DictionaryAnalysisData<AnalysisEntity,
GlobalFlowStateDictionaryAnalysisValue
>;
17
using GlobalFlowStateDictionaryAnalysisResult = DataFlowAnalysisResult<GlobalFlowStateDictionaryBlockAnalysisResult,
GlobalFlowStateDictionaryAnalysisValue
>;
23
GlobalFlowStateDictionaryAnalysisValue
>
26
AbstractValueDomain<
GlobalFlowStateDictionaryAnalysisValue
> valueDomain,
40
InterproceduralAnalysisData<GlobalFlowStateDictionaryAnalysisData, GlobalFlowStateDictionaryAnalysisContext,
GlobalFlowStateDictionaryAnalysisValue
>? interproceduralAnalysisData = null,
51
InterproceduralAnalysisData<GlobalFlowStateDictionaryAnalysisData, GlobalFlowStateDictionaryAnalysisContext,
GlobalFlowStateDictionaryAnalysisValue
>? interproceduralAnalysisData)
70
protected override bool ComputeEqualsByHashCodeParts(AbstractDataFlowAnalysisContext<GlobalFlowStateDictionaryAnalysisData, GlobalFlowStateDictionaryAnalysisContext, GlobalFlowStateDictionaryAnalysisResult,
GlobalFlowStateDictionaryAnalysisValue
> obj)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryAnalysisValue.cs (13)
12
internal class GlobalFlowStateDictionaryAnalysisValue : CacheBasedEquatable<
GlobalFlowStateDictionaryAnalysisValue
>
18
public static readonly
GlobalFlowStateDictionaryAnalysisValue
Empty = new(ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.Empty, GlobalFlowStateDictionaryAnalysisValueKind.Empty);
20
public static readonly
GlobalFlowStateDictionaryAnalysisValue
Unknown = new(ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.Empty, GlobalFlowStateDictionaryAnalysisValueKind.Unknown);
35
public static
GlobalFlowStateDictionaryAnalysisValue
Merge(
36
GlobalFlowStateDictionaryAnalysisValue
value1,
GlobalFlowStateDictionaryAnalysisValue
value2, bool intersectValueInCommonKeys)
76
public static
GlobalFlowStateDictionaryAnalysisValue
Intersect(
GlobalFlowStateDictionaryAnalysisValue
value1,
GlobalFlowStateDictionaryAnalysisValue
value2)
120
public
GlobalFlowStateDictionaryAnalysisValue
RemoveTrackedDeferredTypeEntity(IDeferredTypeEntity entity)
132
protected override bool ComputeEqualsByHashCodeParts(CacheBasedEquatable<
GlobalFlowStateDictionaryAnalysisValue
> obj)
134
var
other = (
GlobalFlowStateDictionaryAnalysisValue
)obj;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryAnalysisValueDomain.cs (17)
8
internal class GlobalFlowStateDictionaryAnalysisValueDomain : AbstractValueDomain<
GlobalFlowStateDictionaryAnalysisValue
>
16
public override
GlobalFlowStateDictionaryAnalysisValue
UnknownOrMayBeValue =>
GlobalFlowStateDictionaryAnalysisValue
.Unknown;
18
public override
GlobalFlowStateDictionaryAnalysisValue
Bottom =>
GlobalFlowStateDictionaryAnalysisValue
.Empty;
20
public override int Compare(
GlobalFlowStateDictionaryAnalysisValue
oldValue,
GlobalFlowStateDictionaryAnalysisValue
newValue, bool assertMonotonicity)
41
public override
GlobalFlowStateDictionaryAnalysisValue
Merge(
GlobalFlowStateDictionaryAnalysisValue
value1,
GlobalFlowStateDictionaryAnalysisValue
value2)
55
return
GlobalFlowStateDictionaryAnalysisValue
.Unknown;
77
return
GlobalFlowStateDictionaryAnalysisValue
.Merge(value1, value2, true);
80
public static
GlobalFlowStateDictionaryAnalysisValue
Intersect(
GlobalFlowStateDictionaryAnalysisValue
value1,
GlobalFlowStateDictionaryAnalysisValue
value2)
94
return
GlobalFlowStateDictionaryAnalysisValue
.Unknown;
97
return
GlobalFlowStateDictionaryAnalysisValue
.Intersect(value1, value2);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryBlockAnalysisResult.cs (2)
10
using GlobalFlowStateDictionaryAnalysisData = DictionaryAnalysisData<AnalysisEntity,
GlobalFlowStateDictionaryAnalysisValue
>;
19
public ImmutableDictionary<AnalysisEntity,
GlobalFlowStateDictionaryAnalysisValue
> Data { get; }
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryFlowOperationVisitor.cs (6)
11
using GlobalFlowStateDictionaryAnalysisData = DictionaryAnalysisData<AnalysisEntity,
GlobalFlowStateDictionaryAnalysisValue
>;
12
using GlobalFlowStateDictionaryAnalysisResult = DataFlowAnalysisResult<GlobalFlowStateDictionaryBlockAnalysisResult,
GlobalFlowStateDictionaryAnalysisValue
>;
17
GlobalFlowStateDictionaryAnalysisValue
>
27
protected override
GlobalFlowStateDictionaryAnalysisValue
GetAbstractDefaultValue(ITypeSymbol? type)
28
=>
GlobalFlowStateDictionaryAnalysisValue
.Empty;
44
protected sealed override void SetAbstractValue(GlobalFlowStateDictionaryAnalysisData analysisData, AnalysisEntity analysisEntity,
GlobalFlowStateDictionaryAnalysisValue
value)