# Functions
Indent adds consistent indentation to a block of text.
Matches applies a list of map of param -> regexes to a statement structure.
MergeStatements merges a variable number of statements.
NewCommitSet creates a new empty CommitSet.
NewMergeLog creates a new instance of a MergeLog.
NewNullPolicy constructs a new NullPolicy instance.
NewSmartPolicy constructs a new SoftPolicy instance.
NewSoftPolicy constructs a new SoftPolicy instance.
NewStatementFromFile creates a statement.
NewStrictPolicy creates and initializes a new StrictPolicy instance.
StringSliceContains tells whether a contains x.
# Structs
Artifact represents a binary artifact (e.g., a .jar, a POM).
A Bug represents vulnerabilities (as represented in the output obtained from the Steady backend).
Commit identifies a single commit in a repository.
CommitSet implements a set of (unique) Commits.
ConstructChange represents a commit fix in the vuln database.
Fix represents a group of commits that implement the fix for a given vulnerability.
MergeLog is a collection of merge records, documenting how a merge operation was performed.
A MergeLogEntry represents the results of a merge operation Must identify which element from each statments are dropped or kept.
Metadata represents the commit relating to the statement.yaml itself.
A Note represents a description that accompanies a statement; it can have a set of links and a free-text comment.
NullPolicy implements a policy that does nothing.
Policy represents a way to reconcile non-independent statements and how to reduce sets of statements merging those that can be reconciled.
ReconcileResult encodes the result of a reconcile operation.
SmartPolicy reconciles statements trying hard to merge different sources.
SoftPolicy reconciles statements as follows:
- Aliases: union
- Notes: union (to be defined)
- Fixes: union, but keep those from higher priority source in case of conflict
- AffectedArtifacts: union, but keep those from higher priority source in case of conflict
*/.
Statement represents a vulnerability statement.
StrictPolicy refuses to solve conflicts and does not perform any reconcile action; In other words, non-independent statements are not reconciled, but reported to the user who might then want to merge them manually.
# Interfaces
The StatementReconciler interface defines the types that have the capability to reconcile statements that are not independent and how to reduce sets of statements by applying such reconcile operation to non-independent statements.
# Type aliases
Alias represents other alternative identifiers of the vulnerability.