Refactor code structure for improved readability and maintainability; optimize performance in key functions.
This commit is contained in:
@@ -46,7 +46,8 @@ public sealed record SmartDiffSarifInput(
|
||||
IReadOnlyList<HardeningRegression> HardeningRegressions,
|
||||
IReadOnlyList<VexCandidate> VexCandidates,
|
||||
IReadOnlyList<ReachabilityChange> ReachabilityChanges,
|
||||
VcsInfo? VcsInfo = null);
|
||||
VcsInfo? VcsInfo = null,
|
||||
string? DeltaVerdictReference = null);
|
||||
|
||||
/// <summary>
|
||||
/// VCS information for SARIF provenance.
|
||||
@@ -244,7 +245,7 @@ public sealed class SarifOutputGenerator
|
||||
// Material risk changes
|
||||
foreach (var change in input.MaterialChanges)
|
||||
{
|
||||
results.Add(CreateMaterialChangeResult(change));
|
||||
results.Add(CreateMaterialChangeResult(change, input.DeltaVerdictReference));
|
||||
}
|
||||
|
||||
// Hardening regressions
|
||||
@@ -277,7 +278,7 @@ public sealed class SarifOutputGenerator
|
||||
return [.. results];
|
||||
}
|
||||
|
||||
private static SarifResult CreateMaterialChangeResult(MaterialRiskChange change)
|
||||
private static SarifResult CreateMaterialChangeResult(MaterialRiskChange change, string? deltaVerdictReference)
|
||||
{
|
||||
var level = change.Direction == RiskDirection.Increased ? SarifLevel.Warning : SarifLevel.Note;
|
||||
var message = $"Material risk change for {change.VulnId} in {change.ComponentPurl}: {change.Reason}";
|
||||
@@ -288,6 +289,13 @@ public sealed class SarifOutputGenerator
|
||||
ArtifactLocation: new SarifArtifactLocation(Uri: change.FilePath))))
|
||||
: (ImmutableArray<SarifLocation>?)null;
|
||||
|
||||
var properties = deltaVerdictReference is null
|
||||
? null
|
||||
: ImmutableSortedDictionary.CreateRange(StringComparer.Ordinal, new[]
|
||||
{
|
||||
KeyValuePair.Create("deltaVerdictRef", (object)deltaVerdictReference)
|
||||
});
|
||||
|
||||
return new SarifResult(
|
||||
RuleId: "SDIFF001",
|
||||
Level: level,
|
||||
@@ -297,7 +305,8 @@ public sealed class SarifOutputGenerator
|
||||
{
|
||||
KeyValuePair.Create("purl", change.ComponentPurl),
|
||||
KeyValuePair.Create("vulnId", change.VulnId),
|
||||
}));
|
||||
}),
|
||||
Properties: properties);
|
||||
}
|
||||
|
||||
private static SarifResult CreateHardeningRegressionResult(HardeningRegression regression)
|
||||
|
||||
Reference in New Issue
Block a user