Refactor code structure for improved readability and maintainability; optimize performance in key functions.

This commit is contained in:
master
2025-12-22 19:06:31 +02:00
parent dfaa2079aa
commit 4602ccc3a3
1444 changed files with 109919 additions and 8058 deletions

View File

@@ -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)