110 references to HazardousUsageEvaluationResult
Analyzer.Utilities.UnitTests (64)
FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisTests.cs (64)
60
params (int Line, int Column, string? Method,
HazardousUsageEvaluationResult
Result)[] expectedResults)
62
expectedResults ??= Array.Empty<(int Line, int Column, string? MethodName,
HazardousUsageEvaluationResult
Result)>();
98
ImmutableDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> actual =
103
foreach ((int Line, int Column, string? Method,
HazardousUsageEvaluationResult
Result) in expectedResults)
105
HazardousUsageEvaluationResult
? actualResult = null;
106
foreach (KeyValuePair<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> kvp in actual)
141
foreach (KeyValuePair<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> kvp in actual)
247
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
248
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
249
_ =>
HazardousUsageEvaluationResult
.Unflagged,
264
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
265
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
266
_ =>
HazardousUsageEvaluationResult
.Unflagged,
281
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
282
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
283
_ =>
HazardousUsageEvaluationResult
.Unflagged,
300
(8, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
317
(10, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
347
(9, 9, "void OtherClass.OtherMethod(string s, TestTypeToTrack t)",
HazardousUsageEvaluationResult
.Flagged));
362
(8, 9, "void OtherClass.StaticMethod(TestTypeToTrack staticMethodParameter)",
HazardousUsageEvaluationResult
.Flagged));
379
(9, 9, "void OtherClass.OtherMethod(string s, TestTypeToTrack t)",
HazardousUsageEvaluationResult
.Flagged),
380
(10, 9, "void OtherClass.StaticMethod(TestTypeToTrack staticMethodParameter)",
HazardousUsageEvaluationResult
.Flagged));
431
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
432
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
433
_ =>
HazardousUsageEvaluationResult
.Unflagged,
449
(7, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
465
(9, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
493
(8, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
522
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
523
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
524
_ =>
HazardousUsageEvaluationResult
.Unflagged,
541
(8, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
591
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
592
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
593
_ =>
HazardousUsageEvaluationResult
.Unflagged,
622
(7, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
662
return
HazardousUsageEvaluationResult
.Flagged;
667
return
HazardousUsageEvaluationResult
.MaybeFlagged;
671
return
HazardousUsageEvaluationResult
.Unflagged;
689
(9, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
717
(21, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.MaybeFlagged));
740
(16, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.MaybeFlagged));
763
(16, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.MaybeFlagged));
837
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
838
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
839
_ =>
HazardousUsageEvaluationResult
.Unflagged,
858
(10, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
879
(14, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
935
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
936
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
937
_ =>
HazardousUsageEvaluationResult
.Unflagged,
956
(10, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
978
(10, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
1011
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
1012
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
1013
_ =>
HazardousUsageEvaluationResult
.Unflagged,
1030
(8, 16, null,
HazardousUsageEvaluationResult
.Flagged));
1046
(9, 16, null,
HazardousUsageEvaluationResult
.Flagged));
1123
PropertySetAbstractValueKind.Flagged =>
HazardousUsageEvaluationResult
.Flagged,
1124
PropertySetAbstractValueKind.MaybeFlagged =>
HazardousUsageEvaluationResult
.MaybeFlagged,
1125
_ =>
HazardousUsageEvaluationResult
.Unflagged,
1142
(8, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
1157
(8, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
1173
(9, 9, "void TestTypeToTrack.Method()",
HazardousUsageEvaluationResult
.Flagged));
Microsoft.CodeAnalysis.AnalyzerUtilities (46)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\HazardousUsageEvaluator.cs (2)
23
public delegate
HazardousUsageEvaluationResult
InvocationEvaluationCallback(IMethodSymbol methodSymbol, PropertySetAbstractValue propertySetAbstractValue);
30
public delegate
HazardousUsageEvaluationResult
EvaluationCallback(PropertySetAbstractValue propertySetAbstractValue);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.cs (16)
152
public static PooledDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
>? BatchGetOrComputeHazardousUsages(
188
public static PooledDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
>? BatchGetOrComputeHazardousUsages(
199
PooledDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
>? allResults = null;
264
allResults ??= PooledDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
>.GetInstance();
266
foreach (KeyValuePair<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> kvp
269
if (allResults.TryGetValue(kvp.Key, out
HazardousUsageEvaluationResult
existingValue))
289
public static
HazardousUsageEvaluationResult
MergeHazardousUsageEvaluationResult(
HazardousUsageEvaluationResult
r1,
HazardousUsageEvaluationResult
r2)
291
if (r1 ==
HazardousUsageEvaluationResult
.Flagged || r2 ==
HazardousUsageEvaluationResult
.Flagged)
293
return
HazardousUsageEvaluationResult
.Flagged;
295
else if (r1 ==
HazardousUsageEvaluationResult
.MaybeFlagged || r2 ==
HazardousUsageEvaluationResult
.MaybeFlagged)
297
return
HazardousUsageEvaluationResult
.MaybeFlagged;
301
return
HazardousUsageEvaluationResult
.Unflagged;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (16)
38
private readonly ImmutableDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
>.Builder _hazardousUsageBuilder;
62
this._hazardousUsageBuilder = ImmutableDictionary.CreateBuilder<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
>();
86
public ImmutableDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> HazardousUsages => this._hazardousUsageBuilder.ToImmutable();
392
HazardousUsageEvaluationResult
? result =
394
if (result is not null and not
HazardousUsageEvaluationResult
.Unflagged)
416
HazardousUsageEvaluationResult
? result =
418
if (result is not null and not
HazardousUsageEvaluationResult
.Unflagged)
598
Func<PropertySetAbstractValue,
HazardousUsageEvaluationResult
> evaluationFunction,
604
HazardousUsageEvaluationResult
result =
HazardousUsageEvaluationResult
.Unflagged;
609
HazardousUsageEvaluationResult
evaluationResult = evaluationFunction(locationAbstractValue);
619
HazardousUsageEvaluationResult
result)
621
if (result !=
HazardousUsageEvaluationResult
.Unflagged)
624
if (this._hazardousUsageBuilder.TryGetValue(key, out
HazardousUsageEvaluationResult
existingResult))
675
foreach (KeyValuePair<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> kvp in subResult.HazardousUsages)
677
if (this._hazardousUsageBuilder.TryGetValue(kvp.Key, out
HazardousUsageEvaluationResult
existingValue))
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisResult.cs (2)
19
ImmutableDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> hazardousUsages,
30
public ImmutableDictionary<(Location Location, IMethodSymbol? Method),
HazardousUsageEvaluationResult
> HazardousUsages { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetCallbacks.cs (10)
121
public static
HazardousUsageEvaluationResult
HazardousIfAllFlaggedOrAllUnknown(
134
public static
HazardousUsageEvaluationResult
HazardousIfAllFlaggedAndAtLeastOneKnown(
150
public static
HazardousUsageEvaluationResult
HazardousIfAllFlaggedOrAllUnknown(
167
public static
HazardousUsageEvaluationResult
HazardousIfAllFlaggedAndAtLeastOneKnown(
179
private static
HazardousUsageEvaluationResult
HazardousIfAllFlagged(
187
?
HazardousUsageEvaluationResult
.MaybeFlagged
188
:
HazardousUsageEvaluationResult
.Unflagged;
209
return
HazardousUsageEvaluationResult
.Flagged;
213
return
HazardousUsageEvaluationResult
.Unflagged;
218
return
HazardousUsageEvaluationResult
.MaybeFlagged;