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